Locally scoped & typed jsxFactory

Suggestion

🔍 Search Terms

jsx jsxFactory
I found related tickets, but this ticket information is very long winded and I believe this requires its own ticket:

https://github.com/microsoft/TypeScript/issues/21699
https://github.com/microsoft/TypeScript/issues/14729
https://github.com/microsoft/TypeScript/issues/15217
https://github.com/microsoft/TypeScript/issues/29376

✅ Viability Checklist

My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

This would be a type level only change, updating existing behaviour to be more inline with direct local scope types instead of reliance on global scope, for this reason, I believe all of the above items are true.

⭐ Suggestion

Type completion from a defined jsxFactory function definition
📃 Motivating Example

Here is a type definition covering the internal process that occurs within the defined createNode function in the same file.
Sample:
interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
  <TO extends O, S extends CreateNodeFragmentSourceFirstStage>(source: S, options?: TO, ...children: C[]): FragmentVNode & {
    source: S;
    options: TO;
  };
}

GitHub Link
The linked type definition allows for complex types to be defined, including static type resolution for leaves or scalar values:
it.concurrent.each<[SourceReference]>([
  [Symbol("Unique Symbol")],
  [true],
  [false],
  [1],
  [0],
  [1n],
  [0n],
  [""],
  ["Hello!"],
])("%p should produce a scalar node", async <I extends SourceReference>(input: I ) => {
  const output = createNode(input);
  expect(isScalarVNode(output)).toEqual(true);
  const source: I = output.source;
  expect(source).toEqual(input);
});

GitHub Link
From the perspective of a consumer, all of the above values will produce an object that contains source that matches the original input value. These nodes will never produce children so the type definition accounts for this by using
{
  children: never;
}

This is done by this section of the definition
interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
<TO extends O, S extends SourceReference>(source: S): VNode & {
    source: S;
    options: never;
    scalar: true;
    children: never;
  };
  <TO extends O, S extends SourceReference>(source: S, options?: TO): VNode & {
    source: S;
    options: TO;
    scalar: true;
    children: never;
  };
  <TO extends O, S extends SourceReference>(source: S, options?: TO, ...children: C[]): VNode & {
    source: S;
    options: TO;
    scalar: false;
  };
}

From a type perspective, the the values that are known by the caller are returned in the return type. We also get whether or not children is available (or the other side of this, whether the node is a scalar node, where no children were passed)
Given jsxFactory can be typed using this function, then children itself can also be typed
children not typed:
interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
  <TO extends O, S extends CreateNodeFragmentSourceFirstStage>(source: S, options?: TO, ...children: C[]):
  FragmentVNode & {
    source: S;
    options: TO;
  }
}

GitHub Link
children typed:
interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
  <TO extends O, S extends CreateNodeFragmentSourceFirstStage, TC extends C = C>(source: S, options?: TO, ...children: TC[]): FragmentVNode & {
    source: S;
    options: TO;
    children: AsyncIterable<ResolveNodeType<TC>[]>;
  };
}

Given the above type was implemented, these types would be able to:

Know what children will be yielded at type level, meaning this extract this statically using ts-morph or another tool.
Restrict at compile time input state machines, if the input types are restricted for a node it could mean a full restriction in types throughout an entire structure. Typescript itself could eliminate code based on never alone
Given the previous point, at development time this can be utilised while typing to improve some dev ex as side processes could be emulating these restrictions.

While the above code is scalar values, the static leaves of a state tree, functions can be fully typed as well... only if the first point is true.
While it would make this definition vastly more complex, I believe it still is possible from a pure type perspective
Currently a function returns a fragment node, which produces only state through children.
it.concurrent.each<[CreateNodeFragmentSourceFirstStage]>([
  [() => {}],
  [Promise.resolve()],
  [Fragment],
])("%p should produce a fragment node", async (input) => {
  const output: FragmentVNode = createNode(input);
  expect(isFragmentVNode(output)).toEqual(true);
});

GitHub Link
The matching types for functions and promises currently drop the type of children once passed.
export type CreateNodeFragmentSourceFirstStage =
  | Function
  | Promise<unknown>
  | typeof Fragment;

interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
  <TO extends O, S extends CreateNodeFragmentSourceFirstStage>(source: S, options?: TO, ...children: C[]):
  FragmentVNode & {
    source: S;
    options: TO;
  };
}

The retain these we need to type children only additionally:
export type CreateNodeFragmentSourceFirstStage =
  | Function
  | Promise<unknown>
  | typeof Fragment;

interface CreateNodeFn<
  O extends object = object,
  S = Source<O>,
  C extends VNodeRepresentationSource = VNodeRepresentationSource
> {
  <TO extends O, S extends CreateNodeFragmentSourceFirstStage, TC extends C = C>(source: S, options?: TO, ...children: TC[]): FragmentVNode & {
    source: S;
    options: TO;
    children: AsyncIterable<ResolveNodeType<TC>[]>;
  };
}

Because the types of all children nodes will be typed by the time they are defined as vnodes, all types will be complete.
From a top level at this point we would be able to statically resolve a complete type set from a tree of components.
💻 Use Cases

Local string types:
https://github.com/microsoft/TypeScript/issues/15217
Imported string | number | bigint | symbol | boolean types:
vnode defines "token" types, which allows definition of a partial component with no implementation.
<OfferCatalog>
    <Product
      name="This is my name 1"
      sku="SKU 123"
    >
        <Brand name="Some brand" />
    </Product>
    <Product
      name="This is my name 2"
      sku="SKU 124"
    >
        <Brand name="Some brand" />
    </Product>
    <Product
      name="This is my name 3"
      sku="SKU 125"
    >
        <Brand name="Some other brand" />
    </Product>
</OfferCatalog>
<Order
  identifier="1"
  orderDate={new Date()}
>
    <Invoice identifier="2313132">
        <PaymentMethod identifier="123243234" />
    </Invoice>
    <Product
      sku="SKU 125"
    />
    <DeliveryMethod identifier="123122222">
        <Country name="New Zealand" />
    </DeliveryMethod>
</Order>

GitHub Link
This can be used to directly create a set of jsx based components without implementation, if these were fully typed, this could be read statically excluding the value of Date (while still knowing it was a Date)
<scxml>

    <datamodel>
        <data id="eventStamp"/>
        <data id="rectX" expr="0"/>
        <data id="rectY" expr="0"/>
        <data id="dx"/>
        <data id="dy"/>
    </datamodel>

    <state id="idle">
        <transition event="mousedown" target="dragging">
            <assign location="eventStamp" expr="_event.data"/>
        </transition>
    </state>

    <state id="dragging">
        <transition event="mouseup" target="idle"/>
        <transition event="mousemove" target="dragging">
            <assign location="dx" expr="eventStamp.clientX - _event.data.clientX"/>
            <assign location="dy" expr="eventStamp.clientY - _event.data.clientY"/>
            <assign location="rectX" expr="rectX - dx"/>
            <assign location="rectY" expr="rectY - dy"/>
            <assign location="eventStamp" expr="_event.data"/>
        </transition>
    </state>

</scxml>

GitHub Link
The above code is a jsx depending on types defined within the same module.
scxml: SCXMLAttributes;
datamodel: DataModelAttributes;
data: DataAttributes;
state: StateAttributes;
transition: TransitionAttributes;
assign: AssignAttributes;

GitHub Link
Actions can also be defined statically, which if typed, would be readable statically.
export const Action: ActionNode = createToken(ActionSymbol);

GitHub Link
Related Tickets
Given the implementation of https://github.com/microsoft/TypeScript/issues/34319   an implementor will be able to use
function h(source, options, ...children) implements CreateNodeFn;

Which can then be restricted by providing generics.

I believe this to be a complete typescript type only jsx implementation.
https://gist.github.com/fabiancook/6be2136396cd1b62e47fd4395f4d4736
If h were stubbed and branded as this CreateNodeFn, we can resolve the state tree statically.
These types are backed by a runtime implementation that has matching functionality. This includes the children resolution pattern mentioned in my previous comment.
I will try this with https://github.com/microsoft/TypeScript/pull/29818 and see how I go!

Here is a live code sandbox & module with the types isolated for the h function.
https://codesandbox.io/s/cool-pond-yqnkj?file=/src/index.ts
https://www.npmjs.com/package/@virtualstate/typescript
I'm not certain if I have covered every possible case, but I know at least at the surface level these types are working the way I expect them to (showing meta can be hovered over and the returned type from the function component above is used):


Parse.User.logOut doesn't destroy current user?

When I try to logOut a user, it seems like the session is destroyed but a call to Parse.User.Current() returns the same old user.  The docs say that future calls to current() should return null.  When I revert back to the previous version I was using (1.6.5) this issue doesn't exist.
Parse.User.logOut().then(

		(success) => {

			console.log('successfully logged out');
			var user = Parse.User.current();
			console.log('Parse User is now: ', user);  //the same user!!
		},
		(error) => {
			console.log('error logging out.');
		});

Also wondering why there is a difference in the versioning of this module when compared to what is listed for the JS SDK listed on Parse.com (https://www.parse.com/docs/downloads). Parse.com shows 1.6.14, while the npm module is on 1.7.0

I can confirm issue is introduced in 1.7.0. When I revert back to 1.6.14 calling Parse.User.logOut() and then Parse.User.Current() correctly returns null.
About the versioning, I just think they didn't update it. You should refer to https://github.com/ParsePlatform/Parse-SDK-JS/releases instead and you'll see latest version is .1.7.0.

@andrewimm: I investigated the issue in 1.7.0.
When calling Parse.User.current() right after Parse.User.logOut() promise is resolved, currentUserCache is not null: https://github.com/ParsePlatform/Parse-SDK-JS/blob/master/src/ParseUser.js#L755
Do you think refactoring made to promises may have introduced this issue?

@tristanbbq the cache gets reset here: https://github.com/ParsePlatform/Parse-SDK-JS/blob/master/src/ParseUser.js#L921
and this test should catch if the cache was not null: https://github.com/ParsePlatform/Parse-SDK-JS/blob/master/src/tests/ParseUser-test.js#L270
I can't reproduce on my own with 1.7.0, can you provide more information? Are either of you using parse-react, or anything else that wraps the default functionality of Parse.User.logOut?

@andrewimm: you're right, your test covers the case. Not sure what's going on, but I do am using<EMAIL_ADDRESS>

While my usage is in conjunction with react, I'm just using the parse
module, not parse-react and no wrappers.
I will try some isolated tests using just the module to see what might be
going on.
On Thursday, February 11, 2016, Tristan Tran<EMAIL_ADDRESS>wrote:

@andrewimm https://github.com/andrewimm: you're right, your test covers
the case. Not sure what's going on, but I do am using<EMAIL_ADDRESS>—
Reply to this email directly or view it on GitHub
https://github.com/ParsePlatform/Parse-SDK-JS/issues/204#issuecomment-183171959
.

--
Rusil G. Patel
[image: LinkedIn] https://www.linkedin.com/pub/rusil-g-patel/8/32a/739

@andrewimm ok so I uninstalled parse-react and re-tested 1.7.0, and no issues, currentUserCache is properly null after logout.
I would have thought @ndnguru was also using parse-react, but that's not the case :confused:

I believe there is a bug in parse-react regarding the promise handling. I want to take a look and see if I can patch that, but I don't believe there is a bug in the core SDK.
@ndnguru if you can find a reliable repro, that'll be helpful in debugging this peculiarity.

@andrewimm sounds good :+1: thanks for following up

@andrewimm : FYI it's been already raised in parse-react: https://github.com/ParsePlatform/ParseReact/issues/161

Upon further inspection, I found that I was including both parse and parse-react in a component.  Although I stored references separately,  the parse-react was causing the issue.  Why would that be?  After I commented out the suspect line, the problem subsided.
Thoughts?

@ndnguru well, at least everything makes sense now :)
On my side, I'm not using parse-react anymore so problem is fixed. If you want to keep using parse-react, I suggest you revert parse-sdk-js to 1.6.14 for now.

@andrewimm I think we can close this issue, as @ndnguru investigation confirms it's an issue with parse-react. It's already raised: https://github.com/ParsePlatform/ParseReact/issues/161

This issue is also happening with Parse version 1.6.0. See what I commented:
https://github.com/ParsePlatform/Parse-SDK-JS/issues/200

Why are you clousing this @andrewimm. I'm not using parse-react and I have the same issue.

Sorry @albertolive , I did that before I saw your comment. I was doing it in response to Tristan's comment above that everything here was resolved. Can you please open a new issue for discussion, since it seems to be a different issue?

No problem! Thank you!


expected test outputs are changing for 2.12.6

in the Scala 2.12 community build, I had to make these changes to v1 and v2 of scalameta, respectively, to get them green on a recent Scala 2.12.x nightly (namely 2.12.6-bin-84112e8):

https://github.com/scalacommunitybuild/scalameta/commit/75ac47a6925a8ee349130316a9da162c4f9e8f7e
https://github.com/scalacommunitybuild/scalameta/commit/5d120ed666029df0b556f02004afc014a1a4af84

the relevant PR is https://github.com/scala/scala/pull/6413, specifically https://github.com/scala/scala/pull/6413/commits/94030c28d5f484b7534ece590394f6351bdfa6ac /cc @retronym

That looks like the intended result of that change.

Thanks for the heads up!

2.12.6 is now released.

Thanks for the heads up @SethTisue I opened #1557 upgrading to 2.12.6


Lab3. Roman Soldatov

Snyk fails because around 2 weeks ago they found new vulnerability. However, there is no implemented fix for libraries yet. So, I can't fix it since developers haven't update their libraries which I use.


Crashes On Startup

I tried setting up the nadekobot and when I went to start it i got this error. I tried messing with the credentials, as its suggesting a error with coding and over 2 hours ive got no where.

00:53:45 BotCredentials | Unsupported JSON token 'EndObject' was found. Path '', line 23 position 1.
00:53:45 BotCredentials | System.FormatException: Unsupported JSON token 'EndObject' was found. Path '', line 23 position 1.
at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at NadekoBot.Core.Services.Impl.BotCredentials..ctor()
Unhandled Exception: System.FormatException: Unsupported JSON token 'EndObject' was found. Path '', line 23 position 1.
at Microsoft.Extensions.Configuration.FileConfigurationProvider.Load(Boolean reload)
at Microsoft.Extensions.Configuration.ConfigurationRoot..ctor(IList`1 providers)
at Microsoft.Extensions.Configuration.ConfigurationBuilder.Build()
at NadekoBot.Core.Services.Impl.BotCredentials..ctor()
at NadekoBot.Core.Services.ShardsCoordinator..ctor()
at NadekoBot.Program.Main(String[] args)
at NadekoBot.Program.(String[] args)

and then it will force close and leave me frustrated

Open up credentials.json and check line 23. You might be missing/have an extra quotation mark or bracket.
Example:

@lukes312 did this solved your issue?

@Kwoth @lukes312 think it's safe to say the issue is solved :-) close this s.v.p.~~~


Symbols no longer found

Since updating VSCode to 1.28.2 I get "No symbols found" for coffeescript files.

Hi, what command did you performed? (Search for symbol across files? Or within a file?)

Nothing shows in the outline ("No symbols found in document") or breadcrumbs, and cmd + shift + o shows "No symbols found"

Hi, I just tried locally, and it works for me. I have a brand-new installed macOS and VSCode.

Visual Studio Code 1.28.2
coffeescript-support 0.1.4

Would you also try a beta version of 0.2.0? (In fact I haven't touch the beta for long time. I'll probably just ship it recently)
https://github.com/chitsaou/vscode-coffeescript-support/releases

Ok strange, it is now working for me (after giving it time and nothing else..) Thanks for the prompt response. Closing this.


feat: support new config system

Supporting eslint's new config system of eslint.
Note that the legacy config system always has require()d plugins and sharable configs, while the new system is ESM.
Thus conditional export is great to keep compatibility.
plugin: protocol(e.g. plugin:react/recommended) is not valid any more. Thus the new plugin doesn't have configs.
Sharable configs for the new config system are now exported as eslint-plugin-react/all, eslint-plugin-react/recommended, eslint-plugin-react/jsx-runtime

um, what? The new system is ESM? Why can’t it be CJS?

@ljharb Your point is right.
Though eslint recommends ESM for the new config system, it supports CJS as well.
So, in conclusion,
if ( require()d ){
  the user is either using legacy or new config system.
} else if( import()ed ) {
  the user is using new config system
}

For supporting the new config system in CJS, I patched .mjs to .js in the new commit.
And eslint-plugin-react/new would be for users who want to use CJS for the new config system.

Native ESM doesn't have any benefits over CJS (or transpiled ESM), and lacks the majority of the relevant tooling capabilities, so I'd strongly prefer to avoid using it entirely - let's keep everything in CJS.
What is the benefit of the new config system? Why does an eslint user care what config system this plugin is using?

What is the benefit of the new config system?

You may want to read these if you haven't.

https://eslint.org/blog/2022/08/new-config-system-part-1/
https://eslint.org/blog/2022/08/new-config-system-part-2/
https://eslint.org/blog/2022/08/new-config-system-part-3/

I added a new dependency named globals.
This requires higher engines limitation.
How would we do?

Increase engines.
Or embed a part of globals. This would not be a hard task.

That issue benefits shared configs, not plugins.

Okay, I rewrote the config without files and globals, and README as well.
Would you please check them out?


WhatsApp join channel fails and doesn

Describe the bug
First I setup WhatsApp with the conversation name :
[[gateway.inout]]
account="whatsapp.webWhatsApp"
channel="MTE Classe 2020-2022"

Then it complains "file to join"... use JID provided above. At first (or sometime, I haven't figured out a pattern), the JID is indeed suggested. Then I use it :
 [[gateway.inout]]
account="whatsapp.webWhatsApp"
<EMAIL_ADDRESS>
And it works, but only once. On the next reconnect, it again complains that it "fails to join" but not providing a new (updated ?) JID. Also, it seems to fail because :
[main:matterbridge.go:68] Starting gateway failed: Bridge whatsapp.webWhatsApp failed to join channel: account doesn't belong to group with jid<EMAIL_ADDRESS>Then, when I set the channel to the name like at first, it doesn't suggest the JID anymore...
To Reproduce
Set WhatsApp channel to name of group : get JID, use JID, connect to it once, disconnect. Connect to it again : it doesn't work anymore, but it doesn't suggest a new JID, even when setting the channel back to the name of the group.
Expected behavior
I expect, after a JID is provided correctly, for it to work every time in the future. And when setting the channel to the name of the group, to suggest the JID every time.
Screenshots/debug logs
Trying to connect with the name of the group as channel, after it has worked once and now doesn't work and doesn't suggest the JID :
[0001] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:68] Connecting to WhatsApp..
[0001] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:78] WhatsApp connection successful
[0001] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:86] Restoring WhatsApp session..
[0002] DEBUG whatsapp:     [Connect:bridge/whatsapp/whatsapp.go:97] Session restored successfully!
[0003]  INFO whatsapp:     [joinChannels:bridge/bridge.go:77] whatsapp.webWhatsApp: joining MTE Class 2020-2022 (ID: MTE Class 2020-2022whatsapp.webWhatsApp)
[0003] DEBUG whatsapp:     [func1:bridge/whatsapp/whatsapp.go:127] Getting user avatars..
[0003] DEBUG whatsapp:     [func1:bridge/whatsapp/whatsapp.go:139] Finished getting avatars..
[0003] FATAL main:         [main:matterbridge.go:68] Starting gateway failed: Bridge whatsapp.webWhatsApp failed to join channel: please specify group's JID from the list above instead of the name 'MTE Class 2020-2022'

Environment (please complete the following information):

OS: linux
Matterbridge version: version: 1.18.3 8b26e42a
If self compiled: NA, used matterbridge-1.18.3-linux-64bit binaries

Additional context
[discord.testDiscord]
Token=""
Server=""
RemoteNickFormat="[@{NICK} from {BRIDGE}] "
[discord.mteDiscord]
Token=""
Server=""
RemoteNickFormat="[@{NICK} from {BRIDGE}] "
[discord.pofDiscord]
Token=""
Server=""
RemoteNickFormat="[@{NICK} from {BRIDGE}] "
[whatsapp.webWhatsApp]
Number=""
SessionFile=""
QrOnWhiteTerminal=false
RemoteNickFormat="[@{NICK} from {BRIDGE}] "
[api.FBmessenger]
BindAddress="<IP_ADDRESS>:4242"
Buffer=1000
RemoteNickFormat="[@{NICK} from {BRIDGE}] "
----------------------End of provider configurations ---------------------------------
--------------------------------------------------------------------------------------
#---------------------------------------------------------------------------------------
#--------------------------Beginning of Bridges ----------------------------------------
-------------------------- MTE WhatsApp Discord bridging -----------------------------
[[gateway]]
name="mte-whatsapp-discord"
enable=true
[[gateway.inout]]
account="discord.mteDiscord"
channel="general"
[[gateway.inout]]
account="whatsapp.webWhatsApp"
<EMAIL_ADDRESS>--------------------------------------------------------------------------------------
--------------------------Principles of finance messenger and discord link------------
[[gateway]]
name="pof"
enable=true
[[gateway.inout]]
account="discord.pofDiscord"
channel="general"
[[gateway.inout]]
account="api.FBmessenger"
channel="pof"
--------------------------------------------------------------------------------------
----------------------Matterbridge FB messenger debug & config gateway :-------------
[[gateway]]
name="FBgateway"
enable=true
[[gateway.inout]]
account="discord.testDiscord"
channel="general"
[[gateway.inout]]
account="api.FBmessenger"
channel="api"
--------------------------------------------------------------------------------------
------------------------ End of bridges-----------------------------------------------
--------------------------------------------------------------------------------------

I'm wondering if it's maybe to do with WhatsApp not being connected to the phone anymore... Does it complain about that specifically when that is the problem ?

after you scan the code and connect the matterbridge you need to leave the phone on non-stop

Hmmm yes that might be it... I'll check if this problem happens again, whether when I re-open WhatsApp on my phone it fixes it or not.

sorry if that might be obvious but "non-stop" mod is that leave the phone connected or are you talking about somethings else?
I have the same issue and try to resolved it. running on win10.

It does seem like the problem was that the phone was not connected anymore. I'll close this, maybe the error message could have been more precise, but that's probably upstream ... ?


Simplify backend generation to avoid port publishing

In order to avoid port publishing when using Swarm services, the backend generation is based upon service name and service port (given by the interlock.port label on service).
The example has been updated accordingly.

How do we handle backward compatibility and non-Swarm mode here?

As far as I understood, I didn't touch the pure container part, hence the backward compatibility should not be impacted. But maybe you have a use case in mind where it does not work?

Ah! One more thing, I only treated the swarm services case, for container, I haven't looked at a solution to avoid publishing port.

So I'm testing this PR out with a compose stack deployment (docker stack). It seems like it interlock can't find the exposed ports, even though docker container inspect for the container returns:
"Ports": {
                "3000/tcp": null
}

I'm deploying with interlock in a compose file with:
interlock:
    image: sedouard/interlock:swarm-mode # <- just a build of this pull-request source branch
    command: -D run -c /etc/interlock/config.toml
    tty: true
    deploy:
      mode: replicated
      replicas: 2
      placement:
        constraints:
          - node.labels.type == web-server
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:rw
    networks:
      - redis-network
    depends_on:
      - nginx
    ports:
        - 8080:8080
    environment:
        INTERLOCK_CONFIG: |
            ListenAddr = ":8080"
            DockerURL = "unix:///var/run/docker.sock"
            PollInterval = "2s"
            [[Extensions]]
            Name = "nginx"
            ConfigPath = "/etc/nginx/nginx.conf"
            PidPath = "/var/run/nginx.pid"
            TemplatePath = ""
            MaxConn = 1024
            Port = 80

The line of code is:
https://github.com/vincentlepot/interlock/blob/20c3e0e1f6739eb388f5476940a2aef630b12467/ext/lb/nginx/generate.go#L89
where it seems to just be looking to see if there are >0 ports in the Ports bag

Silly me -- my labels weren't under the deploy key.

cool :). I'm not sure we can merge this until the non swarm mode issue is addressed.

What's the problem with non swarm mode case?

Sorry I haven't looked here for a while since I used another solution for my use case. But if you need me to finish this PR, just tell me what you think is missing


[BUG] crane export hangs on namespaces with high number of imagestreamtags

What version of crane are you running, and what are your clutsters+platform
crane version
crane:
	Version: v0.0.3
crane-lib:
	Version: v0.0.6

Running crane cli and exporting a namespace on OpenShift 4.8.23
What did you expect to happen?
The crane export command to complete
What actually happened?
The crane command hangs in the adding resource stage, the command is stuck when trying to add image stream tags on namespaces with a lot of these objects. The namespace had 2707 image stream tags. When exporting a namespace with a small amount of image stream tags, the command works.
This did not happen on the previous version of crane-lib(v0.0.5). (I used the exact same namespace)
Please include any relevant logs or errors
DEBU[0005] processing resource: image.openshift.io/v1.ImageStream
INFO[0006] adding resource: imagestreams to the list of GVRs to be extracted
DEBU[0006] processing resource: image.openshift.io/v1.ImageStreamTag

This appears related to https://github.com/konveyor/crane/commit/94604ca969c2e7c193d2fa00dfebdd5b882d0a13 where we made the update so we could get all of the information associated with imagestreams.
Could you please verify whether crane export --namespace ${NAMESPACE_WITH_TONS_OF_IMAGESTREAMTAGS} completes or not, ie. give it as much time as reasonable? We may need to show progress for this case specifically...but it would be really helpful to know if it ever completes.

This appears related to 94604ca where we made the update so we could get all of the information associated with imagestreams.
Could you please verify whether crane export --namespace ${NAMESPACE_WITH_TONS_OF_IMAGESTREAMTAGS} completes or not, ie. give it as much time as reasonable? We may need to show progress for this case specifically...but it would be really helpful to know if it ever completes.

It completes after roughly 10 to 15 minutes, which is quite unreasonable compared to the old version. If there's no way of making it go quicker, maybe adding a flag that will skip these resources is a solution? I'm not really interested in the image stream tags anyways because the relevant ones are mentioned in the image stream object.

ImageStreamTags in the previous version were missing important information from the resource.
I agree that 10-15 minutes is unacceptable. Need to think about how best to handle this...see if there is anything we can do to speed it up.

/kind bug
/priority major
/triage accepted

@nikita698 are you able to share a method for creating this scenario with "a high number of imagestreamtags"? Thank you.
I think the easy answer is to allow the user to drop the individual get requests for ImageStreamTags, but want to investigate some more.

@nikita698, after discussion with the team, we prefer the solution where we solve the getting rate limited into oblivion versus the new flag. #133 should address the problem

Just to add, please feel free to comment with results, and reopen if it doesn't adequately address it. Hopefully it takes a good deal less than 10-15 minutes now.


Update target json for consistency

A continuation of https://github.com/phil-opp/blog_os/pull/396

Thanks a lot! I merged it into the builtin-lld branch.

Merged as part of #400


Can not compile appliaction

:react-native-camera-kit:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/home/github/mobile-app/node_modules/react-native-camera-kit/android/src/main/java/com/wix/RNCameraKit/RNCameraKitPackage.java:54: error: method does not override or implement a method from a supertype
    @Override

react native camera kit v5.3.6
react 16.0.0-alpha.12
react native 0.47.1

same


device-control templates

Request:

Added get_json method.
Applied mock route to read get_json

Templates:

Fixed distribution of wifi-setup.html template.
Added draft for device-control.html template.
Added licence footer to templates

yipi!


feat: wait for password-command to exit

Useful for commands that requires interactive input
tested on Linux

Thanks for the PR - I think this is a good improvment.
It seems to me that this PR doesn't change the wait-behavior. Instead it seem that now only stdout is used to read the password from while stderr is not catched anymore and stdin can now be used to manually input something into the command (instead of forcing the command to abort, which was the previous behavior). Is this correct?
Can you please also add a changelog entry?

now only stdout is used to read the password from while stderr is not catched anymore and stdin can now be used to manually input something into the command (instead of forcing the command to abort, which was the previous behavior)

Yes. Also, stderr, for example in keepassxc-cli, is used to show password prompt.
I think maybe it's a good idea to exit, if command exited with non-zero code, will do


hardware-exporter crashes after connecting to redfish on Huawei 2288H V5

Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Login returned code 201: {"@odata.context":"/redfish/v1/$metadata#Session.Session","@odata.id":"/redfish/v1/SessionService/Sessions/df55de7604062a10","@odata.type":"#Session.v1_0_2.Session","Id":"df55de7604062a10","Name":"User Session","Oem":{"Huawei":{"UserAccount":"Canonical","LoginTime":"2023-11-16T16:14:16+00:00","UserId":5,"UserValidDays":null,"AccountInsecurePromptEnabled":false,"UserIP":"redacted","UserTag":"Redfish","MySession":true,"UserRole":["Administrator"]}}}
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Getting redfish sensor info...
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Response Time for GET to /redfish/v1/: 0.09386513195931911 seconds.
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/Chassis
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Response Time for GET to /redfish/v1/Chassis: 0.05613565444946289 seconds.
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/Chassis/1
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Response Time for GET to /redfish/v1/Chassis/1: 0.2747149337083101 seconds.
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/Chassis/1/Power
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Response Time for GET to /redfish/v1/Chassis/1/Power: 0.12008355371654034 seconds.
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/Chassis/1/Thermal
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Response Time for GET to /redfish/v1/Chassis/1/Thermal: 0.18710010312497616 seconds.
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Getting processor data...
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Attempt 1 of /redfish/v1/
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/: 0.03650726191699505 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems: 0.05554169788956642 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems/1/Processors
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems/1/Processors: 0.07191604748368263 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems/1/Processors/1
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems/1/Processors/1: 0.05324621684849262 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems/1/Processors/2
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems/1/Processors/2: 0.05895916186273098 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Getting storage controller data...
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/: 0.061779825016856194 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems: 0.014882449060678482 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/Systems/1/Storage
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for GET to /redfish/v1/Systems/1/Storage: 0.040700653567910194 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Attempt 1 of /redfish/v1/SessionService/Sessions/df55de7604062a10
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO Response Time for DELETE to /redfish/v1/SessionService/Sessions/df55de7604062a10: 0.06376663781702518 seconds.
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:18 INFO User logged out: {"error":{"code":"Base.1.0.GeneralError","message":"A general error has occurred. See ExtendedInfo for more information.","@Message.ExtendedInfo":[{"@odata.type":"/redfish/v1/$metadata#MessageRegistry.1.0.0.MessageRegistry","MessageId":"Base.1.0.Success","RelatedProperties":[],"Message":"Successfully Completed Request","MessageArgs":[],"Severity":"OK","Resolution":"None"}]}}
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: Traceback (most recent call last):
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     return _run_code(code, main_globals, None,
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     exec(code, run_globals)
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/__main__.py", line 206, in <module>
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     main()
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/__main__.py", line 202, in main
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     start_exporter(exporter_config)
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/__main__.py", line 174, in start_exporter
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     exporter.register(collector)
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/exporter.py", line 45, in register
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     REGISTRY.register(collector)
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_client/registry.py", line 40, in register
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     names = self._get_names(collector)
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_client/registry.py", line 80, in _get_names
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     for metric in desc_func():
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/core.py", line 114, in collect
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     payloads = self.fetch()
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/collector.py", line 972, in fetch
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     ) = redfish_helper.get_storage_controller_data()
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/prometheus_hardware_exporter/collectors/redfish.py", line 256, in get_storage_controller_data
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     storage_ids: List[str] = redfish_utilities.collections.get_collection_ids(
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:   File "/var/lib/juju/agents/unit-hardware-observer-10/charm/venv/redfish_utilities/collections.py", line 45, in get_collection_ids
Nov 16 16:14:18 brtlvmrs0807co python3[583891]:     raise RedfishCollectionNotFoundError( "Service does not contain a collection at URI {}".format( collection_uri ) )
Nov 16 16:14:18 brtlvmrs0807co python3[583891]: redfish_utilities.collections.RedfishCollectionNotFoundError: Service does not contain a collection at URI /redfish/v1/Systems/1/Storage
Nov 16 16:14:18 brtlvmrs0807co systemd[1]: hardware-exporter.service: Main process exited, code=exited, status=1/FAILURE
Nov 16 16:14:18 brtlvmrs0807co systemd[1]: hardware-exporter.service: Failed with result 'exit-code'.
Nov 16 16:14:18 brtlvmrs0807co systemd[1]: hardware-exporter.service: Scheduled restart job, restart counter is at 38.
Nov 16 16:14:18 brtlvmrs0807co systemd[1]: Stopped HTTP service for prometheus hardware exporter..
Nov 16 16:14:18 brtlvmrs0807co systemd[1]: Started HTTP service for prometheus hardware exporter..

As a result, all other exporters (ipmi for example) crash and result in zero metrics and zero alerts.

Please note that the login to redfish was successful (HTTP 200):
Nov 16 16:14:17 brtlvmrs0807co python3[583891]: 2023-11-16 16:14:17 INFO Login returned code 201: {"@odata.context":"/redfish/v1/$metadata#Session.Session","@odata.id":"/redfish/v1/SessionService/Sessions/df55de7604062a10","@odata.type":"#Session.v1_0_2.Session","Id":"df55de7604062a10","Name":"User Session","Oem":{"Huawei":{"UserAccount":"Canonical","LoginTime":"2023-11-16T16:14:16+00:00","UserId":5,"UserValidDays":null,"AccountInsecurePromptEnabled":false,"UserIP":"redacted","UserTag":"Redfish","MySession":true,"UserRole":["Administrator"]}}}

This might be a duplicate of https://github.com/canonical/hardware-observer-operator/issues/91

Yes, I believe this is a duplicate one. @dashmage are already working on this, waiting for his PR.

Fixed in this commit on prometheus-hardware-exporter.


Upgrade py-evm to v0.3.0a19

Wanted the latest py-evm for fixes, speed, and improved logging.
To-Do

[ ] Clean up commit history

[ ] Add entry to the release notes

Cute Animal Picture

We need a web3 that has the latest eth-account before this will pass CI. Working on it here: https://github.com/ethereum/web3.py/pull/1724


CPU usage for nxlog.exe 100%

We have 4 shippers shipping a roughly even number of logs ~15,000 / minute

However, the CPU usage 2 of the 4 shippers is much higher:

Why?  What can we do to fix this?

https://github.com/cityindex/LogSearchShipper/issues/78 allows us to configure the PollInterval 5.
At ~ 02-26 15:45 we increased the PollInterval to 30 for INX-SRV-APPL79.  The chart below clearly shows the reduction in mean CPU usage, compared with RDB-SRV-APPL79 which has PollInterval set to 5.

Going forward, as we ship more logs we will adjust PollInterval to keep CPU load < 70%


Set default scan duration as DISCOVERY_TIME(300ms)

Codecov Report

Merging #1259 into master will increase coverage by 0.47%.

@@            Coverage Diff             @@
##           master    #1259      +/-   ##
==========================================
+ Coverage   68.97%   69.44%   +0.47%
==========================================
  Files         169      170       +1
  Lines       26414    26667     +253
  Branches     3314     3316       +2
==========================================
+ Hits        18219    18519     +300
+ Misses       6793     6734      -59
- Partials     1402     1414      +12

Impacted Files
Coverage Δ

src/core/mac/mac.hpp
100% <ø> (ø)
:white_check_mark:

src/core/thread/lowpan.hpp
86.84% <ø> (-13.16%)
:x:

third_party/mbedtls/repo/library/ecp_curves.c
90.16% <ø> (-3.06%)
:x:

src/core/net/udp6.cpp
82% <ø> (-3%)
:x:

src/core/thread/lowpan.cpp
92.29% <ø> (-1.44%)
:x:

src/core/coap/coap_client.cpp
49.12% <ø> (-1.17%)
:x:

...d_party/mbedtls/repo/library/memory_buffer_alloc.c
60.25% <ø> (-0.39%)
:x:

third_party/mbedtls/repo/library/ssl_tls.c
54.34% <ø> (-0.04%)
:x:

examples/apps/ncp/main.c
100% <ø> (ø)

src/core/thread/mesh_forwarder.cpp
75.89% <ø> (+0.11%)
:white_check_mark:

... and 16 more

Continue to review full report at Codecov.

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


Typo - Extra Word

Looks like an additional word in this particular line.

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

ID: 6b01c8ef-c2d3-f6e0-f137-94352bbe8ef6
Version Independent ID: fdc71451-fa34-f6ca-5652-ffc261282957
Content: Troubleshoot known issues with Forms in flows - Power Automate
Content Source: articles/forms/troubleshoot-issues.md
Service: power-automate
GitHub Login: @Dean-Haas
Microsoft Alias: napienko

@Digim1 Thanks for reporting this issue. It's fixed. You'll see the updated document within 6 hours.


Corrected documentation for PerWebRequest

Corrected documentation for PerWebRequest lifestyle. Refer https://github.com/castleproject/Windsor/issues/133

Would like to understand why the checks have failed. It is a simple text change.

Thanks for your pull request, looking at the build log it appears that either something has either changed with the AppVeyor OS image or some package wasn't deterministic and has broken since .NET Core 2.0 has been released. I've rebuild master and get the same error.

NUnit.Engine.NUnitEngineException: The path specified in --result src\Castle.Windsor.Tests\bin\Release\net45\TestResult_Windsor.xml could not be written to ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\projects\windsor\src\Castle.Windsor.Tests\bin\Release\net45\TestResult_Windsor.xml'.

Thanks @ankitvijay, sorry for the delay. Merged.

No problems @jonorossi , thanks for the merge


feat: Add SAM template for promote/quarantine plugin

Summary

Add SAM template for SAM CLI installation method.
Renamed README.md to other-installation-methods.md and add a new README.md for SAR installation.]

Review changes in different commits may be a lot eaiser.

On Serverless Application Repository (currently private)

Deploying Serverless Application On Lambda Console

Commits squashed.

Squashed


Fix help command usage string

Required for all non-trivial PRs

[X] Rebased/mergable
[X] Tests pass
[ ] CHANGELOG.md updated
[X] Sign CLA (if not already signed)

The information in the usage string for the help command about
how to get more information about a specific command was incorrect:
influxd help [command] does not work, but influxd [command] --help
does.

Thanks @mnuessler!


All awkward arrays must have a nbytes property

This is important! uproot's ArrayCache checks this property to know when to flush the cache.
See scikit-hep/uproot#247, which I'm closing in favor of this. @zhenbinwu, you'll want to follow this issue instead.

Assuming that PR #97 passes all tests, the memory usage in uproot with an LRU cache will be fixed.


[SDP-1292] Replace usage of docker-compose with docker compose

What
Replace usage of docker-compose with docker compose in the CI workflows and the *.sh scripts.
Why
docker-compose, AKA Compose V1, stopped receiving updates on July 2023 and the Docker official documentation says it should be replaced by docker compose, AKA Compose V2:

Sinde the versions of our CI actions were updated by dependabot, our CI jobs that used docker-compose started failing, surfacing the problem now that the latest docker versions stopped supporting docker-compose.
Checklist
PR Structure

[x] This PR has a reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR title and description are clear enough for anyone to review it.
[x] This PR does not mix refactoring changes with feature changes (split into two PRs otherwise).

Thoroughness

[x] This PR adds tests for the new functionality or fixes.
[x] This PR contains the link to the Jira ticket it addresses.

Configs and Secrets

[x] No new CONFIG variables are required -OR- the new required ones were added to the helmchart's values.yaml file.
[x] No new CONFIG variables are required -OR- the new required ones were added to the deployments (pr-preview, dev, demo, prd).
[x] No new SECRETS variables are required -OR- the new required ones were mentioned in the helmchart's values.yaml file.
[x] No new SECRETS variables are required -OR- the new required ones were added to the deployments (pr-preview secrets, dev secrets, demo secrets, prd secrets).

Release

[x] This is not a breaking change.
[x] This is ready for production.. If your PR is not ready for production, please consider opening additional complementary PRs using this one as the base. Only merge this into develop or main after it's ready for production!

Deployment

[x] Does the deployment work after merging?

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr383.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr383.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr383.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr383.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr383.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr383.previews.kube001.services.stellar-ops.com

stellar-disbursement-platform-backend-preview is available here:SDP:      https://sdp-backend-pr383.previews.kube001.services.stellar-ops.com/healthAP:       https://sdp-ap-pr383.previews.kube001.services.stellar-ops.com/healthFrontend: https://sdp-backend-dashboard-pr383.previews.kube001.services.stellar-ops.com


C# RpcId randomly crashing with no error

Godot version
4.0 Beta 3
System information
Windows 10
Issue description
I'm calling a RpcId at Server.cs Line 219 60 times a second and it randomly crashes with no error after 3-10 seconds.
Steps to reproduce
Start Server
Start Client
Press Connect To Server Button
Press Spawn Button
Wait 3-10 Seconds
Minimal reproduction project
https://github.com/Kody06/MovementStuff

I downloaded the project and am experiencing the same crashes, the exit code is<PHONE_NUMBER> (0xC0000374). Meaning RpcId or some other code within this project is causing heap corruption

I was not able to replicate this issue on Linux, I left the server to run in the background with the client in the foreground for about 1 minute and there was no crash, could this be limited to just windows? (If it matters, I am using Arch Linux with the latest packages installed, on kernel version 6.0.2-arch1-1)

I am unable to reproduce it reliably at the moment but I wanted to add I too are getting crash events with code 0xc0000374. Godot 4 beta 6 C#. I am not doing anything related to networking, it just happens as you play. Attempting to narrow it down.

Does this issue still exist with a 4.0-stable release? This issue sounds like a duplicate of a whole bunch of other issues that got fixed by https://github.com/godotengine/godot/pull/69194.


Research: Migrate KLT to operator-sdk

Goal

how easy is it to convert metrics-operator from kubebuilder to operator-sdk?
how much refactoring?
do we break functionality (especially metrics-adapter)?
how does the makefile evolve?
how does OLM work for it?

Resources:
https://tiewei.github.io/posts/kubebuilder-vs-operator-sdk

[WIP]
The poc is available here #1773
how easy is it to convert metrics-operator from kubebuilder to operator-sdk?
no code conversion needed. I had to add a few building steps in our makefile, annotate the project to add sdk operators libraries for kubebuilder and fix some deprecated things in the kustomize file. I copypasted a bundle.Dockerfile from an empty project.
how much refactoring?
only of the make file since they use docker build and push with slightly different env vars
do we break functionality (especially metrics-adapter)?
not at all
how does the makefile evolve?
need to merge different env vars that represent image, repo etc.Most of the things where copy paste from an empty sdk project.

research result available @https://github.com/keptn/lifecycle-toolkit/pull/1773


[HUDI-6892] ExternalSpillableMap may cause data duplication when flink compaction

Change Logs
ExternalSpillableMap may cause data duplication when flink compaction.
see: https://issues.apache.org/jira/browse/HUDI-6892
reproduce:
1、fullfill in-memory map with records, and let this.inMemoryMap.size() % NUMBER_OF_RECORDS_TO_ESTIMATE_PAYLOAD_SIZE == 0
2、insert a record with key1 into ExternalSpillableMap (which will cause size estimate and make sure the currentInMemoryMapSize is still greater than or equal to the maxInMemorySizeInBytes).
it will be spilled to disk.
3、Reduce the size of record of key1 which will make the currentInMemoryMapSize less than maxInMemorySizeInBytes when put into ExternalSpillableMap
it will be put into in-memory map.
data duplication finally.
Impact
none
Risk level (write none, low medium or high below)
low
Documentation Update
Describe any necessary documentation update if there is any new feature, config, or user-facing change

The config description must be updated if new configs are added or the default value of the configs are changed
Any new feature or user-facing change requires updating the Hudi website. Please create a Jira ticket, attach the
ticket number here and follow the instruction to make
changes to the website.

Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@hudi-bot run azure

@bvaradar @danny0405 PTAL.  ExternalSpillableMap will remove the old version of the record from disk first and then put the new version of the record into memory map.

@hudi-bot run azure

@hudi-bot run azure

@hudi-bot run azure

The CI seens succeed after re-run. could you please merge this pr?


[Event Request] Table 111 "Sales Shipment Line".ShowItemTrackingLines

Describe the request
Please add a new event
procedure ShowItemTrackingLines()
var
    ItemTrackingDocMgt: Codeunit "Item Tracking Doc. Management";
    //-----------------------------------------OnBeforeShowItemTrackingLines:BEGIN
    isHandled: Boolean;
    //-----------------------------------------OnBeforeShowItemTrackingLines:END
begin
    //-----------------------------------------OnBeforeShowItemTrackingLines:BEGIN
    isHandled := false;
    OnBeforeShowItemTrackingLines(Rec, isHandled);
    if isHandled then
        exit;
    //-----------------------------------------OnBeforeShowItemTrackingLines:END

    ItemTrackingDocMgt.ShowItemTrackingForShptRcptLine(DATABASE::"Sales Shipment Line", 0, "Document No.", '', 0, "Line No.");
end;

//-----------------------------------------OnBeforeShowItemTrackingLines:BEGIN
[IntegrationEvent(false, false)]
local procedure OnBeforeShowItemTrackingLines(var SalesShipmentLine: Record "Sales Shipment Line"; var IsHandled: Boolean)
begin
end;
//-----------------------------------------OnBeforeShowItemTrackingLines:END

Additional context
We need to implement custom item tracking management
Internal work item: AB#555732

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 25981.


Fixed trailing zero bug in CalculatorImpl [Issue #77]

fixes: #77
WHAT kind of change does this PR introduce?
Added a new method formatUserInputTrailingZero to add the proper trailing digits. It is used when setting the value after the user pressed a digit. I added a test to cover this case and renamed the neighboring tests so that they contained the word "test" in the method name (proper test conventions)

HOW is this accomplished?

new method
new test

Checklist

[x] Docs have been added / updated to reflect the changes
[x] I have reviewed and tested the changes :white_check_mark:
[x] I have squashed my commits to have a reasonable amount of commits
[x] All of the code I have written adhere to the coding conventions outlined in the coding conventions section of the wiki

✅| Styling is adequate and follows coding conventions outlined by the Kotlin Foundation
Everything conforms to the guidelines
✅| New methods and functionalities have appropriate tests (testing edge cases + good coverage)
A test was indeed introduced for the feature
✅| Branch has an acceptable amount of commits with descriptive names and
✅| PR description matches the code outlined a has mentions to issues
✅| This PR attempts to implement a specific feature (no code blob or epic pr)
Status: Changes needed
Comments: Waiting on responses about my review


Single VM: Enable Ceph and script refactor

This PR makes some changes to the Single VM scripts.  The first set of changes focus on tidying up the scripts:

The cleanup code is now in one place.
Misleading instructions from the controller logs are no longer written to the screen
The code to remove all docker containers has been removed as it's not needed.
Fixed some other bugs related to cleanup
The standard tests run by setup.sh have been moved to a new script, verify.sh and are now optional.  This is desirable when using Single VM for development as you don't want to run these scripts each time you run ./setup.sh.

The second set of changes enable ceph inside Single VM.
Fixes PR #536

Coverage increased (+0.006%) to 66.772% when pulling 85882c9740ca0e8a5485ff97cf632ebbef0e6bfc on markdryan:master into b938a427b384da39ae9d23da803f902451f42d47 on 01org:master.

Coverage increased (+0.02%) to 66.783% when pulling c90af7b8be3742a60ed9fe54d192e526d1a4f900 on markdryan:master into b938a427b384da39ae9d23da803f902451f42d47 on 01org:master.

@mcastelino  Could you review this one please?

@markdryan LGTM. Have not tried it on my system yet. But the changes make sense.

Verified on FC24.


Controller 'ngModel', required by directive 'ngChange', can't be found!

how one can use ng-change with select-field while using getting this error..

Hi @sona1393g.
Form for isn't really intended to be used with built-in directives like ngChange. IMO they're not really necessary. Why not just use $scope.$watch?
So if you have a select-field declared in your view like this:
<select-field label="Example select menu"
              attribute="ctrl.formData.selectableField"
              options="ctrl.selectableOptions">
</select-field>

You could watch for changes in your controller like this:
$scope.$watch('ctrl.formData.selectableField',
  function(newValue, oldValue) {
    // Do whatever you want here
  });


remote build VS code issue - ModuleNotFoundError: No module named 'teradatasqlalchemy.dialect

Error : Result: Failure Exception: ModuleNotFoundError: No module named 'teradatasqlalchemy.dialect'
Hello Team,
Please refer the requirement.txt and init.py for reference and to reproduce issue
init.py
import logging
from sqlalchemy import create_engine
import azure.functions as func
def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info('Python HTTP trigger function processed a request.')
teradata_client = create_engine("teradatasql://username:passwd@server_name")
logging.info('after teradata')

name = req.params.get('name')
if not name:
    try:
        req_body = req.get_json()
    except ValueError:
        pass
    else:
        name = req_body.get('name')

if name:
    return func.HttpResponse(f"Hello, {name}. This HTTP triggered function executed successfully.")
else:
    return func.HttpResponse(
         "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.",
         status_code=200
    )

requirement.txt
azure-functions
teradatasqlalchemy
Deployed the above code using vs code in python function app version ~4 and receiving an Failure Exception: ModuleNotFoundError: No module named 'teradatasqlalchemy.dialect' . even though same code is working fine on local
=> Also noticed that adding there is an issue with remote build only I believe
=> Even tried to do the pip install explicitly on kudu site but no luck
Can you please help me with this? You can simply create the test function app, create the sample http trigger, add the code, and reproduce.
Thanks

Hello Team any help would be appreciated

Thanks for reporting  will check and update you.

@bhagyshricompany Thank you for looking into it. Please feel free to let me know if you need any information from me.

Any update on it please ?

investigating on it will update once done

@bhagyshricompany are you able to reproduce the issue ?

tried repro the code and i got this error both running in a simple python file or function app in local:

in my .venv, teradatasql is installed

Look like a sqlalchemy issue

Hello @YunchuWang  for looking into it. But we are not seeing any issue in vs code local. Please refer the below screen shot for the same

@YunchuWang  could you please try once by doing pip intsall in vs code
pip3 install -r requirements.txt

@Sagarthore11 thanks for clarification, i am able to repro this error. As you mentioned right seem an issue with remote build, I downloaded the deployed code and i found it seems an issue with remote build not building this package teradatasqlalchemy properly. In my screenshot you can see all the package module files are missing.

while building with local dependencies works, (func azure functionapp publish  --build-native-deps)

Will try if i can check the remote build logs and let you know, meantime you can try local build

Hello @YunchuWang ,
Thank you so much for looking into it and helping.
Yes I tried with the local build and after adding the ENABLE_ORYX_BUILD = false and SCM_DO_BUILD_DURING_DEPLOYMENT = 0 in the configuration setting of function app explicitly when I am deploying using github workflow action and it's working
Ask: we would like to know is there only issue with the remote build ?
Thank you so much for your help

Hello @YunchuWang
Thanks for helping into it.
Did you get chance to check the remote build logs?
Thanks

Hello @YunchuWang ,
Do you have any update on it please ?
Thanks

Hello @YunchuWang and Team,
Greetings!!!
Thank you so much for helping us. Do you have any update on it please?

@Sagarthore11 Hi Sagarthore, sorry for delay. I was busy with other work past few days and just got a chance. I checked the oxry build log but cant find any err logs related https://statics.teams.cdn.office.net/evergreen-assets/safelinks/1/atp-safelinks.html. Will try build with oryx locally to see why this package is not installed properly and let you know soon.

@YunchuWang Thank you for the response and help.
I will wait for your update. Thanks

Hello @YunchuWang ,
Any luck on it please ?
Thanks

Hello @YunchuWang ,
Thanks for helping on it
Any help on it please?

@Sagarthore11 Hi Saga, sorry. I tried oyrx build(the same way how remote build builds the packages) and see the same err

. This is first time we observe issue like this, thanks for bringing it up. I contacted oyrx team internally for further investigation on this matter and will let you know once they give an update.

Thanks a lot @YunchuWang for helping us on it 👍

@Sagarthore11 No problem, a heads up, oyrx team identified this is a known issue which got fixed in https://github.com/microsoft/Oryx/releases/tag/20230403.1 by setting app setting ORYX_DISABLE_PIP_UPGRADE to true then publish with remote build.

Remote build right now uses Oryx Version: 0.2.20230210.1. I will let you know when remote build will release with oyrx 20230403.1

Thanks a lot once again @YunchuWang  for your help.

hope now  resolved query hence its closing


Rangeproofs should be typed by their ranges

Having separate types for RangeProof64, RangeProof32, etc. means we can know how big the vectors are, domain separate, ensure that range bitsizes are powers of 2, etc.

The aggregation is a good point. If we unify the aggregated / single range proof code, then both n (bitsize) and m are parameters. Both of these can be fed into the transcript, and checked dynamically. So in the end I'm not sure that it's really important to have static typing for n.
WDYT?

Yeah, maybe not. My biggest preference is to have unified proof format for verification, so feeding n,m into transcript even for 64,1 is a good idea.
Lets get back to this idea once Rust gets const generics (RFC2000) ?

Closing this since we decided to have a unified proof format.


Add option to launch defrag and disk cleanup for a drive

What's the Problem?
If you try to right-click on your drives to try to defrag or remove files, you only get the option to perform a "disk cleanup" which redirects you to a settings page for storage where you can only remove temporary files and not actually defrag the PC
Solution/Idea
Add the option to defrag your drives and clean storage directly from the app
Alternatives
Most people now will disable the checkbox for having this app as your default file explorer because of issues like this, and I say do the same.
Priorities
Adding the option to defrag and free up drives directly is a major task that the normal explorer already does well, this is a must for an app like This

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.856
Windows Version
Windows 11 21H2
Comments
I'd also like to add that in the security section, the permission preferences do not get saved

I believe this was refused in the past b/c:

There's little point in launching a defrag on modern system as either you have SSD or the defrag is run by the system periodically
The disk cleanup in Settings is able to delete the same stuff that the legacy disk cleanup does (not just temp files, also windows updates, caches..)

Adding @yaichenbaum

That's correct, we understand there are still some devices with hard drives especially in enterprise environments but as @gave92 mentioned, it's automatically handled by Windows.

So you guys won't add a basic necessity / major feature cause you rely on someone to have defrag settings activated on windows? ok cool I see what kind of devs you are, good luck with your app I'm changing my review on it and making sure no one downloads it

@J-Random we'd like to remind you of the code of conduct. We kept this issue open so we could have a proper discussion about this request, but it doesn't look like you're interested.
When considering feature requests, we take a careful look at how many others have requested the same feature and how many others would be interested. In this case, the defrag menu can already be brought up from the start menu and while we see how it can be convenient to access when right clicking on drives, the vast majority of our users rely on the automatic option built into Windows. Adding another option that most users won't use makes it harder to find the options they do use.


how to increase the size zoom

Hello,
Please find the link of my website (prestashop website).
http://mynudesigner.com/fr/sacs-a-main/10-sac-diavolino-xl-noir-imprime-reptile.html
How i can increase the size zoom like your example?
http://i-like-robots.github.io/EasyZoom/
Indeed, i'd like to have more powerfull zoom effect.
The code of easy zoom  in global css
/**

EasyZoom core styles
/
.easyzoom {
position: relative;
/ 'Shrink-wrap' the element */
*display: inline;
*zoom: 1; }

.easyzoom img {
vertical-align: bottom; }
.easyzoom.is-loading img {
cursor: progress; }
.easyzoom.is-ready img {
cursor: crosshair; }
.easyzoom.is-error img {
cursor: not-allowed; }
.easyzoom-notice {
position: absolute;
top: 50%;
left: 50%;
z-index: 50;
height: 32px;
line-height: 32px;
text-align: center;
width: 32px;
margin-top: -16px;
margin-left: -16px;
background: url(../img/ajax-loader-1.gif) no-repeat center center white;
-webkit-border-radius: 2px;
-moz-border-radius: 2px;
-ms-border-radius: 2px;
-o-border-radius: 2px;
border-radius: 2px; }
.is-error .easyzoom-notice {
background: #fff; }
.easyzoom-flyout {
position: absolute;
z-index: 100;
overflow: hidden;
background: #FFF;
z-index: 7; }
.easyzoom-flyout img {
max-width: none;
width: auto; }
/**

EasyZoom layout variations
*/
.easyzoom--overlay .easyzoom-flyout {
top: 0;
left: 0;
width: 100%;
height: 100%; }

.easyzoom--adjacent .easyzoom-flyout {
top: 0;
left: 100%;
width: 100%;
height: 100%;
margin-left: 20px; }
Thanks in advance for your help and congrats for your project.
Nikos
mynudesigner.com

The zoom image in the page you link to is not much larger than the standard image. The zoom image will be displayed at its natural size.
Standard image:
http://mynudesigner.com/32-big_default/sac-diavolino-xl-noir-imprime-reptile.jpg (548x649)
Zoom image:
http://mynudesigner.com/32-thickbox_default/sac-diavolino-xl-noir-imprime-reptile.jpg (700x800)
I'd recommend the zoom images be at least 1.5x larger than the standard image, or even better 2x. In this case the zoom image is only 1.28x larger.

Thanks a lot for your answer.
I have modified the size of zoom image in prestashop (thickbox defaut), the size is 1096x1298.
After that, i have regenerated the images on prestashop and clean the memory cache of prestashop.
For the moment, it's the same size zoom on my website.
Thanks in advance.
Best.
Nikos

What do i have to do now? I have modified the size image (thickbox defaut) and the size of zoom is the same.
Thanks in advance for your help.
Best.
Nikos

The zoom image is still the same size, I'm afraid: http://mynudesigner.com/32-thickbox_default/sac-diavolino-xl-noir-imprime-reptile.jpg (700x800)
I'm not familiar with Prestashop so I'm afraid I can't offer any advice,


Supported input types for tf.nn.quantized_conv2d

System information

TensorFlow version: 1.11.1
Doc Link: https://www.tensorflow.org/api_docs/python/tf/nn/quantized_conv2d

Describe the documentation issue
The documentation for tf.nn.quantized_conv2d says that input and filter must be one of the following types: qint8, quint8, qint32, qint16, quint16.
However, the only registered type for these arguments is tf.quint8. See also this question.

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

@rvinas It is true that tf.quint8 is the only registered type for input and filter as it covers most cases in conv2d.
We will certainly look into other types as well.

Nagging Assignee @wt-huang: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


Consider merging Overview.md and getting-started.md

I think it would make sense to consolidate info into a single document to guide a user through the deployment process. We should consider whether this makes sense / if it will break current links.

will consider this in the new repo https://github.com/awslabs/aws-servicebroker/


The keyboard becomes too wide when creating it in landscape

The system keyboard becomes too wide when you create it in landscape:

If you rotate back and forth, it becomes correctly sized, so something is amiss.

This has been fixed in 7.1.


[cdc-connector][oracle]Flink cdc pipeline support oracle source

Flink cdc pipeline support oracle source

Thanks @ChengJie1053 for this contribution, Can you supplement relevant tests to verify the effectiveness of the feature?
And I want to know can Oracle Data Source emit SchemaChangeEvent to downstream?

Thanks @ChengJie1053 for this contribution, Can you supplement relevant tests to verify the effectiveness of the feature? And I want to know can Oracle Data Source emit SchemaChangeEvent to downstream?

Ok, thank you. I will add test cases later. Currently, only CreateTableEvent is supported, and no other SchemaChangeEvent is supported

other SchemaChangeEvent is supported
Because this is a limitation of the data source itself, it is acceptable, which can be further explained in the document.

other SchemaChangeEvent is supported

As this is a limitation of the data source itself, it is acceptable, which can be further explained in the document.

Ok, thank you

any updates?


Pyright

This PR re-adopts the copier, making sure that pyproject.toml is correct for pyright adoption.
It also has started to fix pyright errors in the source. BUT there seem to be many errors in here that someone with a better understanding of the code should look at.

For the moment I have removed the tests from pyright checks - this should also eventually be restored.
There are many cases of incompatible function signatures in derived classes that should be properly addressed
Also many argument / parameter type disagreements
There is too much to even just apply type: ignore to everything at 5PM on Friday and I also don't think that is the right way to go.

@coretl I'll let you decide what to do with this branch, I'm OK to carry on with it next week but imagine it is a few days work to do right.

I think this is worth spending some time one, but I think we should spend half an hour going through the errors in person

OK lets do this. But you realize 30 mins is less than 18 seconds per issue?


Image updates Interactable object

Updated images based on the latest examples in MRTK.
Added links to MRTK example scene.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/images/640px-interactibleobject-coffeecup.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/images/640px-interactibleobject-hero-640px.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/images/640px-interactibleobject-holographicbutton-650px.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/images/640px-interactibleobject-meshbutton.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/images/640px-interactibleobject-toolbar.jpg
:white_check_mark:Succeeded
View

mixed-reality-docs/interactable-object.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


embed: share grpc connection for grpc json services

Codecov Report

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

@@            Coverage Diff            @@
##             master    #7965   +/-   ##
=========================================
  Coverage          ?   74.88%
=========================================
  Files             ?      340
  Lines             ?    26476
  Branches          ?        0
=========================================
  Hits              ?    19826
  Misses            ?     5185
  Partials          ?     1465

Impacted Files
Coverage Δ

embed/serve.go
70.53% <68.75%> (ø)

Continue to review full report at Codecov.

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

lgtm.


Add an indicator when magic secateurs are in inventory but not equipped

This would help prevent doing herb runs with magic secateurs in the inventory and missing out on the bonus.

https://github.com/Ryanbarker0/magic-secateurs

Update that made magic secateurs work from the inventory makes this obsolete.
15 February 2023


rename the alter changelog table file name to maintain the sequence f…

…or flyway migration
What does this pull request do?
rename the alter changelog table file name to maintain the sequence for flyway migration
What is the intent behind these changes?
The dev deployment is broken due to the sequence of the file changed

not sure we should be adding outOfOrder just to get this one through, would it not be better to delete the v101 file (instead of renaming it) and add v100 as a new file?  Dev would have to be manually updated to remove the v101 flyway entry if it's already been created

@NeilLuptonMoJ outOfOrder  is a temporary measure to resolve this issue. You mean to say add 100 as an empty file?

This pull request is not required anymore as the issue in dev is resolved after we cleanup the row in flyway migration table


Release 0.61

Problem
The Hedera JSON-RPC Relay repository contains new features that have not yet been included in an official release version.
Solution
Publish a new release to incorporate all the recently added features.
Alternatives
No response.
### Tasks
- [x] Clean up milestone, ticket, PR boards
- [x] Cut 0.61.0-rc1
- [x] Generate new Bump SNAPSHOT PR
- [x] Deploy RC1 (previewnet, testnet)
- [x] Release Test - Newman Test
- [x] Release Test - DApp Test
- [x] Release Test - Perf Test
- [x] Release Test - Acceptance Test
- [x] Cut 0.61.0 GA
- [x] Deploy 0.61.0 GA (previewnet, testnet, mainnet)

Version 0.61.0 has successfully been released. Detail can be found in https://github.com/hashgraph/hedera-json-rpc-relay/releases/tag/v0.61.0


Fix type error with albumentation

Fix #2789

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @mmeendez8
Thanks for your report. It seems that normalize of uint8 image is inplace .....

Hi @xvjiarui
Should I change the inplace operation instead? That's the quick fix we did for training when I first got this error.

Hi @mmeendez8
Yes.  You may open a PR to add .copy in mmcv imnormalize.

@mmeendez8 You may try if the issue has been fixed with the PR in MMCV.

I executed the test and everything works now. Thanks

@mmeendez8 If so you may just add the unittests in this PR.

@hellock test failed, did this run with the last mmcv changes?

The changes have been included in the release of mmcv v0.5.6 yesterday. I have tested it locally and the unittests can pass.

There has been a file tests/test_pipelines/test_transform.py, you may merge the newly added unit tests with existing ones.

@hellock just did that and adapt the test to use PIPELINES as the new added tests


Slightly lift sender restriction for mynetworks

Description
This PR slightly lifts the sender restrictions for IPs in mynetworks in a reasonable way.
With the current smtpd_sender_restrictions, containers with IPs listed in the existing configuration variable $RELAY_NETWORKS are forced to use a fully authenticated and existing user to send out emails. This could cause issues with some services which expect local delivery to work without authentication. Also, the administrator might not want to create a dedicated mailbox user for the outgoing email address of a mail-sending service, but use an alias to process answers and bounces.
Therefore, this PR lifts the restrictions by adding permit_mynetworks to smtpd_sender_restrictions.
I groups a couple of restrict_ directives before permit_mynetworks to force the administrator to work cleanly and use a properly crafted sender address for their internal services.
Type of change

[x] New feature (non-breaking change which adds functionality)

Status

[x] Ready

How has this been tested ?
Setup:

Spin up a container A (a mail-sending program)
Spin up mailserver with $RELAY_NETWORKS=ip_of_A
In postfixadmin, setup mailboxes<EMAIL_ADDRESS>and<EMAIL_ADDRESS>
Test 1:
Make A send an emails from<EMAIL_ADDRESS>(unauthorized) to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Both should work.
Test 2:
Make A send an email from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Both should work but only if sender is properly authenticated.

It looks like you need to update a couple of tests.  Second, are you sure this will be okay?  If you have a container next to the mail containers like WordPress container and a bot, start sending email from your WordPress container through your mail server container with this pr the bot will be able to send out emails.  Am I right?

@sknight80 Actually I don't believe the scenario you'd describe is an issue. If your wordpress container has an internal connection to the mailserver container and its IP is in RELAY_NETWORKS, it's probably for the purpose of allowing wordpress to send emails. In the current setup, it would require you to configure WP Mail SMTP Plugin with a valid credentials for the mailserver. A malicious bot script sneaked into wordpress would probably already be crafted to use these credentials anyway, or even abuse the plugin directly.

@DrMurx looks like we either need to update the failed test case or we need to revisit your changes.  Can some of you review this PR, please?
@michael-k @ksylvan or @xvello

@sknight80 Yes, I'll rewrite the test cases, just right now I'm low on free time.

Let me know when I can review them.

ping?  I'd like this as well, using this as a mail relay for my internal network is broken without it.

as an aside, the following should work as well.
smtpd_sender_restrictions=reject_non_fqdn_sender,reject_unknown_sender_domain,reject_authenticated_sender_login_mismatch,permit_mynetworks,reject_unauthenticated_sender_login_mismatch,reject_unlisted_sender,reject_rhsbl_sender dbl.spamhaus.org


[BUG]When can the exchange resume trading?

thx

Please post your technical issue in GitHub. You can join our discord and ask this question there. Please find the discord channel link on our website: https://www.sitnetwork.org


AppSync Mock - Unable to convert document to class ...LambdaVersionedConfig.

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
On<EMAIL_ADDRESS>this request mapping template works
#**
The value of 'payload' after the template has been evaluated
will be passed as the event to AWS Lambda.
*#
{
  "version" : "2017-02-28",
  "operation": "Invoke",
  "payload": {
    "arguments": $util.toJson($context.args),
    "field": "changeUser",
  }
}

however on the current version is not working.
Amplify CLI Version
<EMAIL_ADDRESS>To Reproduce
Example provided in the description
Expected behavior
Should Invoke lambda data source
Desktop (please complete the following information):

OS: Mac
Node Version. v10.15.3

@NeillGiraldo what error message do you see when you try this?

Hi @nikhname, This is the error that is being thrown.
{
  "data": {
    "changeUser": null
  },
  "errors": [
    {
      "message": "Unable to convert {\n  \"version\" : \"2017-02-28\",\n  \"operation\": \"Invoke\",\n  \"payload\": {\n  \t\"arguments\": {\"username\":\"changedUser\"},\n    \"field\": \"changeUser\",\n  }\n} to class com.amazonaws.deepdish.transform.model.lambda.LambdaVersionedConfig.",
      "errorType": "MappingTemplate",
      "data": null,
      "errorInfo": null,
      "path": [
        "changeUser"
      ],
      "locations": [
        {
          "line": 6,
          "column": 3,
          "sourceName": "GraphQL request"
        }
      ]
    }
  ]
}

Hi @nikhname , I checked a bit deeper and it was because of the trailing comma at the end of the payload. JSON.parse was failing because of it.

We do strict evaluation of the JSON which is the recommended practice. Let us know if you're still stuck with this.


WIP: Proper models for world coordinates

Description
Opening this PR very prematurely so we have something to discuss in lab meeting. Currently, there is just initial work on the models.
Type of change

[ ] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

@jni can you tell me how these new transform classes fit in with the vispy transforms? I'm having trouble seeing how it should all fit together.
FYI following up on our hack day: I tried replacing the vispy.visuals STTransform with ChanTransform instead, but ChainTransform does not have the same .scale and .translate attributes available. I think this means we'll need a lot more work on the _master_transform() method in vispy_base_layer.py.
Do you have any suggestions for what I should try next?

Notes (mostly to myself) from the hack day today:

We did some work on the transform classes, will probably be merged here at some stage: https://github.com/jni/napari/pull/3/files
Next steps: Hook up emitters for events. Can use the examples in these files for reference:

napari/_qt/qt_layerlist.py
layerlist.py
napari/utils/list/_model.py

Next steps: TransformChain class  needs an append() method (also with an emitter for events)
Next steps: replace vispy STTransform with ChainTransform in _master_transform and update setting the scale and translate properties (so we don't break everything downstream).

This has been superseded by #1018 and #1042 which added Transform and ChainTransform classes respectively and can now be closed. Thanks for all the work on it @jni and @GenevieveBuckley


Merge release/kubernetes-agent/v1 into main

Included PRs

https://github.com/OctopusDeploy/helm-charts/pull/197
https://github.com/OctopusDeploy/helm-charts/pull/195
https://github.com/OctopusDeploy/helm-charts/pull/194

☝ No changeset required as these changes are only to GHAs


[wip] implement the new attribute syntax

r? @therealprof
(rust-highfive has picked a reviewer for you, use r? to override)

Should resources on interrupt handlers require Send? You can change the priority of an interrupt at runtime, effectively "sending" the resource values from one priority level to another.
Also, can the DefaultHandler have resources? I think that's unsound because it can run reentrantly if there are 2 interrupts at different priority without a handler set.


Defines a TIMO Interface for Vila.

For internal AI2/S2-consumption only.
Implements an interface for S2's
production model packaging toolchain.

@yoganandc This is almost a straight copypasta from the relevant code in SPP.
@kyleclo This is what a timo-ified model looks like. Relevant parts from our discussion yesterday are sequestering this new code into a top-level module that is explicitly labeled as ai2-internal.


Support for Ruby require_relative

Hi all, thank you for the amazing extension. I saw that support for Ruby require and Ruby require_relative was addressed in issue #43 and applied in 4.0.0.  require links work fine now but there is still no support for require_relative.

Since the Ruby plugin uses the REQUIRE regex, fixing this should be very similar to the process described in https://github.com/OctoLinker/browser-extension/issues/315#issuecomment-287835601. This line should be made to match require_relative, and the valid and invalid test cases should be copied to use require_relative instead of require.

Awesome, thank you. I can go ahead and get started on it if it's alright with you.

That'd be great! Feel free to open a pull request even if it isn't working yet, and I'd be happy to help with any issues that arise.

I just about have it.  Changing ( require(\.resolve)? | import ) to ( require(\.resolve)? | import | require_relative ) does change require_relative lines to links.  Since Ruby require and require_relative do not need you to add '.rb' at the end, I noticed that links that do not include the .rb execute the liveResolverQuery in the Ruby plugin with type: 'rubygems'. For example, require_relative 'example' and require 'example' would try to link me to a website or repo for a Ruby Gem although it should be a file link. The links work fine when a directory is indicated, though (i.e. require_relative 'lib/example').
Should I just go ahead and add the tests, open a pull request and open a separate issue for the scenario I described above? Thanks again!

Yeah, go ahead and open a pull request. There, we can figure out what's going on and how to fix it. Thanks for working on this!


[Question] Folds

I've just set up nvim so that treesitter takes care of folds:
vim.opt.foldmethod = "expr"
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"

This works fine on other languages (i.e.: lua), but on apex it will just fold the entire file, not caring for classes, methods, or anything. Is this something that's missing from the apex parser?
Thanks!

@FedeAbella I don't use NVIM so unfortunately I can't help much here. I think it is powered by the queries defined here:
https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/apex/folds.scm
You could help improve that set of queries to get the folds working as expected.
@finxxi is this something you have any insight on?

not right off the bat. I don't like folding at all, I totally disabled it in Nvim.
It seems Nvim will default to fold everything like mentioned here? https://www.jmaguire.tech/posts/treesitter_folding/
If we unfold one level, does the file have correct folding as expected?
Up to OP to figure out, or I might wanna study and tweak it one day....

You could look at the ECMAscript (Javascript) fold definitions here, it looks like as long as you know the node names you could improve this.
https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/ecma/folds.scm
I'm happy to help explore the correct node names/types if you set some expectations of what should be foldable? @FedeAbella

@aheber I'm new to nvim, and don't know treesitter enough to understand queries yet (had the same issue with a bracket colorizer plugin where I didn't really know how to help them), but I can tell you I'd mostly expect the following to be folded:

Class body
Method body
if ... else if ... else statements
for statements
while statements
do ... while statements
try ... catch statements

I'd say those would cover most use cases. I think some people would argue for being able to fold queries, but I'd say if you need to fold your queries in Apex, you're probably doing something really wrong (or really corner case), and it doesn't merit the effort.
As an aside, after commenting that I've been trying out nvim-ufo, which uses nvim's lsp to define folds, and have found it works alright, so if this is too much work, I wouldn't push for it. However, if you plan on tackling it, I'd be happy to help in anything I can.
@xixiaofinland I'm tackling trying out your sf.nvim plugin next :smile: I'm working towards building an environment I'm comfortable enough leaving VSCode for

@FedeAbella  you can add your own fold queries to our init.lua file. For example
vim.treesitter.query.set("apex","folds"," [ (constructor_declaration) (class_body) (block) (argument_list) (array_initializer) (annotation_argument_list) ] @fold")


ci: add slither static analysis

based on forge-template

This is still very noisy and slow. Need to figure out how to:

Ignore tests and expected error
Reduce test time by caching installation, parallelizing etc (currently adds 2 mins to CI)

closing in favor of the more recent #197


IT not getting discount on stargates

For the record, I will have to check the prices when I get home, as IIRC a non-miniaturized orbital fort + gate costs around the ballpark of 180 resources to build. (Also 50kT iron & 32kT germ IIRC)

The IT & ISB discounts do stack in OG stars. That said, it doesn't stack with the AR starbase discount. (I know this because I tested it last Tuesday out of boredom.)
For the record, I don't even have ISB for this race (if that matters).

Pulled up OG stars in new game without any fancy settings and yes, it appears craig-stars is overcharging me for stargates. (The discount appears to be baked in to the unit price, so ISB/miniaturization would stack multiplicatively with it as well.)


Only the fist inline code element is  rendered in version 0.7

I am encountering an odd quirk in mistletoe 0.7:
C:\> mistletoe
[warning] readline library not available.
mistletoe [version 0.7] (interactive)
Type Ctrl-D to complete input, or Ctrl-C to exit.
>>> This `code` and this `code` should all be `code`
... ^Z

This code and this `code` should all be `code`

>>>

As always, thanks a lot for the great library.

Should be fixed in 11ac586!
>>> This `code` and this `code` should all be `code`
...

This code and this code should all be code

I'll do another release this coming weekend.


Typed createSelector function-solution-2

This is the second solution for #624. It is not as straightforward but it is done without modifying any of the original types.
export const defaultCreateSelector = createSelectorCreator(defaultMemoize)
export const weakMapCreateSelector = createSelectorCreator(weakMapMemoize)
export const AutotrackCreateSelector = createSelectorCreator(autotrackMemoize)

export type TypedCreateSelectorDefault<State> = <
  Selectors extends readonly Selector<State>[],
  Result
>(
  ...args: Parameters<typeof defaultCreateSelector<Selectors, Result>>
) => ReturnType<typeof defaultCreateSelector<Selectors, Result>>

export type TypedCreateSelectorWeakMap<State> = <
  Selectors extends readonly Selector<State>[],
  Result
>(
  ...args: Parameters<typeof weakMapCreateSelector<Selectors, Result>>
) => ReturnType<typeof weakMapCreateSelector<Selectors, Result>>
// Not sure if this is necessary since the options object for both weakMapMemoize and autotrackMemoize is identical.
export type TypedCreateSelectorAutotrack<State> = <
  Selectors extends readonly Selector<State>[],
  Result
>(
  ...args: Parameters<typeof AutotrackCreateSelector<Selectors, Result>>
) => ReturnType<typeof AutotrackCreateSelector<Selectors, Result>>

I would love to help and contribute as much as I can. So please let me know if there is anything else I can do as I would be more than happy to help.

See https://github.com/reduxjs/reselect/pull/624#issuecomment-1783931536


Showcase Submission for challenges/1-starfield

Thank you David Stroud for your contribution! A member of the Coding Train team will review it shortly.

Interactive starfield in full 3D!
David Stroud

Wonderful work @davenewt!


Why are u128/i128 unsupported in wasm32?

There's a single line in the book but nothing descriptive, and searching issues in this repo doesn't bring anything up either.  Thanks!

I think it's just not implemented. I don't think there are any Wasm limitations that prevent us from implementing strategies for 128-bit types.


fix(console): refactor useAllowance hook

There was a circular reference between the WalletProvider and fee allowances creating a bug where the value of fee granter was undefined in the WalletProvider
Merged the useAllowance in the WalletProvider because they're intrinsically related and there's no more circular reference

I understand the issue here but I can't say I like the solution. WalletProvider is already quite complex and large. I'd think on a better way to keep these two separate. In the worst case we can provide wallet as an argument to useAllowance.

I can try to refactor it back to being separated.

@ygrishajev I refactored it back to 2 files but with params to the hook


Update licensing-service-plan-reference.md

These SKUs have been out for months guys. Added M365 E3 w/o Teams to the list along with the plan IDs

@rpeaston your submission only includes the plan part numbers it does not include the friendly display names, so the entry is incomplete. If you cancel your PR I will go ahead and make the change directly to the online table as well as the downloadable CSV in the near future. Thanks.

closing as these changes were added in another PR.


Announce 1.0.0 compatibility for multiple plugins

Description
Announce that multiple packages are compatible with 1.0.0 and encourage users to set their constraints accordingly.
This is similar to https://github.com/flutter/plugins/pull/2597, https://github.com/flutter/plugins/pull/2604, and https://github.com/flutter/plugins/pull/2734
Packages declared 1.0.0 compatible by this PR:

cloud_firestore
cloud_firestore_web
firebase_crashlytics
firebase_dynamic_links
firebase_in_app_messaging
firebase_ml_vision
firebase_performance
firebase_remote_config

Sorry if I'm missing any context here but I'm not sure if this is still viable with the upcoming changes via https://github.com/FirebaseExtended/flutterfire/issues/2582 - there will be API changes still prior to v1.0.0 - we're working on Cloud Firestore at the moment and for that one at least it's certainly not yet a stable API (others plugins still in the pipeline).

Sorry if I'm missing any context here but I'm not sure if this is still viable with the upcoming changes via #2582 - there will be API changes still prior to v1.0.0 - we're working on Cloud Firestore at the moment and for that one at least it's certainly not yet a stable API.
The others plugins are still in the pipeline but I'd imagine they'd be in a similar boat too.

@csells should we cancel this?

Certainly we can discuss it more.


Performance Improvements.

Currently when you run dateformat for a given mask, it goes through the process of calculating the result for every possible mask output.
Then it filters it down to only use the ones it needs.
This PR changes that functionality so that it only calculates for the masks that it needs.
It does this by changing the variables to be functions, that way they only calculate when they are called.
This delivers significant performance improvements, particularly for masks that are very basic:

closes: #126

Awesome! @chase-manning this works by lazy-evaluating only the tokens that are actually used, right? It seems like all tokens were evaluated beforehand?

Exactly!


Add ignore all lints comment to generated code

It will be really nice if a ignore_for_file: type=lint comment is included in generated code. It ensures that dart analyzer will ignore the generated file without having to explicitly exclude it in a project's analysis_options.yaml.

Wow, I didn't know about this selector but it seems super useful. Using it from 8e3259c971855cc10673b3c948240497e2a8de9a onwards.