aws_node_termination_handler issue when enabled

[X] ✋ I have searched the open/closed issues and my issue is not listed.

Please describe your question here
When enable_aws_node_termination_handler is enabled, i am getting the following error:
module.eks_blueprints_kubernetes_addons.module.aws_node_termination_handler.helm_release.this[0]: Still creating... [5m1s elapsed]
╷
│ Warning: Helm release "aws-node-termination-handler" was created but has a failed status. Use the `helm` command to investigate the error, correct it, then run Terraform again.
│
│   with module.eks_blueprints_kubernetes_addons.module.aws_node_termination_handler.helm_release.this[0],
│   on .terraform/modules/eks_blueprints_kubernetes_addons/modules/eks-blueprints-addon/main.tf line 9, in resource "helm_release" "this":
│    9: resource "helm_release" "this" {
│
╵
╷
│ Error: timed out waiting for the condition
│
│   with module.eks_blueprints_kubernetes_addons.module.aws_node_termination_handler.helm_release.this[0],
│   on .terraform/modules/eks_blueprints_kubernetes_addons/modules/eks-blueprints-addon/main.tf line 9, in resource "helm_release" "this":
│    9: resource "helm_release" "this" {
│
╵
╷
│ Error: creating IAM Policy aws-node-termination-handler-20230419160214074700000007: MalformedPolicyDocument: Policy statement must contain resources.
│       status code: 400, request id: bdfe8443-557e-4aeb-8bd4-0ae038c21c3d
│
│   with module.eks_blueprints_kubernetes_addons.module.aws_node_termination_handler.aws_iam_policy.this[0],
│   on .terraform/modules/eks_blueprints_kubernetes_addons/modules/eks-blueprints-addon/main.tf line 237, in resource "aws_iam_policy" "this":
│  237: resource "aws_iam_policy" "this" {
│

Thank you in advance!

Provide a link to the example/module related to the question

Additional context

@BrandonEscamilla I have the same issue, how did you solve it?

I think this should be reopened.
https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/issues/170#issuecomment-1837388774

since we shouldn't use NTH with managed node group and even with karpenter

Correct
Apologies but I'm not following what the issue is then? If you wish to utilize node-termination-handler, you will need to tell NTH which autoscaling groups it should be monitoring for health events https://github.com/aws-ia/terraform-aws-eks-blueprints-addons/blob/0e9d6c9b7115ecf0404c377c9c2529bffa56d10d/main.tf#L1606C21-L1606C58
If there are no ASGs (self-managed), there is no point in having NTH deployed in the cluster. Correct me if I am wrong but this sounds like a user configuration issue and not a module issue

@bryantbiggs you are right. Apologies it's not an issue. I was using NTH in a cluster with self managed groups and forgot to remove that while migrating to managed node groups. I noticed this error today while upgrading from v4 to v5 blueprints.


Unable to add new users

Already checked, not a problem with the csv input or function optimisation.

The problem is in duplicate users (retained students). Solution to update the sql query to ...ON DUPLICATE KEY UPDATE class="_new class_"


Complete overhaul of traits, route prefixes, and API-level info.

Signed-off-by: Dane Jensen<EMAIL_ADDRESS>

LGTM


Could add node with same name under same tree node

Operating system or device - Godot version:
Windows 7 64bit - Godot_v2.1-stable_win64.exe
Issue description (what happened, and what was expected):
Can create nodes with same name under same tree node.

As expected I can't edit or delete the node in game scene.
Steps to reproduce:
Create scene game
Create scene player without camera2d
add instanced player scene to game
select player scene and add camera2d
open player scene add camera2d
You only can see the problem when checkbox Editable Children is selected.

I don't know if its a bug or not, but it was confusing when editor tells you, you can't delete the node. :smile:
Bug Project: http://www.file-upload.net/download-11850356/same_name_bug.zip.html

Some initial debugging:
When we edit the "Camera2D" child via the "editable children" checkbox, we get this:
#...

[node name="player" parent="." instance=ExtResource( 3 )]

[node name="Camera2D" parent="player"]

rotating = true

[editable path="player"]

#^Note: we can safely remove this line, but then the Camera2d
# won't show up anymore (though the changes would remain)

But the attached scene has it like this:
#...

[node name="player" parent="." instance=ExtResource( 3 )]

[node name="Camera2D" type="Camera2D" parent="player"]

anchor_mode = 1
rotating = false

#....

Comparing the two lines, it seems like that the attached scene has only one major difference -- the type="Camera2D" attribute. So, this is somewhat related to #6215.

Still an issue, at least in 3.0 export of my project. Will be checking if it's present in 2.1.3, too.

Still present in 3.0.2

Cherry-picked for 3.0.7.


User resizable transcript iframe?

This should be possible with CSS, but not working for me right now, and I don't want to get stuck on it (since maybe we don't even want it.)
    #transcript {
         resize: both;
         overflow: auto;
    }

@mccalluc: Can we discuss in person?

same page: low priority.


Fix typo README.md

Fix small typo

Not sure what the deal was with the ci but it's not because the readme changed.


Add @SafeVarargs to MetadataService.usedBy methods

It's necessary to make those methods final and
that's not backward compatible.
Fixes #296

Coverage remained the same at 81.327% when pulling 77d71949c71cbd435a3637ec85cba22677572a47 on varargs into 827bd5d664fde4eca710f51ddfe61f78de2bb61d on master.


Assigning enum value to class static member before it is declared crashes tsc

TypeScript Version:  2.6.2
Code
class Foo {
    public static bar = Bar.A;
}

export enum Bar {
    A
}

Expected behavior:
I should receive an appropriate error about the enum being used before its declaration.
Actual behavior:
tsc crashes with the following output:
tsc.js:58192
                throw e;
                ^

Error: Debug Failure. type must be class or interface
    at getBaseTypes (tsc.js:23024:30)
    at getSuperClass (tsc.js:31005:21)
    at isPropertyDeclaredInAncestorClass (tsc.js:30994:29)
    at checkPropertyNotUsedBeforeDeclaration (tsc.js:30969:21)
    at checkPropertyAccessExpressionOrQualifiedName (tsc.js:30942:13)
    at checkPropertyAccessExpression (tsc.js:30914:20)
    at checkExpressionWorker (tsc.js:33427:28)
    at checkExpression (tsc.js:33378:42)
    at checkExpressionCached (tsc.js:33290:38)
    at getTypeOfExpression (tsc.js:33363:28)

Additionally, if I replace the enum with just a similarly-structured object, I get a slightly different error:
const Bar = {
    A: 0
};

tsc.js:58192
                throw e;
                ^

TypeError: Cannot read property 'flags' of undefined
    at getBaseTypes (tsc.js:23015:37)
    at getSuperClass (tsc.js:31005:21)
    at isPropertyDeclaredInAncestorClass (tsc.js:30994:29)
    at checkPropertyNotUsedBeforeDeclaration (tsc.js:30969:21)
    at checkPropertyAccessExpressionOrQualifiedName (tsc.js:30942:13)
    at checkPropertyAccessExpression (tsc.js:30914:20)
    at checkExpressionWorker (tsc.js:33427:28)
    at checkExpression (tsc.js:33378:42)
    at checkExpressionCached (tsc.js:33290:38)
    at getTypeOfExpression (tsc.js:33363:28)

Should be fixed in our nightlies, thanks!


NO2 sensor

Where did you buy the NO2 sensor from? Thanks.

You are asking about where we order them from, not the brand, right?
@emmapa will be able to provide you with this info, but she is not in the office until the 18th of September.

We bought the sensors directly by Alphasense company. Kind regards


"The keyword 'import' is reserved" after upgrading from 1.12 to 1.18

First, thank you for your work on this.
Second. I'm currently experiencing an issue after upgrading from 1.12 to 1.18.
When I initially run fast-serve everything is fine. When I resave a file (without changes) I get the error Parsing error: The keyword 'import' is reserved (related to the file I just saved)
Output:
i ｢wdm｣: Time: 9388ms
Entrypoint my-web-part = my-web-part.js
i ｢wdm｣: Compiled successfully.
Issues checking in progress...
No issues found.
i ｢wdm｣: Compiling...
× ｢wdm｣: Time: 1257ms
Entrypoint my-web-part = my-web-part.js

ERROR in
C:\Users\<cut>\Details.tsx
  1:1  error  Parsing error: The keyword 'import' is reserved

✖ 1 problem (1 error, 0 warnings)

i ｢wdm｣: Failed to compile.
Issues checking in progress...
No issues found.

Any ideas on how to solve this? I've already reinstalled the node_modules.

For me it looks like it's eslint related error. Could you try running npx fast-serve --eslint=false and see if the error is still here?

Thank you for the very fast reply. That does indeed solve my issue.

You could just copy the .eslintrc.js from newly scaffolded SPFx 1.18 hello world web part, or just use this one from samples.

Hey s-KaiNet, thanks for your engagement in the community.  I'm still running into the above issue after trying the recommended steps you've provided.  I'm currently using spfx-fast-serve-helpers 1.18.0.  My fast serve doesn't appear to working and I'm still having the initial error @RoelVB posted.  I'm attempting to upgrade my SPFX webpart from 1.10 to 1.18.  I've deleted my lock file and node_modules folder multiple times.

@pathaw have you tried to disable eslint for fast-serve? Also, if you stil have the the problem, could you create a new issue, because it's just easier to track?

@s-KaiNet yes I've tried that as well with no success.  I'll create a new issue.  Thanks for the quick reply.


add topics

I suggest adding the topics benchmark, fortran in the About section.

Thanks for the remark. I fixed it.
You may also have a look on the C version of the benchmark.
Unfortunately the F90 version is not as well maintained as the C variant.


Does not work in nodejs v14.0.0+

Expected Behavior

Works in nodejs v14.0.0+
Current Behavior

Negative!
Possible Solution

Steps to Reproduce (for bugs)

Install Nodejs v14.16.0 and msys2

download iohook-master from github

run the command node build.js --runtime node --version 14.16.0 --abi 83 --no-upload and output iohook.node and uiohook.dll after build success

It's interrupted when run with nodejs application but no any exception，for example:

After testing, the built file is available when I switch the Nodejs's version back to v12.6.0,

Context

Your Environment

Version used: node.js 14.16.0
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your project:

Have the same problem.

Broken on Node 14 for Linux too.

unninstall on control painel and install 12.13   on this link https://nodejs.org/en/blog/release/v12.13.0/ it worked for me

I can't replicate this. I'm using Node 14 on both linux and windows. Please inform if this issue is still happening.

@ash0x0
There's still something wrong with my computer

also having similar issues with node 14.11.0

There are other issues blocking this from being fixed right now. I suspect it's related to another issue in input helper. If someone has added info or traces please provide them. Otherwise, this is on my todo once blocking issues have been fixed.

Any ETA when this can be fixed? Appreciate for looking inot it.

Any ETA when this can be fixed? Appreciate for looking inot it.

Unfortunately this one is a big one. It basically requires changing the addon definition and how it's built as well as some core code. Not soon I'd say unless someone can take it on.

This affects nodejs only right? I want to make sure Electron works fine.

Well, to use electron you still need the node package in development. IF (big if) this works with a node 14+ and electron <12 combination then it'd only work in production (after electron app is packaged) and not in development. This will probably work but it'd be a massive pain to say the least because you wouldn't be able to run in development. You could disable the use of iohook in development and you'd test it in production to get around that issue for what's that worth.

Is there a branch you working on for these issues? Just want to know whether we reached dead-end using this package or will have updates soon. If you can provide more instructions on how to solve the issues, we can see if anyone of us with C language experience to engage in this project.

Is there a branch you working on for these issues? Just want to know whether we reached dead-end using this package or will have updates soon. If you can provide more instructions on how to solve the issues, we can see if anyone of us with C language experience to engage in this project.

I didn't work on this issue. More focused on getting things working that don't require major overhaul or that I actually have pinned down. I don't have this one pinned down and not sure what the reason is because I haven't been able to repro but my best guess is this is related to the gyp definition and would require updating to make sure it works for versions 14+.

@ash0x0 Ok I will check on the gyp definition then if it is just because of node version change. Also, should this repo use the latest 1.2 version of libuiohook?

@ash0x0 Ok I will check on the gyp definition then if it is just because of node version change. Also, should this repo use the latest 1.2 version of libuiohook?

No unfortunately. I tried to rebase on latest and things broke. The libuiohook included in the repo is heavily modified with fixes for iohook so it'll require some careful cherrypicking work to update libuiohook and it'll require updating the addon code as well.

What do you need to get this issue reproduced so you can look into the Node 14?

What do you need to get this issue reproduced so you can look into the Node 14?

Even if I do repro it, I really don't have the time for it now. If you're in a rush I suggest you downgrade your node version. If you can't, I'd say try another 14.x version. It's working for me with 14.17.4 and electron 12 in both development and production.


Develop

add base Parameter class
add Paramter::raw()
add args() to get non option arguments
improve Parser::parse

Codecov Report

Merging #4 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##             master     #4   +/-   ##
=======================================
  Coverage       100%   100%
+ Complexity      124    120    -4
=======================================
  Files             7      8    +1
  Lines           281    282    +1
=======================================
+ Hits            281    282    +1

Impacted Files
Coverage Δ
Complexity Δ

src/Argument.php
100% <ø> (ø)
5 <0> (-5)
:arrow_down:

src/ArgvParser.php
100% <100%> (ø)
23 <4> (+2)
:arrow_up:

src/Parser.php
100% <100%> (ø)
36 <0> (-2)
:arrow_down:

src/Option.php
100% <100%> (ø)
12 <5> (-7)
:arrow_down:

src/Parameter.php
100% <100%> (ø)
8 <8> (?)

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 aa5d43a...29ca631. Read the comment docs.


https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/best-practices-serverless-sql-pool#check-inferred-data-types

There is an error in the WITH Clause , the column names need to match the names in the rowset otherwise the user will get an error
SELECT
vendorID , tpepPickupDateTime,passengerCount
FROM
OPENROWSET(
BULK 'https://azureopendatastorage.blob.core.windows.net/nyctlc/yellow/puYear=2018/puMonth=/.snappy.parquet',
FORMAT='PARQUET'
)
WITH (
	vendorID varchar(4), -- we used length of 4 instead of the inferred 8000
	tpepPickupDateTime datetime2,
	passengerCount int
) AS nyc;

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

ID: a8fe92dc-089d-0795-3757-315c7dd46096
Version Independent ID: d21d7ac7-c616-b4ad-ab8f-aea248d3ebaf
Content: Best practices for serverless SQL pool - Azure Synapse Analytics
Content Source: articles/synapse-analytics/sql/best-practices-serverless-sql-pool.md
Service: synapse-analytics
Sub-service: sql
GitHub Login: @filippopovic
Microsoft Alias: fipopovi

@appliedcognetics Thank you for sharing feedback. We are actively validating it. We will share updates soon.

@filippopovic looks like column names in parquet is differing with example and resulting this error. Could you please validate and update doc as appropriate? Thank you.

@appliedcognetics thank you for your feedback. I submitted PR with proposed change.


 Include clear steps.
docker pull chromedp/headless-shell:latest
docker run -d -p 9222:9222 --rm --name headless-shell chromedp/headless-shell

What did you expect to see?
I want to run Chromedp on Linux, so I download the Docker image of Chromedp/Headless-shell, but after installing Chrome, I get an error when running my program: exec: "google-chrome": executable file not found in $PATH.
I think my application did not find Headless-shell Chrome. How can I set my program to find it?
What did you see instead?

Please read the doc to understand the difference between the ExecAllocator and the RemoteAllocator. In this case, you need to use the RemoteAllocator. See this comment for an example: https://github.com/chromedp/chromedp/pull/817#issuecomment-839495726

	ctx, cancel := chromedp.NewRemoteAllocator(context.Background(), "https://baidu.com")
	ctx, cancel = context.WithTimeout(ctx, 30*time.Second)
	ctx, cancel = chromedp.NewContext(
		ctx,
		chromedp.WithLogf(log.Printf),
	)
	defer cancel()
	var htmlContent string
	var imgBuf []byte
	err := chromedp.Run(ctx,
		chromedp.Navigate(url),
		chromedp.Sleep(5 * time.Second),
		chromedp.FullScreenshot(&imgBuf,100),
	)

I'm not sure that RemoteAllocator is the key of this issue, I try it and get an error: could not dial "https://www.baidu.com": unexpected websocket scheme: "https"

docker run -d -p 9222:9222 --rm --name headless-shell chromedp/headless-shell

RemtoeAllocator connects to the running browser (which is chromedp/headless-shell in your case).
-	ctx, cancel := chromedp.NewRemoteAllocator(context.Background(), "https://baidu.com")
+	ctx, cancel := chromedp.NewRemoteAllocator(context.Background(), "ws://localhost:9222/")
	ctx, cancel = context.WithTimeout(ctx, 30*time.Second)
	ctx, cancel = chromedp.NewContext(
		ctx,
		chromedp.WithLogf(log.Printf),
	)
	defer cancel()
	var htmlContent string
	var imgBuf []byte
	err := chromedp.Run(ctx,
		chromedp.Navigate(url),
		chromedp.Sleep(5 * time.Second),
		chromedp.FullScreenshot(&imgBuf,100),
	)

Thanks, i got it, but I find the screenshot can't solve Chinese characters, and it's normal when I print OuterHTML.


Add a possiblity to change the port

Hi,
An option to change the port like --port would be pretty great.
Thanks

Agreed! Should be easy to do


Instead of saying what type a prop is, use  syntax

This is an alternative solution to the props[name].type/props[name].value solution from https://github.com/open-truss/open-truss/pull/94: instead of saying that something has type: component, I am introducing a syntax way to specify it:
workflow:
  version: 1
  frames:
    - frame:
      view:
        component: OTAvailableWorkflowsFromEndpoint
        props:
          link:
-           type: component
-           value: NextLink
+         link: <NextLink />

While more magical, I like that this removes the need to specify that every string is a string and number is a number; this could really add up to a lot of lines in large configs.
What do you all think?

@hktouw this fixes the config builder too fyi so if we like this, we're all set there


<hc:Empty broken and not working

@NaBian  The following controls should show <hc:Empty view if it is empty, but it is not displayed

ListBox
DataGrid
TreeView
ComboBox
CheckComboBox
ListView

<hc:Empty seems to be broken
also this code not work
<hc:ToggleBlock IsChecked="{Binding ElementName=lst, Path=HasItems, Mode=OneWay}" VerticalContentAlignment="Stretch" HorizontalContentAlignment="Stretch">
    <hc:ToggleBlock.CheckedContent>
        <ListBox Name="lst"/>
    </hc:ToggleBlock.CheckedContent>
    <hc:ToggleBlock.UnCheckedContent>
        <hc:Empty/>
    </hc:ToggleBlock.UnCheckedContent>
</hc:ToggleBlock>

The default behavior is not to display Empty, you must assign true to ShowEmpty


[Bug]: Desktop version export related interface request speed optimization

ODC version
4.2.0
OB version
all mode
What happened?
Right click and select table export
1、Export panel object display interface

2、选择导出flowInstances接口

What did you expect to happen?
faster
How can we reproduce it (as minimally and precisely as possible)?
No Response
Anything else we need to know?
No response
Cloud
No response

This operation is related to create session. There is no solution currently.


Queue work - call multiple migrate commands keeps connections

Laravel Version: 5.8.22
PHP Version: 7.3.6
Database Driver & Version: 10.3.11-MariaDB

Description:
Calling Artisan::call('migrate', ['--force' => true, '--database' => 'tenant']); command at ShouldQueue job, but Laravel keeps mysql connection even if DB::purge('tenant'); is called and it multiplies on every new job run.
Steps To Reproduce:

Create new job example "MigrateJob" and setup new database connection on-the-fly:

...
config(['database.connections.tenant.database' => ..)]);
...

Set new connection default:

DB::setDefaultConnection('tenant');
DB::reconnect('tenant');

Call migrate command:
Artisan::call('migrate', ['--force' => true, '--database' => 'tenant']);
Purge connection:
DB::purge('tenant');
Setup queue worker, run on database/redis connection. Create new command and dispatch "MigrateJob" on that queue
Call multiple times "MigrateJob" for different multiple tenants/databases.
Check MySQL process list and there will be hangup/stuck processes for every "MigrateJob" even Laravel database connection is purged at code.

Some references about situation:
https://stackoverflow.com/questions/44550814/laravel-5-4-multi-tenant-migrations-switching-connections-for-migrations

Isn't this normal because you're queueing the jobs and re-creating a connection every single time?

All queued jobs needs to be on different database connection so I'm trying to re/connect before every new job start.
When database connection is re-created on different host I expect the previous one to be fully disconnected. But it keeps hanging and overflows mysql connection limits.

@girvydas you can't really expect that because previous requests maybe aren't finished processing yet. Depending on how many concurrent request you have got going on you'll always have a certain number of concurrent DB connections.

Closing this issue because it's inactive, already solved, old or not relevant anymore. Feel free to reply if you're still experiencing this issue and we'll re-open this issue.


Design question about using a single bridge file vs. in-line annotations

Hi! First off, thanks for creating Swift-Bridge! I really appreciate your work!
I have a question about the API design for the project. Swift-Bridge requires users to define a #[swift_bridge::bridge] module to expose functionality, whereas projects like wasm-bindgen allow attributes to be added directly to structs, enums, or functions throughout the codebase.
I’m curious about the reasoning behind this design choice. Is there a technical limitation that prevented you from annotating types in-line? Or did you prefer to have all bindings in a single file?
The reason I ask is that I I have many types throughout my Rust codebase that are exposed transparently to wasm/JS and that I'd like to expose to Swift. They currently live next to the rust code that handles them; I think it'd hurt codebase organization to put them in a single bridge file. I wonder if you've thought about this use case and have any advice.
Looking forward to hearing your thoughts! Thanks again for the amazing work.
Update: I see that maybe the API of swift-bridge is modeled after cxx. If any case I'm curious to know how you feel about the trade-offs between the single-file bridge API vs. inline annotations.

Hey Ryan.
I've added documentation explaining why we support the bridge module approach: https://github.com/chinedufn/swift-bridge/pull/301
In short, separating bindings from types was a matter of preference.
It also tends towards more efficient code, but for most real-world use cases I'd expect the difference to be meaningless.
All of this is better explained in the new documentation.

Please note that it is currently possible to define your FFI boundary across multiple files.
You can use the #[swift_bridge(already_declared)] attribute.
https://github.com/chinedufn/swift-bridge/blob/c45a38cf8730013a6a03af2184df0831f523b1a6/book/src/bridge-module/opaque-types/README.md?plain=1#L136-L166
Does that help with your use case?

Here's an example of using multiple bridge modules: https://github.com/chinedufn/swift-bridge/pull/302

Ooh interesting, thank you! Really appreciated reading through the documentation, and while I'd love inline annotations multiple bridge files works fine for me.

Ah, I've discovered args_into and return_into. So I can declare transparent enums like FfiEnum and then automate the conversions. Is that the intended happy path?

Yeah that's one way that args_into and return_into can be used.
For some use cases you could also consider use ffi::MyEnum so that you don't have to duplicate the enum.
I don't personally do that since my application code doesn't know about my bridging layer, but I've seen other open source crates use that pattern.

Oh I just saw your first comment https://github.com/chinedufn/swift-bridge/issues/300#issuecomment-2501997795
Specifically:

I'm happy to move them to the bridge file, but when I do they'll no longer be exposed to web.

So, yeah, args_into and return_into are currently the best way to handle your problem.


feat: Allow multiple listener rule condition blocks

Description
This change allow multiple condition blocks to be defined in a listener rule
Motivation and Context
Resolves https://github.com/terraform-aws-modules/terraform-aws-alb/issues/347
Breaking Changes
No
How Has This Been Tested?

[X] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[X] I have tested and validated these changes using one or more of the provided examples/* projects - planned but not applied due to not having a sandbox AWS account available
[X] I have executed pre-commit run -a on my pull request

This is on my list for tomorrow

This PR is included in version 9.8.0 :tada:


Is it possibly to get the eva package name in npm?

Hello
We are eager to get the eva package name in npm. We will be grateful if possible.
Best Regard

Hello,
Can you tell for which project do you need eva package name?
I don't like the idea to give this name but I will consider transfer of the name if your arguments are weighty.

Thanks for your kind response, our project is a set of front-end solutions to build intermediate and backend website, including all kinds of components,useful command line tools,data dashboard,navigation bar&page layout  renderer and so on. It can make website build become easy and elegant. Our team all like the film WALL·E and think the eva is very suitable for our project. Now our project is being audited and need a package name to publish. We will appreciate it if you can transfer of the name. Thanks again for your response and looking forward to your next reply.

Excuse me but I've decided to keep the name for my project.


Two "Add a level" buttons appear in stage editor

Description
When using the stage editor it seems there are two different buttons named "add a level"
Steps to Reproduce
Simply use the stage editor.  It happens every time.
Expected Behaviour
Expect only a single button

Fixed in v1.2 by #247


Appstudio update test-component-pac-mtts

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-mtts-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
20 seconds
clone-repository

✅ Succeeded
37 seconds
build-container

✅ Succeeded
18 seconds
sanity-inspect-image

✅ Succeeded
18 seconds
deprecated-base-image-check

✅ Succeeded
2 minutes
clair-scan

✅ Succeeded
50 seconds
clamav-scan

✅ Succeeded
14 seconds
sbom-json-check

✅ Succeeded
7 seconds
sanity-label-check

✅ Succeeded
8 seconds
sanity-optional-label-check

✅ Succeeded
5 seconds
show-summary

Pipelines as Code CI/test-component-pac-mtts-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
19 seconds
build-container

✅ Succeeded
16 seconds
sanity-inspect-image

✅ Succeeded
15 seconds
deprecated-base-image-check

✅ Succeeded
10 seconds
clair-scan

✅ Succeeded
32 seconds
clamav-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
23 seconds
sanity-label-check

✅ Succeeded
22 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/test-component-pac-mtts-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
19 seconds
build-container

✅ Succeeded
16 seconds
sanity-inspect-image

✅ Succeeded
15 seconds
deprecated-base-image-check

✅ Succeeded
10 seconds
clair-scan

✅ Succeeded
32 seconds
clamav-scan

✅ Succeeded
9 seconds
sbom-json-check

✅ Succeeded
23 seconds
sanity-label-check

✅ Succeeded
22 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
show-summary


Need to set --network-plugin=cni with docker mode

Describe the bug
when using docker, Pod Ip not managed by CNI plugin.
To Reproduce
1、wget https://github.com/containernetworking/plugins/releases/download/v0.7.5/cni-plugins-amd64-v0.7.5.tgz && tar zxvf cni-plugins-amd64-v0.7.5.tgz && mkdir -p /opt/cni/bin && mv * /opt/cni/bin/
2、install docker lastest version
3、using cmd `curl -sfL https://get.k3s.io | sh -s - --docker --no-flannel` to start k3s.
4、kubectl apply -f https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
5、start ANY k8s example.

Expected behavior
Pod IP should be CNI related, not docker default 172.17.xxx
Additional context
Is there any way to indicate --network-plugin=cni ?

You can use the --kubelet-arg option to add an argument to kubelet:
k3s agent --docker --kubelet-arg network-plugin=cni

@elvizlai Can you try with v0.5.0-rc3 to see if it's fixed for you?

Tested with v0.5.0-rc4. Ran steps above to download plugins, install docker, install k3s, and apply flannel plugin. Launched a test ubuntu pod and it appeared to get a pod IP (<IP_ADDRESS>/16):
root@k3s-node1:~# k3s kubectl get pods -o wide
NAME         READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
ubuntu-pod   1/1     Running   0          31s   <IP_ADDRESS>   k3s-node1   <none>           <none>

Thanks for testing @dnoland1!


⬆ Install ZXing from pip instead of debian package

Just in case you'll find the long build times for aarch64 in your ci scripts worrisome: so did I: https://github.com/zxing-cpp/zxing-cpp/discussions/536
Maybe simply using the current testing version 2.2.1-3 should fix this.
And I might be inclined to add binary wheels of zxing-cpp for aarch64 directly for future versions.

@axxel Thank you, as you may see I do use caching so build time isn't a big concern.

@BenoitAnastay Do I have to do the pip install in my system or will you add the bugfix in further release of paperless-home-assistant-addon? Sorry for that question - I not so familar with it ...


fixing tox Python 3.11 and 3.12 issues

Python 3.11 target doesn't run in tox. Fixing this.

The error seems to be due to codecov. Disabling it results in successful run of Python 3.11 target.
The remaining Python 3.12 test errors were due to this Pydantic issue which requires downgrading to Python 3.12.3 to resolve until Pydantic upstream fixes this for > Python 3.12.3.  Pinned our tox test installed version of Python 3.12 to 3.12.3.

@ATheorell @viborc we need to sort out the codecov rate limit issue. I don't have access to the Codecov account to resolve.  When resolved, we can reenable codecov.


Fix API URL. Fixes #10

To fix #10 (Seems like the URL needs to be https://connect.paj-gps.de/api/v1/
Added extra debug logging. Can be enabled in configuration.yaml

logger:
  default: error
  logs:
    custom_components.pajgps.device_tracker: debug

Looking good, but please give me few days to test it and maybe contact PAJ GPS, because it is working fine with old URL for all my devices, so I want to make sure this change won't brake anything.

@Skipperro Thanks.
Meanwhile, I updated the code locally with this change

@Skipperro Thanks.
Meanwhile, I updated the code locally with this change

i also did and can confirm that the "v1" url does the trick and the integration is working fine again.

Working well also on older devices. It will be part of next release (0.4.0)
Thanks @iursevla


ColumnDef's do not work with ajax calls

These are completely ignored. I'm baffled as to how anyone is using DataTables successfully, I must be missing something. I need to have my primary key in the grid (but hidden, it's a guid). But I cannot hide it with ColumnDef's because they don't work when the grid is loaded via ajax calls. There is a suggested solution here but it doesn't work https://datatables.net/forums/discussion/26357/unable-to-get-columndefs-render-to-work-on-columns-coming-from-ajax-request
Also, if I manually hide the column with Colums().visible it becomes visible again with responsive layout. I found it impossible to hide a column when using ajax and responsive=true
How in the world is anybody using DataTables with ajax calls, which is how I would imagine 95% are using it? You need to have your primary key in the grid for delting/updating yet you cannot hide it? Please somebody tell me I'm wrong, this grid is too good not to be able to use it.

Two things:

Please link to a test case showing the issue that you are having
I would appreciate if you could ask support questions in the DataTables forums please.

Regarding your question - this example shows that columnDefs do work with Ajax sourced data.
Without a test case I can only guess, but I presume that you are using Responsive. If so, the problem that you are encountering is that Responsive controls the column visibility automatically.
If you don't want data to be shown in the table, just don't include it in the table. You can still use the API, such as row().data() to access the data that isn't shown in the table. If you link to a test page I might be able to help further.


Support script version in fromat of 1.1,1.2

is it possible to support the script version in format like 1.1,1.2?
so we can separate cql file for each table.

Hi,
sorry for the late response.
Do I understand correctly, that you want to have something like this:
1_create_table_a.cql
2_create_table_b.cql
1.1_add_column_to_table_a.cql
I honestly think that this would result in a very high overhead and would make things very complicated as you would be required to maintain a version per table. What is done currently is that you check the schema_migration table for the latest version and then see which higher versions are provided in the script source, which is fairly simple.
If however we go for one 'version scope' per table the tool would be required to check for every major version if there are new minor versions.
If you really need this, you could achieve this also by using the code of this pull request. I see that I will release this soon.
You could basically create one instance per table and just provide different folders as source for the migrations. You just need to provide one prefix per table and you would maintain all tables in separate schema migration tables.
Cheers
Patrick

How i will configure in spring?
There is no option to configure one prefix per table.


[DO NOT MERGE] Testing size increase CI step

There is no reason to do what I did here other than testing the CI. Please ignore this PR and do not review, approve, or merge it.

Snapshot stored with reference name:
refs/pull/14839/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14839/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14839/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14839/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14839/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14839/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14839/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14839/merge#BCU1XR#0

Visualization tests for webgl1 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14839/merge/testResults/webgl1/index.html
If tests were successful afterwards, this report might not be available anymore.


Access to inner server

There seems to be no way of accessing the inner server of this module. Even to use an existing express instance needs to mess with the require cache (as per the example in the docs).
I particularly want to run a Websockets server in the same host and port, which would be possible if either I had access to the inner server or better yet: if I could specify a server in setConfig().

+1


Add missing mtl-style instances for HasCliConfig

Thanks!

Could be improved with a default signature on HasCliConfig.


Merge develop branch to v2 branch

Codecov Report

Merging #2415 (1af52bb) into v2 (c5442f5) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##               v2    #2415      +/-   ##
==========================================
- Coverage   97.62%   97.58%   -0.04%
==========================================
  Files          56       56
  Lines       10685    10685
==========================================
- Hits        10431    10427       -4
- Misses        254      258       +4

Impacted Files
Coverage Δ

botocore/httpsession.py
92.55% <0.00%> (-0.47%)
:arrow_down:

botocore/utils.py
96.81% <0.00%> (-0.16%)
:arrow_down:

botocore/credentials.py
98.55% <0.00%> (-0.11%)
:arrow_down:

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 c5442f5...1af52bb. Read the comment docs.


tensorflow lite?

how would i get this into tensorflow lite format? I'm trying to run this in a mobile app
I was able to get the model working on mac os, but dont know where to go from here. Seems like Tensorflow lite is best for mobile

Hi, according to this page, it's possible to convert PyTorch models to TF Lite format. I haven't worked with LiteRT but this tutorial might help with the conversion.
The model architectures are available under src/glasses_detector/[classifier | detector | segmenter].py (create_model method) or simply via .model attribute.

@MobileMon-Majestic I have a similar need - did you succeed? if yes, would you mind sharing the process? thanks!


Update Python dependencies with dependabot

This PR adds dependabot to this repository to keep our Python dependencies up-to-date.

@ablbot rebase


fix snakecase's behaviour on already-snakecased numbers

Hey, found an interesting one via this project's indirect use in Helm.
Running ToSnakeCase on ABC_123_DEF adds an extra underscore, yielding ABC_123__DEF. Expected behaviour would be to return the input unchanged.
This PR adds a test and fix for this case.
Thanks for your work on this!
Jarrad

@huandu looking forward to reviewing this PR. Thanks a lot.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.847%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
983

Relevant Lines:
1015

💛  - Coveralls

Thanks for your contribution!

This fix has been published in tag v1.3.3.

@huandu when will be released? Thanks very much.

@huandu Thanks very much.


Show collection % of portfolio in pie chart

Add pie chart to the "stats" row that shows the relative min. value for each collection.

Done


Feature Request: Add Copy To Clipboard Button

I think it would be a neat feature to have a copy to clipboard button.
I think implementing it with clipboard.js would be a good idea.
Here's an example of it on codepen
What do you guys think?

Would document.execCommand('copy') be suitable in this case, just to avoid adding another dependency?

I don't really mind how it is implemented as long as it works. If  you think document.execCommand('copy') is suitable, then try and use it, if there's something I could help, please let me know

Thanks for the issue and the pull request. I manually applied it today.
24a7662688fd783b7a12c84fb070e4f9e6afb233
Cheers


Build wget with bundled ca-cert

Current wget refuses to work unless I use --no-check-certificate
I recently switched to building from your repo, previously I relied on: https://github.com/supriyo-biswas/static-builds/blob/master/wget/build.sh
That wget worked without us having to supply a ca-cert on our own or to use the --no-check-certificate flag:
https://github.com/supriyo-biswas/static-builds/releases/tag/wget-1.24.5

Becasue openssl in Alpine set --openssldir=/etc/ssl but my repo set --openssldir=etc/ssl, mine is relative to installation prefix.
I will change it to --openssldir=/etc/ssl

done.


_add_transactions() fails on master and latest tag

Hi,
First of all, thanks a lot for creating this package! It's really helpful for automation.
Running the csvimport script fails with this message on master branch and 0.5 tag:
  File "csvimport.py", line 186, in <module>
    csvimport_main()
  File "csvimport.py", line 42, in csvimport_main
    do_csvimport(args)
  File "csvimport.py", line 182, in do_csvimport
    client.add_transactions(transactions)
  File "/home/noam/projects/open-source/pynYNAB/pynYNAB/Client.py", line 339, in add_transactions
    self._add_transactions(chunkelement)
TypeError: _add_transactions() takes exactly 2 arguments (1 given)

Reverting to 0.4.3 solves the problem, so I guess it's some commit in between.

Sorry, the csvimport is kinda unused so it lagged behind the rest of the
library. I'll look into it
On Mar 24, 2017 23:00, "Noam Elfanbaum"<EMAIL_ADDRESS>wrote:
Hi,
First of all, thanks a lot for creating this package! It's really helpful
for automation.
Running the csvimport script fails with this message on master branch and
0.5 tag:
File "csvimport.py", line 186, in
csvimport_main()
File "csvimport.py", line 42, in csvimport_main
do_csvimport(args)
File "csvimport.py", line 182, in do_csvimport
client.add_transactions(transactions)
File "/home/noam/projects/open-source/pynYNAB/pynYNAB/Client.py",
line 339, in add_transactions
self._add_transactions(chunkelement)
TypeError: _add_transactions() takes exactly 2 arguments (1 given)
Reverting to 0.4.3 solves the problem, so I guess it's some commit in
between.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rienafairefr/pynYNAB/issues/36, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAuS9SwMkDJ-wntC1PTP5UQh_QNyukoPks5rpD0CgaJpZM4Mo0IR
.

Hey @noamelf, can you check back on the status of this ? I just reorganised the way the scripts are invoked are transactions pushed, I think there should be no problem now, with latest master b714999

Hi, thanks that was quick!
I got 2 errors while rerunning it. The first:
ImportError: No module named ofxtools
After installing ofxtools, I run it again and received:
No handlers could be found for logger "pynYNAB.__main__"

@noamelf: I had the same issue but you could try again now as some fixes were made.


implement inverse_laplace_cdf prestosql function

Description
Add missing function to handle inverse_laplace_cdf prestosql function

@aditi-pandit can you please assign this issue to me

Fuzzer output
I0705 22:19:11.239110 2038630 ExpressionVerifier.cpp:54] At 98 [ null vs null ]
I0705 22:19:11.239120 2038630 ExpressionVerifier.cpp:54] At 99 [ null vs null ]
I0705 22:19:11.239127 2038630 ExpressionVerifier.cpp:57] ===================
I0705 22:19:11.239153 2038630 ExpressionVerifier.cpp:69] All results match.
I0705 22:19:11.239212 2038630 ExpressionFuzzer.cpp:1357] ==============================> Done with iteration 111
I0705 22:19:11.239902 2038630 ExpressionFuzzer.cpp:1092] ==============================> Top 1 by number of rows processed
I0705 22:19:11.239923 2038630 ExpressionFuzzer.cpp:1094] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I0705 22:19:11.239926 2038630 ExpressionFuzzer.cpp:1098] inverse_laplace_cdf 12084 100.00% 1099
I0705 22:19:11.240000 2038630 ExpressionFuzzer.cpp:1104] ==============================> Bottom 1 by number of rows processed
I0705 22:19:11.240005 2038630 ExpressionFuzzer.cpp:1106] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I0705 22:19:11.240010 2038630 ExpressionFuzzer.cpp:1111] inverse_laplace_cdf 12084 100.00% 1099
I0705 22:19:11.240016 2038630 ExpressionFuzzer.cpp:1124] ==============================> All stats sorted by number of times the function was chosen
I0705 22:19:11.240020 2038630 ExpressionFuzzer.cpp:1126] Format: functionName numTimesSelected proportionOfTimesSelected numProcessedRows
I0705 22:19:11.240024 2038630 ExpressionFuzzer.cpp:1130] inverse_laplace_cdf 12084 100.00% 1099
[==========] Running 0 tests from 0 test suites.
[==========] 0 tests from 0 test suites ran. (0 ms total)
[  PASSED  ] 0 tests.

root@ubuntuscalar1:~/new_scalar/velox# scripts/check.py format main
Skip : velox/docs/functions/presto/math.rst
Ok   : velox/functions/prestosql/Probability.h
Ok   : velox/functions/prestosql/registration/ArithmeticFunctionsRegistration.cpp
Ok   : velox/functions/prestosql/tests/ProbabilityTest.cpp


Fake latency bug

so, when I enable backtrack on a community server, didn't test local/casual, and I set latency to any number than isn't 0, after some very short time I will have a "timing out" effect. All enemies are stuck in place and I move at superspeed, things go to normal if I set latency back to 0

@lnx00


Unexpected print in Middleware

Hello)
I found the print in library code: https://github.com/trallnag/prometheus-fastapi-instrumentator/blob/673b922e97a4e943a0e4d23db7767015e4c751dd/prometheus_fastapi_instrumentator/middleware.py#L80
Can you pls remove it or allow some customization of this behavior?)

Fixed in #157. Will be released soon(tm)


Move navbar to top of page?

Discussed in https://github.com/orgs/CollectionBuilder/discussions/130

Originally posted by AKhan139 July 18, 2024
Hi all! I'm working on a new site using Collection Builder and having a ton of trouble moving the navigation bar to the top of a page, as opposed to being below the main banner image. I've been able to generate a sort of mini-homepage that looks the way i want with the navbar on the top of the page, but this whole thing exists below the current banner image and navigation bar and I can't figure out how to get rid of it/move it below the navigation bar. Any insight is appreciated!

Link to repo: https://github.com/AKhan139/tracing-medea/

@AKhan139 Discussions is the best place for this question, since you already have the question there, I'm just closing this Issue here!


STS issue fix (https://tracker.ceph.com/issues/47588)

Signed-off-by: Kalpesh Pandya<EMAIL_ADDRESS>

Here's the link to the run for reference: http://pulpito.front.sepia.ceph.com/kapandya-2020-09-25_13:31:04-rgw:sts-master-distro-basic-smithi/

@TRYTOBE8TME thanks for testing!

i cherry-picked this to the ceph-master branch


Problem with Shoulder Surfing and throwing weapons (1.19.2)

There seems to be a problem when you use a throwing weapon (tomahawks, throwing knifes, etc) and using Shoulder Surfing Reloaded.
Crash Report

Players with the shoulder surfing mod installed cant even log into the server if they have a throwing weapon equipped, I have to always edit it out of their inventories with NBTExplorer.
I've done some reading on this issue already, but was unable to make it work.
I tried to not use the new crosshair, as stated in the previous issue that the crosshair was causing the problem, but still with no success:

i got the same error, i tried absolutely everything i could, and by the looks of it, is every weapon that has "ammo" that you can throw like knifes, javelins.. i the devs will need to update for them to work together!

Hey,
Yeah the issue is due to an update to Shoulder Surfing Reloaded that changed where certain parts of code are located.
In the meantime, you might need to roll back the version of Shoulder Surfing Reloaded to the version supported. I think I was using version 2.9.7 (the one before version 3.0.0).
I checked the changelog for version 3.0.0 and yeah... it does mention 3rd party plugins breaking.
Also, I figured out this also affects the 1.18.2 version as well.
This will be fixed in the next update.

Hey, Yeah the issue is due to an update to Shoulder Surfing Reloaded that changed where certain parts of code are located. In the meantime, you might need to roll back the version of Shoulder Surfing Reloaded to the version supported. I think I was using version 2.9.7 (the one before version 3.0.0). I checked the changelog for version 3.0.0 and yeah... it does mention 3rd party plugins breaking. Also, I figured out this also affects the 1.18.2 version as well. This will be fixed in the next update.

thanks for the info!

I've uploaded a fix for this issue that should go live soon. Hopefully this is the last time Shoulder Surfing Reloaded causes a crash with this one lol
Closing issue

Oh no... I opened my big mouth... I tested this fix with version 4.0+ of Shoulder Surfing Reloaded and guess what? It crashed... AGAIN... and I'm gonna have to fix it... yet again

Fixed it again in the new 1.19.2 and the 1.20.1 versions. Yeah that's out now.
Closing issue


Create sdks-overview.md

🚀 Deployed on https://65750d8b3fed5a3e0dde79db--cozy-fox-0defec.netlify.app

Committing this w/o the comparison table that Daniel needs to push live :)


Set deprecated PreRelease for QueueVisibility feature.

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Set deprecated PreRelease for QueueVisibility feature.
Which issue(s) this PR fixes:

Part of #2256
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/lgtm
/approve
Thanks!


feat(sink): Support Deletes for ClickHouse ReplacingMergeTree

ClickHouse now supports [1] a is_deleted column (optional) when creating a ReplacingMergeTree.

Adds new clickhouse.delete.column config option, which when set will enable upsert to a ReplacingMergeTree

When the value is deleted the value of this column is set to 1 instead of the default 0.

[1] https://clickhouse.com/docs/en/engines/table-engines/mergetree-family/replacingmergetree#is_deleted
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?

Checklist

[x] I have written necessary rustdoc comments
[ ] I have added necessary unit tests and integration tests
[ ] I have added test labels as necessary. See details.
[ ] I have added fuzzing tests or opened an issue to track them. (Optional, recommended for new SQL features #7934).
[ ] My PR contains breaking changes. (If it deprecates some features, please create a tracking issue to remove them in the future).
[x] All checks passed in ./risedev check (or alias, ./risedev c)
[ ] My PR changes performance-critical code. (Please run macro/micro-benchmarks and show the results.)

[ ] My PR contains critical fixes that are necessary to be merged into the latest release. (Please check out the details)

Documentation

[x] My PR needs documentation updates. (Please use the Release note section below to summarize the impact on users)

Release note
This patch adds the ability for propagating DELETE operations to a ClickHouse table backed by a ReplacingMergeTree. When using the type='upsert' you will need to specify a clickhouse.delete.column corresponding to the respective column in ClickHouse. If you are using the is_deleted feature then you will need to use a UInt8 type for ClickHouse.
When a DELETE occurs, the value of this column will be flipped to a value of 1 which will allow ClickHouse to ignore this row (and all previous versions) automatically when performing a FROM <table> FINAL query.
Example
1.) Create ClickHouse Table
The following table is a simple K/V store. We use the ver column to denote the latest version, and the del column to indicate whether or not the key was marked for deletion.
CREATE TABLE kv_store
(
    `k` String,
    `v` UInt32,
    `ver` DateTime64,
    `del` UInt8
)
ENGINE = ReplacingMergeTree(ver, del)
ORDER BY k

2.) Create the RisingWave table
The table below will act as our source table for testing.
CREATE TABLE kv_store (
    k VARCHAR,
    v INTEGER,
    ver Timestamptz
);

3.) Create the Sink Connection
The following sink will write all data from the RisingWave kv_store into our ReplacingMergeTree while using the del column to indicate when a key should marked deleted.
CREATE SINK kv_store_sink AS
SELECT
    k,
    v,
    ver
FROM kv_store
WITH (
    connector = 'clickhouse',
    type = 'upsert',
    clickhouse.url = 'http://localhost:8123',
    clickhouse.user = 'default',
    clickhouse.password = '',
    clickhouse.database = 'default',
    clickhouse.table='kv_store',
    primary_key='k'
);

4.) Insert / Delete Data
dev=> INSERT INTO kv_store VALUES ('foo', 1, NOW());
INSERT 0 1
dev=> DELETE FROM kv_store WHERE k = 'foo';
DELETE 1

5.) Verify Delete Propagates to ClickHouse
SELECT *
FROM kv_store

   ┌─k───┬─v─┬─────────────────────ver─┬─del─┐
1. │ foo │ 1 │ 2024-06-17 15:13:30.712 │   1 │ <-- automatically set by new patch
   └─────┴───┴─────────────────────────┴─────┘
   ┌─k───┬─v─┬─────────────────────ver─┬─del─┐
2. │ foo │ 1 │ 2024-06-17 15:13:30.712 │   0 │
   └─────┴───┴─────────────────────────┴─────┘

2 rows in set. Elapsed: 0.002 sec.

6.) Validate Scan With FINAL Respects Delete
SELECT *
FROM kv_store
FINAL

Ok.

0 rows in set. Elapsed: 0.002 sec.

I thought about trying to use the approach that the Collarpsing merge trees and infer the delete column from the query DDL itself, but there were some drawbacks

Felt really hacky with the DDL, error prone
Disallows users to use a delete column without actually specifying it on the table (if they want to preserve visibility)

Thanks for the contribution! Generally LGTM.
One minor comment on the RW sink example in the Release Note: I think clickhouse.delete.column option is missing in the example. Would you mind updating that?
@xxhZs PTAL.

Good catch, updated!

I thought about trying to use the approach that the Collarpsing merge trees and infer the delete column from the query DDL itself, but there were some drawbacks

Felt really hacky with the DDL, error prone

Thanks for bringing this up. This is hacky indeed. I think we should deprecate hacking around DDL and add an option for the sign column like clickhouse.delete.column for collapsing merge engine.
Btw, FYI we are developing a feature call stream changelog (#17132) to convert a retractable stream into an append-only changelog stream with the additional op column, which is a generic way to solve similar issues. With that, we can use the following syntax to support fill-in the delete column for CK ReplacingMergeTree:
# kv_store_changelog's schema is (k, v, ver, op)
# op = 1: INSERT
# op = 2: DELETE
# op = 3: UPDATE_INSERT
# op = 4: UPDATE_DELETE

CREATE SINK kv_store_sink AS
WITH kv_store_changelog as CHANGELOG FROM kv_store
SELECT
    k,
    v,
    ver,
   (CASE WHEN op == 2 or op == 4 THEN 1 ELSE 0) as del
FROM kv_store_changelog
WITH (
    connector = 'clickhouse',
    type = 'append-only', -- kv_store_changelog is append only
    clickhouse.url = 'http://localhost:8123',
    clickhouse.user = 'default',
    clickhouse.password = '',
    clickhouse.database = 'default',
    clickhouse.table='kv_store',
    primary_key='k'
);

I think we can still merge this PR given that the change is small and it is easier to use from user's perspective.

I thought about trying to use the approach that the Collarpsing merge trees and infer the delete column from the query DDL itself, but there were some drawbacks

Felt really hacky with the DDL, error prone

Thanks for bringing this up. This is hacky indeed. I think we should deprecate hacking around DDL and add an option for the sign column like clickhouse.delete.column for collapsing merge engine.
Btw, FYI we are developing a feature call stream changelog (#17132) to convert a retractable stream into an append-only changelog stream with the additional op column, which is a generic way to solve similar issues. With that, we can use the following syntax to support fill-in the delete column for CK ReplacingMergeTree:
# kv_store_changelog's schema is (k, v, ver, op)
# op = 1: INSERT
# op = 2: DELETE
# op = 3: UPDATE_INSERT
# op = 4: UPDATE_DELETE

CREATE SINK kv_store_sink AS
WITH kv_store_changelog as CHANGELOG FROM kv_store
SELECT
    k,
    v,
    ver,
   (CASE WHEN op == 2 or op == 4 THEN 1 ELSE 0) as del
FROM kv_store_changelog
WITH (
    connector = 'clickhouse',
    type = 'append-only', -- kv_store_changelog is append only
    clickhouse.url = 'http://localhost:8123',
    clickhouse.user = 'default',
    clickhouse.password = '',
    clickhouse.database = 'default',
    clickhouse.table='kv_store',
    primary_key='k'
);

I think we can still merge this PR given that the change is small and it is easier to use from user's perspective.

This will be great!

:shipit:


feat(s2n-quic-core): add HyStart++ support

Resolved issues:
resolves #1222
Description of changes:
This code adds HyStart++ algorithm in addition to hybrid_slow_start logic in s2n-quic.
The detailed logic is described in draft-ietf-tcpm-hystartplusplus-04
The HyStart++ won't be used by default. To use it, USE_HYSTART environment variable should be set before application starts.
Testing:
HyStart++ can be very efficient when there's are jitters in RTT. If you test it under heavy jitter environments or create artificial jitters, the advantage of HyStart++ would be very visible.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Can you merge from main? #1263 and #1270 were added to fix CI for forked repos


Add diff/pctChange to Series

diff and pctChange features added in https://github.com/javascriptdata/danfojs/pull/418 https://github.com/javascriptdata/danfojs/pull/414 only extend to DataFrames. Currently unable to apply to a single column slice without adding extra steps.

@NeonSpork Would you like to add this?

I think we need more information specifically about what you're trying to achieve that's failing, and how @joshuakoh1 ?
The diff/pctChange functions should mirror the behavior of the other math functions like pow etc, and it should accept a single number, series, column, etc, already.
Can you provide example code and errors and more detailed information about what behavior you expected please?

@NeonSpork Just trying to calc the diff/pctChange for a single series instead of the full DataFrame. Would like to be able to do  df.column.pctChange(1) instead of df.pctChange(1).column. The latter performs unnecessary operations.


How to adjust epsilon (in epsilon greedy) on a per-episode basis, in parallel?

Hi Adam,
Thanks again for getting rlpyt set up.
I am wondering if it is possible to do this when running RL in parallel: within each parallel environment, at the beginning of each new episode, we draw epsilon from a desired distribution (e.g., a uniform distribution between 0.0 and 1.0).
There seem to be two main problems to tackle:

How to get independent epsilons set up per parallel environment.
How to enforce a change in epsilons after each episode, within each parallel environment.

I am looking at the epsilon greedy code:
https://github.com/astooke/rlpyt/blob/master/rlpyt/agents/dqn/epsilon_greedy.py
and it seems to expose some functionality that could be used. In particular, it looks like there are vector-valued epsilons, which are of length equal to the number of parallel environments, and I may be able to use this method for setting epsilons:
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/agents/dqn/epsilon_greedy.py#L82-L83
(It's unclear, though, if that epsilon can be allowed to be a vector or if I need to have a scalar there, while the code abstracts away the parallelism?)
In addition, I am wondering about the way that I can detect for finished episodes and then change the epsilon from there. It seems like I need to dig deep into the code. The main high-level abstraction for training happens in code like this:
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/runners/minibatch_rl.py#L252-L263
However, given that one single itr will result in a batch of samples, which may include finished episodes, I may need to look at the sampler code. This leads to this in the base class which the subclasses (GPU, etc.) will inherit
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/base.py#L101-L113
I am not quite sure how to proceed. It suggests that each worker does its own thing, but I don't know where to detect if an episode finished (not a life but an episode if we consider games with multiple lives).
I'm curious if you have thoughts on the way to implement this? Perhaps it is easier to deal directly with the epsilon greedy class and write code that can detect a finished episode there?

Hi!  Sorry for the slow response, but this is an interesting idea!
You are right that the epsilon can be either a scalar or a vector of length equal to the number of parallel environments.  Since the epsilon is handled in the agent, I think the easiest way to implement your idea would be to customize the agent's reset_one() method: https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/agents/base.py#L269
That method is called within the collector, e.g.: https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/cpu/collectors.py#L50  whenever and environment is reset (end of episode), and it includes an argument that tells the agent which environment it was.  So you could could get the current epsilon vector from the agent's distribution:  https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/distributions/epsilon_greedy.py#L25
and then change the value at the corresponding index.
Seem like that will work?

Hi Daniel and Adam! @DanielTakeshi  @astooke (I'm the undergrad working on Daniel's project)
I'm following up on this issue and hopefully find an easy fix.
I read both of your comments, and I think Adam pointed out a good place to check whether an episode is done: https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/cpu/collectors.py#L50
However, this agent.reset_one(b) can't be found in the GPU sampler.collector, whereas the nearby code look pretty much the same, I'm wondering if there's a reason for that or just because this is an unused detail? see https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/gpu/collectors.py#L34 and
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/cpu/collectors.py#L45
Another question for both @DanielTakeshi and @astooke is about end of a life in one play vs end of a game that leads to env reset.  Daniel wanted to "redraw epsilon at the start of every new episode", does that mean a new epsilon is needed after every life, even without env reset? Adam's docstring here
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/cpu/collectors.py#L15
is a little confusing to me: from the code logic
https://github.com/astooke/rlpyt/blob/a865f6712a049f9fd26500e924114e9582a6a5c2/rlpyt/samplers/parallel/cpu/collectors.py#L45
looks like the value d only indicates whether a life is lost, but you need "traj_done" to reset env?
Finally, I think it's easier to implement this epsilon-redraw process on the agent side, but detect episode-done in sampler.collecter, and call collector.agent.redraw() there. I'll keep working on this and update my progress. Thanks!!

Ah yes, in the GPU case, the agent lives in the master process, not in the sampler worker.  So you have to dig elsewhere for the agent.reset_one() call: https://github.com/astooke/rlpyt/blob/668290d1ca94e9d193388a599d4f719bc3a23fba/rlpyt/samplers/parallel/gpu/action_server.py#L71
From there, the logic should be the same.
As for the if getattr(env_info, "traj_done", d):, that's a correct reading.  If the environment provides a "traj_done" signal, the collector defers to that, else it just uses the normal done signal, which is what most environments will use.
Hope that helps!

Thanks @MandiZhao  and @astooke . Indeed if getattr(env_info, "traj_done", d) = True, then for games that have lives (e.g., Breakout) that will trigger when the agent loses all lives and has to do a "real" reset. But, as Breakout has lives, each time the agent loses a life that is NOT the final life, then getattr(env_info, "traj_done", d) = False but we get d=True from env.step(action) because there is still a partial reset usually, in Breakout it's when the particle resets to the center. For a game like Pong with one "life" there is no distinction between the two cases.
@astooke I am thinking of modifying the self.agent.reset_one(idx=b) method in a subclass so that it will take in an extra argument, truly_done. That way we can call the method with this pseudocode:
truly_done = getattr(env_info, "traj_done", d)
self.agent.reset_one(idx=b, truly_done=truly_done) ?

Then we can reset our epsilon only if truly_done=True.
I'll post a minimum working example soon, hopefully!

Hi @astooke  I think I am able to get this implemented to some extent. I'm currently doing this after every "done" but it should be easy to change it to every "true episode completion." For now let's just re-draw epsilon from a uniform distribution after each done signal.
I cloned the repository from today, installed, and made these git diff changes, putting them in pastebin: https://pastebin.com/a1uJYACR  (It looks like there are more changes than there really are but some of these are because my vim will strip away excess whitespace.) To summarize, here is how I'm testing:

I'm using examples/example_5.py which runs DQN, except: (a) I use a CPU sampler for now, (b) I change to MinibatchRl to reduce the need to consider an "eval" epsilon, and (c) I adjust T and B. For example, in the git diff I have T=4 and B=2. There is also n_parallel=2. This means that each worker will be allocated one of the B=2 parallel environments that I requested.

Inside the DQN agent class:
https://github.com/astooke/rlpyt/blob/668290d1ca94e9d193388a599d4f719bc3a23fba/rlpyt/agents/dqn/dqn_agent.py#L18-L22

I'm defining a new method:
+    def reset_one(self, idx):
+        """Testing if we can change the epsilon.
+
+        The `idx` represents the parallel env, within this worker process.
+        Therefore, if there are k parallel workers, each with one env (for k
+        parallel envs), then idx must be equal to 0. But there are cases where
+        if the num of parallel envs is higher than available workers, we have
+        multiple envs per worker.
+        """
+        eps = self.distribution.epsilon
+        import numpy as np
+        eps_targ = np.random.uniform(0, 1)
+        print('\n\nInside reset_one(idx={}), current eps {:.3f}, set to {:.3f}\n'.format(
+                idx, eps, eps_targ))
+        self.distribution.set_epsilon(eps_targ)

to override the parent's reset_one method.

The last step is to get the epsilon greedy agent to avoid setting the sampler. This is done here at the last line:

https://github.com/astooke/rlpyt/blob/668290d1ca94e9d193388a599d4f719bc3a23fba/rlpyt/agents/dqn/epsilon_greedy.py#L100-L111
In other words, the above method will linearly interpolate within the desired decay range of epsilon to get the value we want. I just comment out the last line of that method. That way, only the reset_one method is responsible for setting an epsilon value. I also added a debug print there to tell which itr it is.
To test, I run python examples/example_5.py --game breakout because Breakout will lose lives quickly in many cases, hence making it easy to test my print statements (as you can see in the git diff). I quickly get values like this in order, where I copy and paste a consecutive part of the logging output starting from when the current eps is re-drawn.
Inside reset_one(idx=0), current eps 1.000, set to 0.605

0% [#                             ] 100% | ETA: 00:00:01sample_mode(itr=5), eps_sample is: 1.0
sample_mode(itr=5), eps_sample is: 1.0
sample_mode(itr=5), eps_sample is: 1.0

Inside reset_one(idx=0), current eps 1.000, set to 0.612

sample_mode(itr=6), eps_sample is: 1.0
sample_mode(itr=6), eps_sample is: 1.0
sample_mode(itr=6), eps_sample is: 1.0
sample_mode(itr=7), eps_sample is: 1.0
sample_mode(itr=7), eps_sample is: 1.0
sample_mode(itr=7), eps_sample is: 1.0
sample_mode(itr=8), eps_sample is: 1.0
sample_mode(itr=8), eps_sample is: 1.0
sample_mode(itr=8), eps_sample is: 1.0
0% [##                            ] 100% | ETA: 00:00:01sample_mode(itr=9), eps_sample is: 1.0
sample_mode(itr=9), eps_sample is: 1.0
sample_mode(itr=9), eps_sample is: 1.0
sample_mode(itr=10), eps_sample is: 1.0
sample_mode(itr=10), eps_sample is: 1.0
sample_mode(itr=10), eps_sample is: 1.0

Inside reset_one(idx=0), current eps 0.605, set to 0.203

sample_mode(itr=11), eps_sample is: 1.0
sample_mode(itr=11), eps_sample is: 1.0
sample_mode(itr=11), eps_sample is: 1.0

Inside reset_one(idx=0), current eps 0.612, set to 0.881

It seems like this is working successfully, in that one of the parallel envs will draw 0.605 as the first epsilon, and then later it draws 0.203. Meanwhile the other parallel env first draws 0.512, then draws 0.881, etc. You can see this happens very quickly (just 11-ish itrs) because Breakout quickly loses lives when the ball goes right past the agent.
I believe this is basically intended behavior.
To keep it simple, I think I'm going to keep the number of workers (args.n_parallel) equal to the number of parallel envs B, so that there is exactly one env per worker. This way I avoid the case of potentially changing epsilons in between episodes. If there are two environments in one worker, if one of the two finishes, it will reset epsilon but potentially not before the second one finishes. This can probably be fixed with an epsilon vector but I'm getting scalars by default so might as well stick with those. Does this make sense?

Hi!  Yes this all makes sense.  And good catch about changing the agent's sample_mode() method.
Indeed, in the GPU sampler, if you want to have different epsilon for each environment, then you must use vector epsilon, because all the environments have their actions sampled together.
As for an example, the setting is kind of buried in one of the config files for R2D1:
https://github.com/astooke/rlpyt/blob/668290d1ca94e9d193388a599d4f719bc3a23fba/rlpyt/experiments/configs/atari/dqn/atari_r2d1.py#L67
But it's all in the EpsilonGreedyAgent.  It always needs a eps_final kwarg.  And if you provide an eps_final_min, it will make a log-spaced vector of epsilon values according to the number of environments.  If you're running the regular GPU sampler, then the global_B is just the batch_B of the sampler, and the env_ranks will just be like list(range(batch_B)).  (But it's set up to support multiple sampler instances in parallel, each with different assignment of epsilon values.)
The vector epsilon should be pretty easy to use, just using the same print/debug statements you already have.  If the dimensions don't line up correctly, it'll throw an error anyway (i.e. if you have the wrong-sized vector).
As for the env_info not coming through to the GPU sampler, hmm,  you could make the step_buffer include an extra field for that if you need.  But I would guess that any time you are resetting the agent (imagine resetting the LSTM state), you would want to change the epsilon then?


Flutter issue

Failed assertion: boolean expression must not be null

Can you please add information how to reproduce?
This usually just points out an error in your code.
A common mistake is to assume that a variable of type bool can not be null in Dart, but it can.

This issue is unfortunately not actionable. Feel free to open a new issue if you fill out the details requested in the bug filing template https://github.com/flutter/flutter/issues/new?template=BUG.md


This allows us to better log user actions

This will allow us to pass in user specific keys and secrets. This will allow us to track user behavior and adds an additional layer of security.

Neat.  we specify these keys on the app side?

@aguynamedloren We will. The idea is to do a little handshake on login with IAM Incognito to give us temporary keys and secrets. Those will likely be stored encrypted in a table related to the user.
I need to start playing around with this and make sure it works as I intend it to tomorrow.
https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flow.html
http://docs.aws.amazon.com/sdkforruby/api/Aws/CognitoIdentity/Client.html#get_credentials_for_identity-instance_method


Deny the use of array methods on tuples

Suggestion
As the https://github.com/microsoft/TypeScript/issues/6325 has been declined to avoid breaking existing codes; I would suggest that we have a "strictTuple" type that denies those array methods on tuples.

🔍 Search Terms

tuple methods
✅ 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.

⭐ Suggestion
type StrictTuple<T extends any[]> =
    Omit<T, keyof (any[])> extends infer O ? { [K in keyof O]: O[K] } : never;

📃 Motivating Example
const x: StrictTuple<[number, string]> = [1, ""] // {0: number; 1: string }
x[1] = "okay";
x[0] = 123;
x.push(123); // error!
//~~~~ Property 'push' does not exist on type { 0: number; 1: string; }

💻 Use Cases
At the moment, we avoid using array methods like push, pop, shift, unshift when using tuples.
The suggestion above will give developers the option to keep the array methods on tuples or not.
Reference: https://stackoverflow.com/a/64070080/1883323

See https://github.com/microsoft/TypeScript/issues/39522#issuecomment-656201388:

We've opted to not include utility type aliases in the lib unless they're required for declaration emit purposes.

[X] and readonly [X] seem to cover the use cases fairly well. I would probably suggest
type StrictTuple<T> = Omit<T, "push" | "pop" | "shift" | "unshift" | "sort">;

since things like indexOf, map, every, etc are still presumably useful.

[X] and readonly [X] seem to cover the use cases fairly well. I would probably suggest
type StrictTuple<T> = Omit<T, "push" | "pop" | "shift" | "unshift" | "sort">;

since things like indexOf, map, every, etc are still presumably useful.

These are useful but they don't need to be on the instance. I would instead stick with a null-prototype array (and optionally lock down the object even more). playground
type StrictTuple<T extends any[]> = {
  [k in keyof T]: k extends ('length' | number) ? T[k] : never
}

function makeStrictTuple<T extends any[]>(x: readonly [...T]):StrictTuple<T> {
  // don't add any properties from the prototype (like `forEach` or `constructor`)
  const res = Object.setPrototypeOf([...x], null)
  // can't change the length or add new properties whose keys are natural numbers
  Object.defineProperty(res, 'length', { writable: false })
  // can't delete, redefine, or add new properties at all (but doesn't prevent setting length)
  Object.seal(res)
  return res
}

const tup = makeStrictTuple([1, "a", true])

// Note you can still use Array methods, but they are not properties of the Tuple type:
console.log(Reflect.apply(Array.prototype.indexOf, tup, ['a']))


My First PR commit

PR comments

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: cjxd-bot-test
If they are not already assigned, you can assign the PR to them by writing /assign @cjxd-bot-test in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@cjxd-bot-test: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

pr-build
19baa469062dbae7726bd8a7807684c7fe2aa82c
link
/test this

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Allow for multiple observers with the same schema

It is currently impossible to have multiple observer configurations that use the same schema.
This is because the Schema Name does not contain ".observers" and so it fails the duplication check that is supposed to allow it. That string is currently contained in the Schema Vendor.

@fingerco has signed the Individual Contributor License Agreement

Thanks @fingerco ! Assigning to @chuwy to review

Included in #80, closing


Remove memory copies when doing CRC32 processing in JdkZlibDecoder

Motivation:
We not need to do any memory copies when doing CRC32 processing.
Modifications:
Use ByteBufChecksum to eliminate memory copies.
Result:
Less memory copies.

lgtm

Cherry-picked into 4.1 (3ebbd96)


As a secretary, I can add club members’ information into the address book

... so that I can keep track of their contact information.

Implemented


npm package

Do you plan to release a npm package? It's not clear how to use that library in the React project which does not resemble what's inside the "project-template" folder. The code inside is not the best way to use React. JSX should not be used that way. It's too slow and not flexible, because it is not modular (I use jspm.io which uses ES6 modules and works smoothly with NPM and Bower packages).
The good example of exposing React components https://github.com/jessy1092/react-semantify/blob/develop/src/index.js
Why you return React as a part of Essence components??https://github.com/PearlVentures/Essence/blob/master/src/js/components.js#L4

Hi @hipertracker,
We included React framework in Essence in order to build a bundle without the need to include external React. So for now React is part of Essence as a component.
In the next couple of days we will create NPM and Bower packages so anyone can build their own bundles.
Thank you for your feedback.

For now I've been doing this as a work around:
npm i PearlVentures/Essence --save
And then including it in my project like this:

import Essence from 'essence/src/js/components.js';
var Btn = Essence.Btn;

I also add just downloaded essence.css and icons.css and referenced them in my HTML...I haven't messed with less yet.  BTW I use webpack in this project and the only issue I had was making sure to change all my React imports from
import React from 'react';
to
import React from 'react/addons';

I found  react-essence Npm package, but unfortunately it uses JSX inside which is not recognised by JavaScript. I use Webpack with babel-loader and it works with ES6 modules and JSX syntax. But when I run import Components from 'react-essence' I got a massive list of errors. All related to not recognised JSX format. I guess, it's because the package is not ES5 compatible.

Here is a webpack starter project that uses Essence.  I had to fork the repo because the package.son required React, and webpack was including it twice.  Instead of the nom module, I used NPM to then point to my forked repo.  Hopefully the react-essence nom module will be available soon.  Here is my starter project if you want take a look. https://github.com/University-Of-Cincinnati/essence-webpack

Looks great, buy why the starter is using Bootstrap? Is it needed? Is it not a risk to mix css  between Essence and Bootstrap? Can I safely replace Bootstrap with Semantic-UI?

Yeah. I just had it in because the grid system is more familiar to me.  I'll remove bootstrap from the example so it isn't confusing though.

@hetmann any update?

My suggestion: have a look at  react-bootstrap package, please. It keeps all source files in consistent ES6+JSX format. The NPM files are transpiled by Webpack and babel-node into universal UMD. The package is clean, modular and works fine for Node and the browsers.

Guys,
Just published the NPM Package for React-Essence, so here you go:
Install:
npm install react-essence@latest --save

Usage:

Import / Require

import { Btn, BtnItem, Icon, Block, Text } from 'react-essence';

React-Essence components example

<Block type='div' classes={'brick brick-6'}>

	<Text type='h2' classes={"e-display-1 e-text-blue-700"}>Some title</Text>
	<Block type='div' classes={'e-text-grey-400 e-caption'}>
		<Text>Some text</Text>
	</Block>

	<Block type='div' classes={'brick brick-6 e-text-right e-padding-top-15'}>
		<BtnItem
			classes={'raised e-background-pink-A200'}
			onClick={this.yourActionOnClick}
			label='Button 1'/>

		<BtnItem
			classes={'raised e-background-pink-A200'}
			onClick={this.yourActionOnClick}
			label='Button 2'/>
	</Block>
</Block>

:+1: awesome thank you


Update Remote-Containers command name in .devcontainer/README.md

In .devcontainer/README.md, "Remote-Containers: Open Repository in Container..." command name needs to be updated to "Remote-Containers: Clone Repository in Container Volume...".

Good catch - LGTM!


Code style: Omit public modifier

To make our codebase consistent, should we omit the public modifier since it's the default?
YES: Respond :+1:
class Example {
  num: number
}

NO: Respond :-1:
class Example {
  public num: number
}

Ref: https://www.typescriptlang.org/docs/handbook/classes.html#public-by-default

Im quite divided on that.
On one hand if there isnt modifier I always assume "protected" (no idea why)
On other hand, less code.


chore(deps): bump urijs and xss

SUMMARY
Bump a few JS deps:

xss to latest version 1.0.10
urijs to latest version 1.19.8

TESTING INSTRUCTIONS
CI + manual testing
ADDITIONAL INFORMATION

[x] Has associated issue: #18879 (partially addresses the ticket)
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

looks like the frontend build is failing :'(

Unfortunately npm audit fix broke stuff. I reverted that and just bumped those two packages, will look at running npm audit fix in a separate PR.

Unfortunately npm audit fix broke stuff. I reverted that and just bumped those two packages, will look at running npm audit fix in a separate PR.

not sure if running npm audit fix is worthwhile tbh, see https://overreacted.io/npm-audit-broken-by-design/ and a specific quote:

It doesn’t help that npm audit fix (which the tool suggests using) is buggy. I ran npm audit fix --force today and it downgraded the main dependency to a three-year-old version with actual real vulnerabilities. Thanks, npm, great job.


Our game is Sokoban-like game with a cute dragon player that pushes a flower to a green spot.
How do you play your game?
To play the game, you must use WASD to move a dragon that must push a flower to a green spot. Avoid red at all costs. Make sure to push crates out of the way, open doors by picking up keys, and use portals for difficult situations. The levels get progressively harder. Some other controls are "i" for information, like coordinates and level number, and "j" to restart the level if you get stuck.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[x] The image is in the /games/img directory.
[x] The name of the image matches the name of your file.

Thanks for your PR!

Hi! I just recorded a video that shows how to beat every level. For one of the levels, I messed up, but I used 'j' to restart the level. After that, I succeeded.
Screen recording 2023-07-14 9.32.18 AM.webm

Yeah, we noticed that error. We didn't think much of it because we couldn't find any way that it affected the gameplay. We also did not understand why it was happening. It would be great if you could help us fix it, unless there is no need to.

as it is not an error that affects the game itself, what about I add a wip tag to your game and we continue via Slack talking about and how to solve?

Sure, sounds good to me!

I ordered the sprig, and I will ask in slack about the error. Thanks so much!

We fixed the error, so now the game is completely functional with no errors.

We fixed the error, so now the game is completely functional with no errors.

Could you make another PR with fixed version? Thanks

Ok

I created another pull request with the fixed version.


Possible from CSR

I've implemented this on a react application.  Everything is working fine, but testing with google search tool doesn't actually show any scripts.  I've determined that this is likely because my frontend is client side rendered instead of server side.  Is it possible to use this with a CSR style app or must it be server side.  I imagine google is getting a bit smarter about checking sites with Javascript, but doesn't seem like this tool tests for that yet?

@Hudsonzp are you testing based on inspecting source? Inspecting source only shows you what's come from the server, so you won't see any of the JSON-LD stuff if you go and plug that into Google's testing tool.
If you're plugging in your URL and it's coming up with nothing, I'm not sure what's going on there.


undefined reference to 'absl::lts_2020_09_23::string_view::find(char, unsigned long) const'

when i compiling tensorflow_serving program,compiler report this problem.Anyone can help me?

There isn't enough information provided for us to offer help with this issue.


Unauthorized requests after token refresh for AJAX headers

Hi,
I am using AJAX headers to request tiles and everything seems to work fine until the authorization token is refreshed and I receive the new one. I am using the setAjaxHeaders method for when the new token arrives and the set is made on the viewer so it'll propagate to all tiled images, respectively tiles. After the token refresh however, I receive some errors on the console about some GET request being unauthorized, even though the setAjaxHeaders has been called and the new token is set. The errors are for the level where I was when the token refreshed, but I can receive errors for a level up/down in some instances. After these, I get no more errors until the next token refresh. Do you have any idea or starting point on how I can fix this issue? Thank you!

I wonder if it has to do with tile loads already in process when the changeover happens?

@iangilman yes, this happens when I am navigating on the viewer and at the same time the token refreshes, but it also happens when I don’t navigate in the viewer and is at a certain zoom level; after the new token has been set and I start navigating the errors appear.

Do you have the navigator up? I wonder if it's related to https://github.com/openseadragon/openseadragon/pull/2539, which hasn't been released yet.

Yeah, that is interesting. Still, it seems the most likely thing to figure out first.
Sounds like it's something that would need fixing inside OSD, like a more aggressive propagation of the new headers. If you're interested in pursuing a fix, I can point you in the right direction.


Fix formatting when long task names used. Fix for #267

Thanks! I have been irritated about this for months but never got around to actually do something about it! Will merge this tonight after work! :+1:

@marcosnz this is now merged, thanks for your contribution! :+1:


Dynatrace .Net SDK

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

Swagger Link: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/dynatrace/resource-manager

Close this one as the track2 code has been merged.


Adding more accurate information about client side scripts

Adding more information regarding #521
Including:

Typescript support status with RFC link
Script behavior depending of being is:inline or with define:vars attribute
Exemples added for a better understanding
Mention of multiple <script> tags on the same component not being an issue
Note about defining other attribute than directives ones will break the bundling

LGTY ?

LSGTM!

It looks good to me too!

Ugh, I’m SLOW tonight 😆

Champions! And congratulations @Chrissdroid for, I think, surving your first PR with ME?  ;)
Go Team!