bug: Required Text Input does not prevent a form from being submitted

Prerequisites | Prérequis

[X] I have read the Contributing Guidelines. | J’ai lu les Lignes directrices sur les contributions.
[X] I agree to follow the Code of Conduct. | J’accepte de me conformer au Code de conduite.
[X] I have searched for existing issues that already report this problem, without success. | J’ai vérifié parmi les tickets (issues) existants que ce sujet n’avait pas déjà été soumis.

GC Design System Components Package and Version | Paquet et version des composants de Système de design GC
gcds-components-react": "^0.25.1
Current Behavior | Comportement observé
In version 0.15.0, when an required Input Box was in a (non-gcds) form, it would prevent submission when empty. Now it lets the form be submitted, and after submission all the 'Enter Information to continue.' errors show up.
Expected Behavior | Comportement attendu
Expected behaviour is when its a required Input Box is in a form trying to be submitted, it would prevent submission when empty.
System Info | Information sur le système
Microsoft Edge Browser, Using a react framework and version 0.25.1

Steps to Reproduce | Étapes pour reproduire le bogue
Creating a required Input box within a form
Code Reproduction URL | URL de reproduction du code
https://codesandbox.io/p/sandbox/bug-report-4d3jl9
Additional Information | Informations supplémentaires
No response

@grathomp Thanks for the report!

@grathomp the sandbox link is broken, could you verify it's correct? TIA!

Try again now - I've updated permissions

Hey @grathomp, since the v0.15.0 we have made some big updates to our form components. Specifically in our v0.21.0 release we transitioned to use shadow-dom and form-associated components for our form components. This change made it so we would no longer use the browser validation and rely mainly on the built in validation for each form component. The submit event on the form may fire but it does not complete as it is prevented by the form component with the error message.
If you'd like to have additional logic (validation or other use cases), here's an example of how you should be able to wait for the required form elements to be validated first, and adding your logic/code on top of that before it gets submitted to the server.
  const handleSubmit = (event: any) => {
    // Timeout for 50ms to allow components to validate
    setTimeout(() => {
      // If the nativeEvent "submit" has not been prevented
      if(!event.nativeEvent.defaultPrevented) {
        setSubmitted("true");
      }
    }, 50);
  };

Closing this issue due to inactivity


Update workflow and run checks on relese branch instead of develop

Reference: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-branches

Also pull thee latest develop to fix some CI failures.


gpxsee: 13.11 -> 13.12

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gpxsee is: GPS log file viewer and analyzer
meta.homepage for gpxsee is: https://www.gpxsee.org/
meta.changelog for gpxsee is: https://build.opensuse.org/package/view_file/home:tumic:GPXSee/gpxsee/gpxsee.changes
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 13.12 with grep in /nix/store/b59w95awiray3b2vkym0gfh27161b5jn-gpxsee-13.12
found 13.12 in filename of file in /nix/store/b59w95awiray3b2vkym0gfh27161b5jn-gpxsee-13.12

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
gpxsee
gpxsee-qt5
gpxsee-qt6

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b59w95awiray3b2vkym0gfh27161b5jn-gpxsee-13.12 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gpxsee https://github.com/r-ryantm/nixpkgs/archive/c177b0e4e65b5b9a43b9df3469d20d06e449b1c8.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c177b0e4e65b5b9a43b9df3469d20d06e449b1c8#gpxsee

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b59w95awiray3b2vkym0gfh27161b5jn-gpxsee-13.12
ls -la /nix/store/b59w95awiray3b2vkym0gfh27161b5jn-gpxsee-13.12/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

gpxsee
gpxsee-qt6

Maintainer pings
cc @womfoo @sikmir for testing.

QtPBFImageplugin version 3 required.

Result of nixpkgs-review pr 273681 run on x86_64-darwin 1

1 package marked as broken and skipped:

gpxsee-qt6

2 packages failed to build:

libsForQt5.qtpbfimageplugin
qt6Packages.qtpbfimageplugin

1 package built:

gpxsee

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

4 packages built:

gpxsee
gpxsee-qt6
libsForQt5.qtpbfimageplugin
qt6Packages.qtpbfimageplugin


Markup is inadvertently escaped

With markdown:  escape_markup: false set both in system.yaml and default.md, markup is still escaped within elements. For example,
[grav]->[awesome]
 will render as [grav]->[awesome], which seems counter intuitive. I assumed this was related to ParsedownGravTrait L39, but even emptying that array has no effect.
Is this intended? Seemingly, escaping is done even when explicitly disabled.
A simple test case, in default.md:

[grav]->[awesome]

Check system.markdown.special_chars - by default it has
  markdown:
    special_chars:
      '>': gt
      '<': lt

Removing them, the output is unescaped (tested your example)

What is odd is that I can clearly see the effect of special_chars when escape_markup is true, but the effect is still applied with escape_markup: false in both system.yaml and default.md, at least for > and <.
I should note, this is Grav v1.2.4.

@OleVik This is because there is no check in ParsedownGravTrait.php#L48.


Can't launch the dev server on port 80 on Windows

Version
3.8.4
Reproduction link
https://github.com/Julien-R44/vue-cli-bug-reproduction
Environment info
Environment Info:

  System:
    OS: Windows 10
    CPU: (8) x64 Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz
  Binaries:
    Node: 10.16.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.16.0 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 44.17763.1.0
  npmPackages:
    @vue/babel-helper-vue-jsx-merge-props:  1.0.0
    @vue/babel-plugin-transform-vue-jsx:  1.0.0
    @vue/babel-preset-app:  3.8.0
    @vue/babel-preset-jsx:  1.0.0
    @vue/babel-sugar-functional-vue:  1.0.0
    @vue/babel-sugar-inject-h:  1.0.0
    @vue/babel-sugar-v-model:  1.0.0
    @vue/babel-sugar-v-on:  1.0.0
    @vue/cli-overlay:  3.8.0
    @vue/cli-plugin-babel: ^3.8.0 => 3.8.0
    @vue/cli-plugin-eslint: ^3.8.0 => 3.8.0
    @vue/cli-service: ^3.8.0 => 3.8.4
    @vue/cli-shared-utils:  3.8.0
    @vue/component-compiler-utils:  2.6.0
    @vue/preload-webpack-plugin:  1.1.0
    @vue/web-component-wrapper:  1.2.0
    eslint-plugin-vue: ^5.0.0 => 5.2.3 (4.7.1)
    vue: ^2.6.10 => 2.6.10
    vue-eslint-parser:  2.0.3 (5.0.0)
    vue-hot-reload-api:  2.3.3
    vue-loader:  15.7.0
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce
Just run npm run serve in the repository I've created to illustrate the bug ( ? ).
What is expected?
Launch the web server on port 80.
What is actually happening?
The web server is listening to port 81 instead of 80.

I tried to launch run the npm run serve as an administrator but that don't change anything.
I've make a simple test with webpack and webpack dev server to see if the issue was related to vue-cli : i'm launching the web server with this config :
...
devServer: {
    host: '<IP_ADDRESS>',
    port: 80
}
...

And it works, I can access to my project by typing <IP_ADDRESS> in my browser
That also proves nothing is already listening on port 80.
Thanks !

I'm sorry but this project works totally fine on my Windows 10 virtual machine… Maybe it's not a bug of Vue CLI, but caused by something else?

The dev server is listening on port 80 and not 81 ? Damn, I don't understand.
I will dockerize my application as a workaround but I will try to investigate further. Thanks for your time

Same issue here but instead 81 it listen on port 1024 for some reason 🤯

Closing this issue as we couldn't reproduce it and there haven't been any similar issues reported for the last 4 months.

This is also happened to me. I'm was trying to serve my vue as http://app.test, and have my php projects to serve as api in http://api.app.test.
Even though I set the port to 80, npm run serve will listen on port 81 instead.
But if I disable my apache, and rerun npm run serve, it will listen to port 80, so I think it can't share the port with apache.

i got the same problem.
after 10 min of work, vue cli start reload on port 81. but my second app listen port 80


TestUdevProbe fails with SIGSEGV in certain systems

TestUdevProbe returns SIGSEGV after trying to create a GPT partition on a disk that is currently being used by the system.
Crash logs can be found in this pastebin.
The issue seems to occur in cases when ndm isn't able to generate a uuid for the disk. The code for uuid generation can be found here. The failure in generating the uuid leads ndm to try creating a partition on the disk. This in turn fails since the device is busy and finally the test fails due to a nil pointer dereference on this line.
Environment

OS: Ubuntu 20.10 (Linux 5.8.0-50-generic, x86_64)
Number of disks: 1 (with 4 partitions). The disk does not have a wwn.
The machine is a VM running in VMWare Workstation.

This issue seems to be related to skipping error checks in the tests in multiple places. Adding appropriate checks should mitigate the issue.

Is only adding error check required? Dont we need also need to look at tests and say why the error is happening?

In the TestUdevProbe case, it tries fetching the blockdevice using the API client. But the device couldn't be added in the first place because a uuid couldn't be generated. The error check is skipped and a nil pointer is dereferenced. The other tests that might fail also seem to have similar calls. I'll check once if the underlying reason is the same.

All right, I have narrowed down this issue to TestUdevProbe only. But I also find some other issues in the unit tests. They aren't related to this but need fixing. One such issue can be found in TestSysFsDeviceGetHolders in syspath_test.go. This test passes the first time it is run, but fails on subsequent runs. It looks like it creates certain files in tmp dir and they aren't being cleaned up properly.
Shall submit a PR for all the issues encountered.


feat: AI planner - text completion

Add AI planner implementation, currently only text completion is available.
Response parser to parse JSON plan and DO/SAY syntax in plain text
Do not use TypedDict in turn state data models so we can have better intellisense
DefaultPromptManager now takes our own PromptTemplate type as input, instead of semantick kernel's PromptTemplate
Update the lint command to only fail when there is fetal and error message. The warnings, refactors, etc. should be acceptable to some extent, for example TODO comments in our current stage.

The code has been tested against the prompt in teams chef bot sample manually.
TODO: Add test cases for the code.

@aacebo maybe due to the previous merge commit to my branch, merging PYTHON branch again misses a log of changes. I'm closing this PR and created a new one #427 . Please check all my replies in this PR and leave new comments in the new PR instead.


[Android] Move model download path

The path Environment.getExternalStoragePublicDirectory is an external path out of app, according to https://developer.android.com/about/versions/11/privacy/storage, it requires APP to request runtime permission and declare in AndroidManifest.xml. But actually it doesn't make sense, considering it's just a temp path and in fact users are not expected to share the files(cause the finally path is APP internal), moving to cache dir is more reasonable and will be permission free, also fixes the permission issue over Android Q

I personally copied the files to avoid having to redownload for each devices,
The way to do it currently is not ideal but it does work.

on the source device, open the mlc chat 'files' folder in 'Android/data' with the builtin 'files' manager
compress the two folder for easier transfer via share
uncompress on new device to the 'Android' folder
touch and drag the two folders into data (because the 'move to' menu hides the data folder)
sort by modified so the mlc chat folder and the two models folder is near each other, select and drag the models into the mlc folder
select and drag the models again into the 'files' folder
and you are done copying without needing to redownload the models on each device

There might be an easier way, such as copying the models folders into termux or another app and setting up a server but I tried and it complains about plain text (unencrypted connection) then untrusted cert and I gave up trying this way of transferring.
Not everybody would be willing to burn through their mobile data or wait minutes if not hours at a public hotspot to try it after I introduce mlc chat to them, this allows me to transfer both the app and data and setup the whole thing in under 10 minutes, most of the time spend uncompressing and moving the files (due to security/permission checking or something when moving stuff into android/data)
If a way is added to easily share the models between instances, then it's probably fine to move the folder to a non user accessible place.


Adapt to embedded-hal-1.0.0-alpha.2

Builds on and superseeds #43

r? @ryankurte
(rust_highfive has picked a reviewer for you, use r? to override)

I've created a v0.3.x branch for ongoing maintenance of these releases, happy to land this on master for alpha releases now @posborne ?

@eldruin could you please update the changelog? then i can approve this / land #49 and ship an alpha ^_^

@ryankurte done, thanks!

Closing in favour of #50


[otbn, dv] Assertion of predec_error_o is not causing a fatal alert

@GregAC, @vogelpi, in this testcase, I'm trying to test CTRL.REDUN countermeasure for otbn. I'm trying to inject a fault by asserting predec_error_o . However, there is no fatal alert and the status of otbn is not going to locked state. Please find screenshot attached.

Hi @prajwalaputtappa ,
thanks for opening this issue. Can you maybe provide the command to reproduce this? Then Greg or I can have a look at the waves. There are multiple versions of predec_error_o (reg files, MAC, ALU etc.) and some of them are only taken into account if OTBN is actually seeing a valid instruction, i.e., it is running.

Hi @vogelpi,
I've made a temp commit to reproduce the issue. The commit id is 857c7495a8d914ba09f010422010848f257b9523. Please use the following command to reproduce the error:
util/dvsim/dvsim.py hw/ip/otbn/dv/uvm/otbn_sim_cfg.hjson  -i otbn_ctrl_redun --fixed-seed<PHONE_NUMBER> -w --tool=xcelium
I hope this helps. Let me know if you've any questions.

Thanks @prajwalaputtappa , the command will be useful.
I can't see the commit. What I would need is a branch name and you need to make sure that you actually pushed this branch to your OpenTitan fork. Then, I can checkout the branch and knowing the commit ID I can ensure that I am at the right place. But AFAIK, I cannot just checkout your commit using the provided ID.
If you can provide me the branch name, I can take a look on THU.

Pirmin, I've created a temporary PR here - https://github.com/lowRISC/opentitan/pull/13867

Thanks @prajwalaputtappa . I now had a look at this. As suspected, OTBN happens to be idle when the mac_en signal is forced for this test and seed. As you can see in the waves below, the predecode error is triggered inside the MAC unit but it doesn't propagate inside the core as OTBN is halted, i.e., not seeing valid instructions (see also the code snippet below).

From otbn_core.sv
  assign predec_error =
    ((alu_bignum_predec_error | mac_bignum_predec_error | controller_predec_error) & insn_valid) |
     rf_bignum_predec_error                                                                      |
     ispr_predec_error                                                                           |
     rd_predec_error;

This is not a bug, but instead I think the test needs to be made aware of this. Do you think it would be feasible to define that some of the target signals for the force are only expected to trigger an error if OTBN isn't idle? Or in other words, to formulate a condition for each target signal under which a force must be detected?

Closing issue - as this is not a bug.


Minor documentation, spelling, and syntax changes

See title. :-)

This PR pulled in masses of cruft from the python venv which I didn't want to send.


The jwt format is incorrect and panic directly

err = verifier.Verify(token.Payload(), token.Signature())
Once the JWT format of the previous Token input is incorrect, this code will immediately panic
Go1.17
Error message:
`panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x10 pc=0xbb6c0a]
goroutine 1 [running]:
github.com/cristalhq/jwt/v3.(*Token).Payload(...)
C:/Users/SKER/go/pkg/mod/github.com/cristalhq/jwt/v3@v3.1.0/jwt.go:52
ncovGin/tools.VerifyToken({0xe2f985, 0xc000046000})
C:/go-src/ncovGin/tools/jwt.go:63 +0x6a
main.main()
C:/go-src/ncovGin/test/test.go:14 +0x25
`

Hi, sorry for the trouble, care to show a bit more code? Like how do you create token, verifier. Thanks.

Ok, the complete code is in the attachment
jwt.txt

Test use 	_ ,err =jwt.ParseAndVerifyString(tokenstr,verifier) 	if err != nil { 		return err 	}
input error JWT format, no panic

Hm, have added test:
func TestTest(t *testing.T) {
	c := Claims{
		User: "me",
		StandardClaims: jwt.StandardClaims{
			ID:        "id",
			Audience:  []string{"aud"},
			Issuer:    "me",
			Subject:   "sub",
			ExpiresAt: jwt.NewNumericDate(time.Now()),
			IssuedAt:  jwt.NewNumericDate(time.Now()),
			NotBefore: jwt.NewNumericDate(time.Now()),
		},
	}
	s, err := NewToken(c)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(s)

	cc, err := ParseToken(s)
	if err != nil {
		t.Fatal(err)
	}
	t.Log(cc)

	if err := VerifyToken(s); err != nil {
		t.Fatal(err)
	}
}

And everything looks fine. I've found few things in your code:

no error checks in VerifyToken
here you're deleting all std claims claims.StandardClaims = jwt.StandardClaims{}

Can you show really FULL code, or an example token which you're trying to parse/verify.
Stacktrace from the original comment says that token has nil fields, which can be achieved only with an ignored error from ParseString here.

Have added
_, err = jwt.ParseAndVerifyString(tokenstr, verifier)
if err != nil {
return err
}

in VerifyToken func and still no error/panic in my test func.

You may not understand what I mean. My problem is that when the token is incomplete, it does not return an error, but directly panic. A complete token is:
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyIjoibWUiLCJTdGFuZGFyZENsYWltcyI6eyJqdGkiOiJpZCIsImF1ZCI6ImF1ZCIsImlzcyI6Im1lIiwic3ViIjoic3ViIiwiZXhwIjoxNjI5NjQ3NzkxLCJpYXQiOjE2Mjk2NDc3OTEsIm5iZiI6MTYyOTY0Nzc5MX19.-FmGSAZ92EwRSMdWrUdlvwmY3npF5_ISydsyjpsrQnU"
Delete one of his letters:
"YJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VyIjoibWUiLCJTdGFuZGFyZENsYWltcyI6eyJqdGkiOiJpZCIsImF1ZCI6ImF1ZCIsImlzcyI6Im1lIiwic3ViIjoic3ViIiwiZXhwIjoxNjI5NjQ3NzkxLCJpYXQiOjE2Mjk2NDc3OTEsIm5iZiI6MTYyOTY0Nzc5MX19.-FmGSAZ92EwRSMdWrUdlvwmY3npF5_ISydsyjpsrQnU"
Calling VerifyToken will panic directly instead of returning an error

Ok, got it. The problem is when you pass nil-token (which happens in your original example, due to skipped error checking).
But agree, should not panic. Dumb fix - add note in the docs to not pass nil-token, but better to add an if for every verifier. Will add this PR in 30 mins. Thanks for the suggestion 😉

Hm...not so fast! From the stacktrace: github.com/cristalhq/jwt/v3.(*Token).Payload(...) problem is NOT in Verifier but in incorrectly created Token. That's completely another problem.

This method can bypass this problem, and the incorrectly entered Token will no longer be panic.
func VerifyToken(tokenstr string) error {
	// and verify it's signature
	verifier, err := jwt.NewVerifierHS(jwt.HS256, key)

	_ ,err =jwt.ParseAndVerifyString(tokenstr,verifier)
	if err != nil {
		return err
	}
	return nil
}

Looks like it cannot bypass. parse cannot return nil-token and nil-error at once.
https://github.com/cristalhq/jwt/blob/bf8716cf4339f9c142662dcbb0e524109374c8d3/parse.go#L19-L37
So, here only 1 returned variable can be nil https://github.com/cristalhq/jwt/blob/bf8716cf4339f9c142662dcbb0e524109374c8d3/parse.go#L26
if it's non-nil error - we return from the func, if it's nil - token isn't nil and token.Payload() will not fail.

This do not panic as for bf8716cf4339f9c142662dcbb0e524109374c8d3
func TestTest(t *testing.T) {
	token := "bad-token-whatever"
	if err := VerifyToken(token); err != nil {
		t.Fatal(err)
	}
}

func VerifyToken(tokenstr string) error {
	// and verify it's signature
	verifier, err := jwt.NewVerifierHS(jwt.HS256, key)

	_, err = jwt.ParseAndVerifyString(tokenstr, verifier)
	if err != nil {
		return err
	}
	return nil
}

Hi @liyisker can you clarify that we've discussed everything and this can be closed? or we've something to discuss? Thank you.


Image height and width zero

OS:
PyQt version:

I am using the windows version. It was working very good the first time I used it. Filename was the same with image name, if jpg than filename in the xml was image.jpg; in the second run the .jpg part was dropped. The third run also dropped the image sizes, height and width to zero. I am using the same exact method; and I am not sure why I am observing this problem. Any idea?

This issue has been brought to our attention before (https://github.com/tzutalin/labelImg/issues/160). It's mostly likely because your image file has an extension that doesn't match it's actual format. As @wolczek mentioned in his PR: "Scraping images from Google Image Search I noticed that around 2% of files have wrong filename extension, for example .png but internally it's JPEG.
In that case output annotation/size/ width and height are zeros."

I also scraped image from google, and the same problem occurred. After rewriting images the problem is solved, so I want to share my experience and code.
language: Python 3
code as below:
import cv2
import os
img_path = 'D:\test'
all_file = os.listdir(img_path)
os.chdir(img_path) # very important
for filename in all_file:
print(filename)
img=cv2.imread(filename)
cv2.imwrite(filename,img,[int(cv2.IMWRITE_JPEG_QUALITY), 100])

that solved my problem too, but i also made sure to rename all the images so it woul have the .jpg extension.
thank you


[Continuation of #150] Add an implementation in terms of cats-effect only

Continuing the work done in #150 as I can't add more commits on the PR (or at least I don't know how).

Codecov Report

Merging #189 into master will decrease coverage by 4.12%.
The diff coverage is 86.66%.

@@            Coverage Diff             @@
##           master     #189      +/-   ##
==========================================
- Coverage    94.5%   90.37%   -4.13%
==========================================
  Files          16       18       +2
  Lines         182      343     +161
  Branches        3        5       +2
==========================================
+ Hits          172      310     +138
- Misses         10       33      +23

Impacted Files
Coverage Δ

...ithub/gvolpe/fs2rabbit/program/AckingProgram.scala
100% <ø> (ø)
:arrow_up:

.../gvolpe/fs2rabbit/resiliency/ResilientStream.scala
80% <0%> (-20%)
:arrow_down:

...ala/com/github/gvolpe/fs2rabbit/DockerRabbit.scala
100% <100%> (ø)
:arrow_up:

.../github/gvolpe/fs2rabbit/json/Fs2JsonEncoder.scala
100% <100%> (ø)
:arrow_up:

...ub/gvolpe/fs2rabbit/program/ConsumingProgram.scala
100% <100%> (ø)
:arrow_up:

...gvolpe/fs2rabbit/program/AckConsumingProgram.scala
100% <100%> (ø)
:arrow_up:

...b/gvolpe/fs2rabbit/program/PublishingProgram.scala
100% <100%> (ø)
:arrow_up:

.../github/gvolpe/fs2rabbit/json/Fs2JsonDecoder.scala
100% <100%> (ø)
:arrow_up:

...volpe/fs2rabbit/interpreter/ConnectionEffect.scala
79.31% <50%> (ø)

...ithub/gvolpe/fs2rabbit/interpreter/Fs2Rabbit.scala
85.71% <50%> (ø)
:arrow_up:

... and 3 more

Continue to review full report at Codecov.

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


Rocm rel 5.6 hotfix

Bump rocm-docs documentation
Fix rocwmma dlrm sample

Staging team verified the PR and its successful, merged to release-staging/rocm-5.6.


Fix nginx ssl params

NOTE: Please read the CONTRIBUTING.md guidelines before submitting your patch,
and ensure you followed them all:
https://github.com/Kong/kong/blob/master/CONTRIBUTING.md#contributing
Summary
Parameterize nginx SSL params, so the user can override the values as required
Full changelog

[Implement ...]
[Add related tests]
...

Issues resolved
Fix #XXX

Hi,
Thank you for the suggestion. However, I do not believe we can accept it. See this comment for context (it is about a similar patch), and the subsequent one as well.

Long story short, we try to shy away from making every nginx directive configurable because it is unmaintainable and unreasonable. We will try to come up with a different solution. Our ideal one is presented in #2355 if you are curious, but the end result might be a mix of kong.conf and this issue.

yes, that makes sense!


RAT-451: Generate plugin code into the same package

@Claudenw feel free to merge directly if ok for you. Thanks.

@ottlinger please resolve all associated tickets


Unable to logout from IdP (and support for rsa-sha256)

Hello,
I am trying to use python-saml to login with the SSO at my workplace.
But I encountered a few difficulties with doing so by using the demo-flask app.
I managed to perform the login, but I fail to logout and my IdP throws the following error:
The SAML Single Logout request does not correspond to the logged-in session participant.
Requestor: https:/<my_sp>/metadata/
Request name identifier: Format: urn:oasis:names:tc:SAML:2.0:nameid-format:transient, NameQualifier:  SPNameQualifier: https://<my_sp>/metadata/, SPProvidedId:
Logged-in session participants:
Count: 1, [Issuer: https://<my_sp>/metadata/, NameID: (Format: urn:oasis:names:tc:SAML:2.0:nameid-format:transient, NameQualifier:  SPNameQualifier: , SPProvidedId: )]

This request failed.

From what I understand, it seems python-saml is not sending (properly) the identifier which allows the IdP to match the user in the logout request to the use who is logged in.
I also had troubles with the algorithm to sign the requests.  I need to use rsa-sha256 for signing the requests as the IdP does not support rsa-sha1.
I had a look and it appears that rsa-sha1 is used as a  hard coded value in quite a few places. I replaced it with rsa-sha256 and it worked fine until I hit the error above in the logout request.
Maybe the two are related, maybe I missed a spot where some of the data is signed using rsa-sha1.
regarding rsa-sha256 I will fix it properly and submit a PR as soon as possible.
But I only have a limited knowledge of SAML so I am not sure how to solve the error mentioned above.
Here is my config, I hope it helps:
"security": {
        "nameIdEncrypted": false,
        "authnRequestsSigned": true,
        "logoutRequestSigned": true,
        "logoutResponseSigned": true,
        "signMetadata": false,
        "wantMessagesSigned": true,
        "wantAssertionsSigned": true,
        "wantNameIdEncrypted": false
},

I checked all the certificates are correct and valid.
The IdP is based on Windows AD FS.

This might also help, here is the xml sent for the login and logout request respectively:
<samlp:AuthnRequest
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="ONELOGIN_5aa0b30704b8170facc38385ebf95ff63cf2d1f1d318a1fe36a2a8110e5a4180"
    Version="2.0"
    ProviderName="{my_sp_fany_name}"
    IssueInstant="2015-03-19T16:17:58Z"
    Destination="https://{idp_sso_url}"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    AssertionConsumerServiceURL="https://{my_sp}/?acs">
    <saml:Issuer>https://{my_sp}/metadata/</saml:Issuer>
    <samlp:NameIDPolicy
        Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
        AllowCreate="true" />
    <samlp:RequestedAuthnContext Comparison="exact">
        <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
    </samlp:RequestedAuthnContext>
</samlp:AuthnRequest>

<samlp:LogoutRequest
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="ONELOGIN_cef2e43094bd19ac3722bf1adb88b1bbf7d8450b"
    Version="2.0"
    IssueInstant="2015-03-19T13:57:10Z"
    Destination="https://{idp_sls_url}">
    <saml:Issuer>https://{my_sp}/metadata/</saml:Issuer>
    <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="https://{my_sp}/metadata/">{user.name@email.com}</saml:NameID>
    <samlp:SessionIndex>_ea1f2f90-4dc5-4d22-8fc9-09b07563eaac</samlp:SessionIndex>
</samlp:LogoutRequest>

Hi @jacquesd,
you are right, the Service Provider accepts any kind of encryption algorithm, but itself uses RSA_SHA1.
We plan to make this configurable (is in the internal roadmap).
Related to the other issue
"The SAML Single Logout request does not correspond to the logged-in session participant."

How are you building the SAML Logout Request?
Notice that you may provide the same nameID and session_index that the IdP returned to the SP in the SAML Response:
https://github.com/onelogin/python-saml/blob/master/demo-flask/index.py#L58
Can you provide examples of the SAML Response, Logout Request and Logout Response flow?

Hi @pitbulk,
thanks for your prompt reply.
Regarding the configurable encryption algorithm used by python-saml, this is great news for me and I would love to contribute if you need help implementing it.
Regarding the logout request, I am using the demo-flask app as is without any changes (besides replacing rsa-sha1 by rsa-sha256 within python-saml).
From what I could see the name_id and the session_index I get in the assertion match what I send in the logout request.
For example I get the following values in the assertion (https://github.com/onelogin/python-saml/blob/master/demo-flask/index.py#L65-L66):
name_id =<EMAIL_ADDRESS>session_index = "_bbddc23d-be41-498e-ad05-2809538552f5"

And I send the same values in the logout request (https://github.com/onelogin/python-saml/blob/master/demo-flask/index.py#L53-L56)
I also find them in the xml I send for the logout request:
<samlp:LogoutRequest
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="ONELOGIN_0c3cb4a86ac1586e9643b743fe4b332410eb5b70eed5146ec7d8d709ff5c4add"
    Version="2.0"
    IssueInstant="2015-03-19T17:01:02Z"
    Destination="https://{idp_sls_url}">
    <saml:Issuer>https://{my_sp}/metadata/</saml:Issuer>
    <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="https://{my_sp}/metadata/">test.user@email.com</saml:NameID>
    <samlp:SessionIndex>_bbddc23d-be41-498e-ad05-2809538552f5</samlp:SessionIndex>
</samlp:LogoutRequest>

I'll look into how I can catch that SAML response  and I'll post it as soon as possible.
I hope the above helps in the mean time.

Based on the error that you received,
The following are possible causes:

The logout request does not contain a name ID.
The user who sent the logout request has never logged in before.
The logout request contains a name ID whose format or value is different from what was issued for this trust.
The logout request contains a stored procedure (SP) name qualifier that does not match the security token service (STS) claim issuance rule.

Solution:  Verify that the claims provider trust or the relying party trust configuration is up to date. Use the AD FS 2.0 snap-in to make the format of the name ID rule for this partner and its SPNameQualifier value match the name ID that is present in the logout request.
Reference

Apologies for the delay, here is the full workflow in order (Authn request , response, logout request and logout response):
<samlp:AuthnRequest
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="ONELOGIN_fe9cf9e7da6140488387c6fcb04a6976b622208f0cce92e23d3f9f5eab3c82ca"
    Version="2.0"
    ProviderName="{my_sp_fancy_name}"
    IssueInstant="2015-03-20T13:09:55Z"
    Destination="https://{idp_sso_url}"
    ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    AssertionConsumerServiceURL="https://{my_sp}/?acs">
    <saml:Issuer>https://{my_sp}/metadata/</saml:Issuer>
    <samlp:NameIDPolicy
        Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
        AllowCreate="true" />
    <samlp:RequestedAuthnContext Comparison="exact">
        <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
    </samlp:RequestedAuthnContext>
</samlp:AuthnRequest>

<samlp:Response
    ID="_66df0eec-5efc-482b-9897-d4c9468c06c3"
    Version="2.0"
    IssueInstant="2015-03-20T13:11:09.014Z"
    Destination="https://{my_sp}/?acs"
    Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" InResponseTo="ONELOGIN_fe9cf9e7da6140488387c6fcb04a6976b622208f0cce92e23d3f9f5eab3c82ca"
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">{idp_entity_id}</Issuer>
    <samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></samlp:Status>
    <EncryptedAssertion
        xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
        <xenc:EncryptedData
            Type="http://www.w3.org/2001/04/xmlenc#Element"
            xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
            <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
                <e:EncryptedKey xmlns:e="http://www.w3.org/2001/04/xmlenc#">
                    <e:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
                        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
                    </e:EncryptionMethod>
                    <KeyInfo>
                        <ds:X509Data xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                            <ds:X509IssuerSerial>
                                <ds:X509IssuerName>CN={my_certification_authority}, DC={ca_domain_comp1}, DC={ca_domain_comp2}</ds:X509IssuerName>
                                <ds:X509SerialNumber>502328419160010235379414</ds:X509SerialNumber>
                            </ds:X509IssuerSerial>
                        </ds:X509Data>
                    </KeyInfo>
                    <e:CipherData>
                        <e:CipherValue>{cipher_value}</e:CipherValue>
                    </e:CipherData>
                </e:EncryptedKey>
            </KeyInfo>
            <xenc:CipherData>
                <xenc:CipherValue>
                    {cipher_data}
                </xenc:CipherValue>
            </xenc:CipherData>
        </xenc:EncryptedData>
    </EncryptedAssertion>
</samlp:Response>

decrypted_response = [
    '_66df0eec-5efc-482b-9897-d4c9468c06c3',
    '2.0',
    '2015-03-20T13:11:09.014Z',
    'https://{my_sp}/?acs',
    'urn:oasis:names:tc:SAML:2.0:consent:unspecified',
    'ONELOGIN_fe9cf9e7da6140488387c6fcb04a6976b622208f0cce92e23d3f9f5eab3c82ca'
]

<samlp:LogoutRequest
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
    xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
    ID="ONELOGIN_82101433af8b3820431d0e46994c9bfb87fa3eb35a41f19c718e3f14781f8b88"
    Version="2.0"
    IssueInstant="2015-03-20T13:14:56Z"
    Destination="https://{idp_sls_url}">
    <saml:Issuer>https://{my_sp}/metadata/</saml:Issuer>
    <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="https://{my_sp}/metadata/">{test.user@email.com}</saml:NameID>
    <samlp:SessionIndex>_b539995b-ea40-4ac9-9e80-194964354f9a</samlp:SessionIndex>
</samlp:LogoutRequest>

<samlp:LogoutResponse
    ID="_5e11fe5b-86bd-408a-a3d7-21b634b69a86"
    Version="2.0"
    IssueInstant="2015-03-20T13:16:12.908Z"
    Destination="https://{my_sp}/?sls"
    Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
    InResponseTo="ONELOGIN_82101433af8b3820431d0e46994c9bfb87fa3eb35a41f19c718e3f14781f8b88"
    xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">{idp_entity_id}</Issuer>
    <samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester" /></samlp:Status>
</samlp:LogoutResponse>

Regarding your last reply, I had a look with the person in charge of the IdP at my workplace and he pointed out that he was missing the SPNameQualifier in the token request at login and that might be the reason why the logout fails. He suggested removing the SPNameQualifier in the login request to try if it works.
I will try that and let you know what happens.

There is indeed something wrong with the SPNameQualifier. Removing it from the logout request, I obtain the following logout response:
<?xml version="1.0" ?>
<samlp:LogoutResponse Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" Destination="https://jdafflon.cern.ch:8443/?sls" ID="_7198b9ec-adf9-455f-af5a-d6c26c44349b" InResponseTo="ONELOGIN_c172d6b70881b28bb0589ab29d476b8db53054d21853f489d4ef1747bd9bee4e" IssueInstant="2015-03-23T10:56:28.050Z" Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://cern.ch/login</Issuer>
    <samlp:Status>
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
    </samlp:Status>
</samlp:LogoutResponse>

Which looks much more promising.
However, removing the SPNameQualifier from the logout request feels more like a work around. Something must be wrong in the login request, but I don't know why.
On the client (SP) side, I also still fail to verify the signature, even when using rsa-sha256. I get the following:
signatures.c:346(xmlSecOpenSSLEvpSignatureVerify) obj=rsa-sha256 subject=EVP_VerifyFinal msg=signature do not match errno=18
Signature validation failed. Logout Response rejected

I thought this was caused from the algorithm use or the bad logout request but apparently there is also something wrong somewhere else.

Can you try to validate the responses on this tool?  https://www.samltool.com/

Nice tool ;)
I did and indeed both the SAML Response and the Logout Response failed with:
Signature validation failed. SAML Response rejected and Signature validation failed. Logout Response rejected respectively.
Regarding the SAML response, I have my advanced settings set to accept unsigned messages ("wantMessagesSigned": false). Otherwise it fails with the following error: The Message of the Response is not signed and the SP require it. It might be possible that my IdP is unable to sign messages, (I will look into that with the people in charge of it) or it might also come from the signature validation failure. In any that must explain why the SAML response is not rejected.
I checked the IdP's x509 cert, as well as my certificate and private key.
I made the following script to sign and verify some data using openssl and it appears to works fine, returning me  Verified OK.
#!/bin/sh

echo "\n -- Clearing private key and certificate -- \n"
rm sp.key sp.crt

echo "\n -- PKCS12 Certificate details -- \n"
openssl pkcs12 -info -in host-certificate.p12

echo "\n -- Generating private key -- \n"
openssl pkcs12 -in host-certificate.p12 -out sp.key -nocerts -nodes
openssl rsa -in sp.key -check

echo "\n -- Generating certificate -- \n"
openssl pkcs12 -in host-certificate.p12 -out sp.crt -clcerts -nokeys
openssl x509 -in sp.crt -text -noout

echo "\n -- Generating data -- \n"
echo "Some data\nfor testing" > data.txt

echo "\n -- Generating signature -- \n"
openssl dgst -sha256 -binary -sign sp.key -out signature.sha256 data.txt
cat signature.sha256

echo "\n -- Generating public key -- \n"
openssl x509 -in sp.crt -pubkey -noout > sp.pub
cat sp.pub

echo "\n -- Verify signature -- \n"
openssl dgst -sha256 -verify sp.pub -signature signature.sha256 data.txt

echo "\n -- Cleaning up -- \n"
rm data.txt signature.sha256 sp.pub

Using the same key and certificate with the demo-flask app fails when trying to verify the signature of the Logout response.

Must be a signature validation issue.
I know that rsa-sha1 is supported and thought that rsa-sha256 was supported too, but maybe there is some issue with that.
I will review and do test myself and try to fix this issue,but will take time.

Thanks a lot for your help.
I am using Shibboleth right now to connect to my workplace's SSO and using your library instead is of great interest as it would allow me to get rid of Shibboleth and the Apache dependency.
But there is no urgency in fixing it. I can keep using Shibboleth in the mean time and switch to SAML2 once you manage to fix the issue.
Of course, let me know if there is anything I can do to help you find and fix the issue.

I will message you once I have a patch and you will able to test it.
Thanks for your patience. sha-2 support is something that I wanted to review in all the OneLogin's toolkits

@pitbulk
I wonder if there is a list of supported signing algorithms?

@serpulga, only RSA_SHA1 is supported on signatures for HTTP-Redirect.
I plan to support:

RSA_SHA1
RSA_SHA256
RSA_SHA384
RSA_SHA512

@pitbulk
Sorry, I mean incoming signed responses and assertions.

Now the SP is able to select the algorithm to be used on signatures:
DSA_SHA1, RSA_SHA1, RSA_SHA256, RSA_SHA384 and  RSA_SHA512 are now supported.

@jacquesd can you test if now the signature validation works?

He's currently away but I'm sure he can give it a try once he's back. Thanks for the improvement :)

is the same issue reported on the PHP SAML Toolkit.
ADFS returns A Logout Response with:
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester" />

So the Logout Process failed.  If you read ADFS report:
The SAML Single Logout request does not correspond to the logged-in session participant.

is not a signature validation problem, instead: "The SAML Single Logout request does not correspond to the logged-in session participant."
I can't see what NameID was at the SAML Response sent by ADFS since the Assertion is encrypted, but seems that is different than the nameID provided by you on the Logout Request.
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="https://{my_sp}/metadata/">{test.user@email.com}</saml:NameID>

Referencing #83, which will fix the signature verification issue, in case anyone else like me comes along looking for a solution.


Possibly unify the code that is for Win32 and UWP

Research the possibility to use the very same API that we use on UWP and on the good old Win32.
These places currently are:

Get OS version
Open file
(search the code base for PARTITION, if there are any possible places in the future)

Suggestions so far (not tried):

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlgetversion
https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getversionexw

Suggestions so far (not tried):

https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-rtlgetversion
https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getversionexw

@antkmsft Is the code structured in a way that this can be changed post GA?  If so move this to backlog otherwise we need to fix in April


Update default tunables

Update two default tunables.  There are a few other kern.elf*.alsr that I think might be worthwhile, but I thought starting with these two first and getting some feedback would be best

If I'm not mistaken these have quite a risk of introducing regressions, we shouldn't change these overnight and probably follow upstream for their defaults.

For what its worth I have these tunables running on two different OPNsense boxes with different hardware and have not noticed any system instability

Hmm, what’s the larger idea here? More security? Usually this will introduce subtle breakage in third party software and I would much rather follow FreeBSD defaults.
Cheers,
Franco


Dose DdiMon support windows 10 17134 x86?

I tried to run DdiMon on windows 10 17134 x86, but always get BSOD. Is this a version error?
the stack is
ChildEBP RetAddr  Args to Child
00 818e0f24 8184e779 00000003 bf3ba2f8 00000065 nt!RtlpBreakWithStatusInstruction
01 818e0f78 8184e167 8708c340 818e1394 00000000 nt!KiBugCheckDebugBreak+0x1f
02 818e1368 817c1e02 0000007f 00000008 80a1cc00 nt!KeBugCheck2+0x79d
03 818e138c 817d82a1 0000007f 00000008 80a1cc00 nt!KiBugCheck2+0xc6
04 818e138c b6d42394 0000007f 00000008 80a1cc00 nt!KiTrap08+0x6e
05 af62beb0 b6d43009 3df54360 00000002 b6d421d0 DdiMon!UtilLoadPdptes+0x1e [d:\project\ddimon\hyperplatform\hyperplatform\util.cpp @ 835]
06 af62bf00 b6d43ec6 af62bf50 00000002 8947d000 DdiMon!VmmpHandleCrAccess+0x1db [d:\project\ddimon\hyperplatform\hyperplatform\vmm.cpp @ 1114]
07 af62bf40 b6d427e0 af62bf50 00000000 af62bfd8 DdiMon!VmmpHandleVmExit+0x12a [d:\project\ddimon\hyperplatform\hyperplatform\vmm.cpp @ 269]
08 af62bf64 b6d4106e af62bfd8 00000000 00000000 DdiMon!VmmVmExitHandler+0x5e [d:\project\ddimon\hyperplatform\hyperplatform\vmm.cpp @ 206]
09 af62bf6c 00000000 00000000 00000000 00000000 DdiMon!AsmVmmEntryPoint+0x37 [D:\project\DdiMon\HyperPlatform\HyperPlatform\Arch\x86\x86.asm @ 117]

It should have been but has been broken for a while. This is the same issue as the one reported here.
https://github.com/tandasat/HyperPlatform/issues/54
I was de-prioritizing this issue over the other things as I thought almost nobody cared x86 anymore, but good to know it was potentially still a thing. I will try to find time within a couple of months for this.

Yes, it should be fine on the latest x64 Windows 10.

thank you very much~

@armorunicorn I have updated the DdiMon (and HyperPlatform) with the updates which I believe to fix the issue. If you can pull the changes and confirm if it works fine, that would be great, since I only have Windows 7 for x86 handy.


swiper as popup-left-navbar

swiper.js works awesome to change main-content of my mobile app! But i'm stuck on creation hidden left-nav-panel, that should pop-up on swipe from the edge of device.
Is it possible to use swiper.js to create left-nav-menu? Have you ever tried to do this and what options should i change in source code?

Not really, Swiper is not intended for this. I would better stick with custom solution or some other ready lib for this


Feature/adhithya christen/integrate mongo db

Tracking Info
Resolves #
Make sure your branch name conforms to: <feature|staging|bugfix|...>/<username>/<3-4 word description separated by dashes>. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?
We were able to get the app connected to the MongoDB. We also created User models, and routes to get and add users.
Testing
How did you confirm your changes worked?
We tested the routes on postman and were able to get both routes to work properly.
Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.
Changes can be viewed in the app.ts, models folder, and routes folder.

Tracking Info
Resolves #
Make sure your branch name conforms to: <feature|staging|bugfix|...>/<username>/<3-4 word description separated by dashes>. Otherwise, please rename your branch and create a new PR.
Changes
What changes did you make?
We were able to get the app connected to the MongoDB. We also created User models, and routes to get and add users.
Testing
How did you confirm your changes worked?
We tested the routes on postman and were able to get both routes to work properly.
Confirmation of Change
Upload a screenshot, if possible. Otherwise, please provide instructions on how to see the change.
Changes can be viewed in the app.ts, models folder, and routes folder.

Add Resolves #6 so that it auto-closes the issue when PR is merged

Fixed the ESlint issue and the bug on the get request. Added images below of what the get and post request looks like on my end.


Add concat_ws scalar function

Use case:
Concatenate TEXT or to TEXT castable type values using a given separator, for example concatenate address parts by comma.
SELECT concat_ws(',', '535 Mission St.', '14th floor', 'San Francisco', 'CA', '94105') AS address;
--> 535 Mission St., 14th floor, San Francisco, CA 94105

Feature description:
Add support for the concat_ws ( sep text, val1 "any" [, val2 "any" [, ...] ] ) scalar function which takes a text separator as the first argument and a variable number of any data type arguments whose TEXT representation will be concatenated using the given separator. NULL values must be ignored.
See also PostgreSQL's documentation:
concat_ws ( sep text, val1 "any" [, val2 "any" [, ...] ] ) → text
Concatenates all but the first argument, with  separators. The first argument is used as the separator string, and  should not be NULL. Other NULL arguments are ignored.
concat_ws(',', 'abcde', 2, NULL, 22) → abcde,2,22

@seut  My team at Enfuse would like to take this issue.  Would you assign it to me, please?

Hi @mayraq10, assigned it to you. Thanks for taking it!

@BaurzhanSakhariev  We are having issues with the Checkstyle plugin.  We are getting errors when we try to set up the plugin's configurations.  "com.puppycrawl.tools.checkstyle.api.CheckstyleException: unable to parse configuration stream
at com.puppycrawl.tools.checkstyle.ConfigurationLoader.loadConfiguration(ConfigurationLoader.java:354)"
Any suggestions?
Otherwise, I guess we could redo the pull request and see if we pass.

Hi @mayraq10, what IDE do you use? If IntelliJ IDEA can run ./gradlew idea to setup project, including code style.
https://github.com/crate/crate/blob/master/devs/docs/basics.rst#using-an-ide

Hi @mayraq10, what IDE do you use? If IntelliJ IDEA can run ./gradlew idea to setup project, including code style.
https://github.com/crate/crate/blob/master/devs/docs/basics.rst#using-an-ide

Yes, IntelliJ...  I get a BUILD SUCCESSFUL.  Are we supposed to manually add the plugin? Are there some configurations that we are missing?  We are not getting any errors on our IDE, but when we submitted the pull request yesterday, it showed checkstyle errors.

Do you use ./gradlew checkstyleMain to check locally?

@BaurzhanSakhariev We didn't know about ./gradlew checkstyleMain. That command works great however the only place I could find this command referenced is the main.yml file used in your CI/CD process. Thanks for the tip though.

Closed in #12355. Thanks a lot @mayraq10, @rc-enfuse!


bundles wasn't published after merging

Hi, we migrated our operator to bundle format and added 2 new versions , but our bundle didn't publish although the pr was merged
https://github.com/redhat-openshift-ecosystem/community-operators-prod/pull/1181
https://github.com/redhat-openshift-ecosystem/community-operators-prod/actions/runs/2305720902

sorry now the bundles are showing, but after we moved to bundle format we can't  add component from the ui
create instance are gone, did we missed something with the migration?

comparing to previous:

It is fixed now. Please reopen when needed


Possible fix for tickfont

Maybe this fixes the problem for #8? The tick font was not used in the right place. I like the API so far of the library but I can see where the users will get confused when abbreviating these module/type names and having the types not being resolved in the right place. Again I think the builder syntax will work best here
BTW, great work on adding so many examples, really awesome!

Yep that would do it haha. That's what I get for trying to blast though a set of examples too quickly.

Sorry I only changed the source of the example but not the docs, so now after publishing the docs app the docs still contain the example commented out :/

Too early in the morning think good not do, thanks for pointing that out! 👍

And yeah I plan on going through all their docs and re-implementing them. Only way for me to know if things are actually working when they have such a large set of options.


fix undefined uint32_t error on 2.12.1 under GCC 13

uvw 2.12.1 currently doesn't compile with GCC 13 (Fedora 38) because type_info.hpp doesn't have correct include for standard integers.
/home/fcelda/devel/uvw/src/uvw/type_info.hpp:17:37: error: ‘uint32_t’ in namespace ‘std’ does not name a type; did you mean ‘wint_t’?
   17 | [[nodiscard]] static constexpr std::uint32_t fnv1a(const char *curr) noexcept {
      |                                     ^~~~~~~~
      |                                     wint_t

Standard integers are defined in cstdint. The removed header cstdef seems unused.

Oh. It looks like this has been fixed already. :+1: Thanks.


How to build stacked Sequence-to-sequence autoencoder?

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps

[x] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[x] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[x] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Did you find out the problem?

I think you should put return_sequences = False before RepeatVector and use TimeDistributed as final layer.
What about of making this model stateful ?

thank you @visionscaper for your interest.
Regarding the both models issue, i did further research and found out that, what you suggested about Use return_sequences=True for all encoder layers, except for the last encoder is "RIGHT".
First, i trained SAE and this is the code:
timesteps = x_train.shape[1]
input_dim = 1
inputs = Input(batch_shape=(1,timesteps, input_dim))
encoded = LSTM(4,return_sequences = True)(inputs)
encoded = LSTM(3,return_sequences = True)(encoded)
encoded = LSTM(2)(encoded)
decoded = RepeatVector(timesteps)(encoded)
decoded =  LSTM(3,return_sequences = True)(decoded)
decoded =  LSTM(4,return_sequences = True)(decoded)
decoded =  LSTM(input_dim,return_sequences = True)(decoded)

sequence_autoencoder = Model(inputs, decoded)

encoder = Model(inputs,encoded)

sequence_autoencoder.compile(loss='mean_squared_error', optimizer='Adam')

sequence_autoencoder.fit(x_train, x_train,
                     epochs=100,
                     batch_size=1,
                     shuffle=True,
                     )

second, i try to feed the encoder's output to another LSTM layer to forecast one step ahead and this is the code:
 lstm1 =  LSTM(3,stateful = True)(encoder.outputs)
 dropout = Dropout(0.3)(lstm1)
 out = Dense(1)(dropout)
 model = Model(encoder.inputs,out)
 model.compile(loss='mean_squared_error', optimizer='Adam')

 model.fit(x_train, y_train, epochs=200, batch_size=1, verbose=1, shuffle=True)

But, it gives me error because the encoder.outputs is 2 Dim and LSTM needs 3 Dim.

sir how the shape of x_train looks like


How to get the first real one url?

Steps to reproduce the problem:

Any other comments? What have you tried so far?
System information

HI @xiaoTangSSS , I couldn't understand the issue you are facing, can you please be more specific and fill the issue template, thanks.

HI @kira0204
when i visit "https://github.com/mitmproxy/mitmproxy/issues"
There will be many requests. ( GET html png js css..)
GET https://github.com/mitmproxy/mitmproxy/issues    ( i only need to get the first request data everytime)
GET https://assets-cdn.github.com/assets/frameworks-a4bf54bef6fb.css
GET https://assets-cdn.github.com/assets/github-ac2ce2821692.css
GET https://assets-cdn.github.com/favicon.ico
when i visit "https://github.com/mitmproxy/mitmproxy/issues"
There will be many requests. ( GET html png js css..)
GET https://github.com/mitmproxy/mitmproxy/issues    ( i only need to get the first request data everytime)
GET https://assets-cdn.github.com/assets/frameworks-a4bf54bef6fb.css
GET https://assets-cdn.github.com/assets/github-ac2ce2821692.css
GET https://assets-cdn.github.com/favicon.ico.

@xiaoTangSSS  There is no exact way to distinguish if a request is actually called by the user or the browser rendering but you can set a view filter  to remove the other requests for css js png etc from the flow display list.
one such filter could be (~m GET) & (~t text/html) & (~bs [.]+ ). This one only allows GET requests with some HTML content in the response. You can modify it according to your needs to get better results.

@fenilgandhi  thanks!  I've got the HTML data before, the data is filtered by the inline scripts, I want to write the first request and response  data to the database, I haven't found some good ideas yet.
anyway,thanks for your help!!!

@xiaoTangSSS If your query is answered, can we close this issue?


Add The GitHub Repository link for learning Smart Contract

Add The GitHub Repository link for learning Solidity Smart Contracts: Building DeFi DApps and Protocols for the Ethereum Blockchain
Repository consist of step by step code and video link

@all-contributors please add @devtayyab for content


List.concat

Adds list.concat.
Once tests pass, I'll just merge this. Needed for Falk.

Codecov Report

Merging #1576 (ace576e) into develop (c6df370) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head ace576e differs from pull request most recent head 5750e43. Consider uploading reports for the commit 5750e43 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##           develop    #1576   +/-   ##
========================================
  Coverage    73.09%   73.09%
========================================
  Files           93       93
  Lines         5017     5018    +1
  Branches       838      846    +8
========================================
+ Hits          3667     3668    +1
  Misses        1326     1326
  Partials        24       24

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


outline容器启动失败

ERROR: The server does not support SSL connections
yarn run v1.22.18
$ sequelize db:migrate --env=production-ssl-disabled

Sequelize CLI [Node: 16.14.2, CLI: 6.4.1, ORM: 6.20.1]

Loaded configuration file "server/config/database.json".
Using environment "production-ssl-disabled".
No migrations were executed, database schema was already up to date.
Done in 0.85s.
yarn run v1.22.18
$ node ./build/server/index.js
{"label":"lifecycle","level":"info","message":"Note: Restricting process count to 1 due to use of collaborative service"}
{"label":"lifecycle","level":"info","message":"\nIs your team enjoying Outline? Consider supporting future development by sponsoring the project:\n\nhttps://github.com/sponsors/outline\n"}
ERROR: The server does not support SSL connections
error Command failed with exit code 1.
node:child_process:828
    err = new Error(msg);
          ^

Error: Command failed: yarn sequelize db:migrate:status
ERROR: The server does not support SSL connections
error Command failed with exit code 1.

    at checkExecSyncError (node:child_process:828:11)
    at execSync (node:child_process:902:15)
    at checkPendingMigrations (/opt/outline/build/server/utils/startup.js:25:53)
    at master (/opt/outline/build/server/index.js:68:39)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async throng (/opt/outline/node_modules/throng/lib/throng.js:31:3) {
  status: 1,
  signal: null,
  output: [
    null,
    Buffer(303) [Uint8Array] [
       36,  32,  47, 111, 112, 116,  47, 111, 117, 116, 108, 105,
      110, 101,  47, 110, 111, 100, 101,  95, 109, 111, 100, 117,
      108, 101, 115,  47,  46,  98, 105, 110,  47, 115, 101, 113,
      117, 101, 108, 105, 122, 101,  32, 100,  98,  58, 109, 105,
      103, 114,  97, 116, 101,  58, 115, 116,  97, 116, 117, 115,
       10,  10,  27,  91,  52, 109,  83, 101, 113, 117, 101, 108,
      105, 122, 101,  32,  67,  76,  73,  32,  91,  78, 111, 100,
      101,  58,  32,  49,  54,  46,  49,  52,  46,  50,  44,  32,
       67,  76,  73,  58,
      ... 203 more items
    ],
    Buffer(100) [Uint8Array] [
       27,  91,  51,  49, 109,  69,  82,  82,  79,  82,  58,  27,
       91,  51,  57, 109,  32,  84, 104, 101,  32, 115, 101, 114,
      118, 101, 114,  32, 100, 111, 101, 115,  32, 110, 111, 116,
       32, 115, 117, 112, 112, 111, 114, 116,  32,  83,  83,  76,
       32,  99, 111, 110, 110, 101,  99, 116, 105, 111, 110, 115,
       10, 101, 114, 114, 111, 114,  32,  67, 111, 109, 109,  97,
      110, 100,  32, 102,  97, 105, 108, 101, 100,  32, 119, 105,
      116, 104,  32, 101, 120, 105, 116,  32,  99, 111, 100, 101,
       32,  49,  46,  10
    ]
  ],
  pid: 71,
  stdout: Buffer(303) [Uint8Array] [
     36,  32,  47, 111, 112, 116,  47, 111, 117, 116, 108, 105,
    110, 101,  47, 110, 111, 100, 101,  95, 109, 111, 100, 117,
    108, 101, 115,  47,  46,  98, 105, 110,  47, 115, 101, 113,
    117, 101, 108, 105, 122, 101,  32, 100,  98,  58, 109, 105,
    103, 114,  97, 116, 101,  58, 115, 116,  97, 116, 117, 115,
     10,  10,  27,  91,  52, 109,  83, 101, 113, 117, 101, 108,
    105, 122, 101,  32,  67,  76,  73,  32,  91,  78, 111, 100,
    101,  58,  32,  49,  54,  46,  49,  52,  46,  50,  44,  32,
     67,  76,  73,  58,
    ... 203 more items
  ],
  stderr: Buffer(100) [Uint8Array] [
     27,  91,  51,  49, 109,  69,  82,  82,  79,  82,  58,  27,
     91,  51,  57, 109,  32,  84, 104, 101,  32, 115, 101, 114,
    118, 101, 114,  32, 100, 111, 101, 115,  32, 110, 111, 116,
     32, 115, 117, 112, 112, 111, 114, 116,  32,  83,  83,  76,
     32,  99, 111, 110, 110, 101,  99, 116, 105, 111, 110, 115,
     10, 101, 114, 114, 111, 114,  32,  67, 111, 109, 109,  97,
    110, 100,  32, 102,  97, 105, 108, 101, 100,  32, 119, 105,
    116, 104,  32, 101, 120, 105, 116,  32,  99, 111, 100, 101,
     32,  49,  46,  10
  ]
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

已经把能关的ssl全部都关掉了

使用0.63.0解决问题

应当是 outline 的问题 https://github.com/outline/outline/issues/3810


ButtonBarPagerTabStripViewController last selected tab is not properly deselected

In the ButtonBarPagerTabStripViewController if I have scroll in the buttonBarView the indicator is not always updated correctly.
If I have the first item selected (1), and I scroll to the last item, select it(2) and scroll back to the first item(3), this first item doesn´t have the selectedBar, but the color is still the selectedColor (yellowGreen in the example, rather than grayDark).
But if I scroll again to the end, and back to the beginning(4), the button now is again updated (there´s some sort of refreshing-the-view-problem.
Here is how I´m updating the buttons:
changeCurrentIndex = { (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, animated: Bool) -> Void in
    oldCell?.label.textColor = UIColor.grayDark
    newCell?.label.textColor = UIColor.yellowGreen
}

This is also happening in the provided example:

same as #338

the cell offscreen is not  reuse

This issue was solved in PR #359.


Feat: weareliga coin

The next token on flow to utilize the TopShot NFTs

Please use https://token-list.fixes.world/ instead.
This repo is deprecated.
I will help you to register the Token, but please ensure the image in your contract is the correct one.


Tests/disable incomplete cert chain test

Removed the failing test since google.com no longer has different chains.
Fixed issue that prevented tests from compiling on 7.2.1

Current coverage is 74.25%

Merging #3337 into master will increase coverage by +0.14% as of c8e5ce2

@@            master   #3337   diff @@
======================================
  Files            5       5
  Stmts         3002    3002
  Branches         0       0
  Methods
======================================
+ Hit           2225    2229     +4
  Partial          0       0
+ Missed         777     773     -4

Review entire Coverage Diff as of c8e5ce2

Powered by Codecov. Updated on successful CI builds.


Blender pr fsck report timeout

Instead of just logging "Failed to health check repository: context deadline exceeded", include the used timeout. This is rather helpful for debugging such situations, as exceeding a 1 minute timeout (which is the hardcoded value right now) is much less alarming than exceeding a 24 hour timeout.

The PR pulled in some unrelated commits, will look into this later and resubmit properly if still relevant.


Drop support FFmpeg < 4.0

All of the 3.x releases were more than 2 years ago.
All of the conda FFmpeg's are now 4.2 (except for win32, where we are hilariously behind as well).
Time to cut them off?

This was done and merged.


TokenViewer shows "replacement characters" when entering CJK characters

👍🏻 The project is awesome!
Just a heads up: when inputting Chinese, Japanese, or Korean characters in Tiktokenizer, the TokenViewer displays "replacement characters" (�).

Hi @firede
Thanks for reporting! This should be hopefully fixed now.


Citations UI at the bottom (no summary)

Related issue #1990
Notes

No ArrowOutofBox icon => used LinkIcon as a placeholder
Citations' appearances are streamed (a citation appear when the citation link appears)
Did as per figma with overflowing citations and hidden scroll

question mark on intuitivity of hidden scroll for users (shift+scroll is not natural for everybody)
=> should we get it to switch to natural horizontal scroll on hover on citations (without shift)? spent 5mn to look how to do it but apparently this is non-standard. it could still be done using a pure JS solution, WDYT?
experimented with grids of 3 citations per row (2 on mobile) but with many citations it takes too much space

On mobile

Invisible scroll is fine I think (not great of course but we can wait until we have a custom scroll bar), but that requires having auto-scrolling on hover on desktop

question mark on intuitivity of hidden scroll for users (shift+scroll is not natural for everybody)
=> should we get it to switch to natural horizontal scroll on hover on citations (without shift)? spent 5mn to look how to do it but apparently this is non-standard. it could still be done using a pure JS solution, WDYT?

OK, I assume you saw the comment below and understand you think it's worth going for the JS solution to avoid having to "shift+scroll" => will look into it

question mark on intuitivity of hidden scroll for users (shift+scroll is not natural for everybody)
=> should we get it to switch to natural horizontal scroll on hover on citations (without shift)? spent 5mn to look how to do it but apparently this is https://github.com/tailwindlabs/tailwindcss/discussions/7869. it could still be done using a pure JS solution, WDYT?

Definitely no JS for these kind of things IMHO

As per IRL

Solve the overflow of citations up to the end of the screen
Add left/right chevrons for manual scroll with correct pagination in follow-up PR

Sorry mis-reasked review => I am now adding the auto scroll on hover on ref, please come back in 15'

Ideally we would have a small thing that happens on hover to show which citation it is.

Will try something & ping for rereview

Made a blinking animation as you suggested


change log component.

Coverage remained the same at 17.393% when pulling f85aeec69a9c41128be38fc4ac06ea87488bf0a6 on ascrutae:zhangxin/fix/log-path into db57d8de29542f609e8fd3e4ef6a3f23536e622d on wu-sheng:master.

Coverage remained the same at 17.393% when pulling f85aeec69a9c41128be38fc4ac06ea87488bf0a6 on ascrutae:zhangxin/fix/log-path into db57d8de29542f609e8fd3e4ef6a3f23536e622d on wu-sheng:master.


Refactoring nuke-related local definitions to account for one, many or no defined access blocks.

nuke_account and rebuild_after_nuke_accounts will accept multiple access blocks. Account will only be added to the lists if access.level of any of the development access blocks is equal to sandbox
blocklist_nuke_account refactored for consistency.

Relevant Story: https://github.com/ministryofjustice/modernisation-platform/issues/2400

Testing code:
locals {
  definitions = [
    for file in fileset("../../../environments", "*.json") : merge({
      name = replace(file, ".json", "")
    }, jsondecode(file("../../../environments/${file}")))
  ]

  applications = {
    organization_units = [
      for application in local.definitions : {
        application_name = application.name
        type             = application.account-type
      }
    ]

    nuke_accounts = flatten([
      for application in local.definitions : [
        for environment in application.environments : [
          for a in try(environment.access, []) :
          "${application.name}-${environment.name}"
          if application.account-type == "member" && environment.name == "development" && try(a.level, "undefined") == "sandbox" && try(a.nuke, "include") != "exclude"
        ]
    ]])

    rebuild_after_nuke_accounts = flatten([
      for application in local.definitions : [
        for environment in application.environments : [
          for a in try(environment.access, []) :
          "${application.name}-${environment.name}"
          if application.account-type == "member" && environment.name == "development" && try(a.level, "undefined") == "sandbox" && try(a.nuke, "include") == "rebuild"
        ]
      ]
    ])
    blocklist_nuke_accounts = flatten([
      for application in local.definitions : [
        for environment in application.environments :
          "${application.name}-${environment.name}"
          if environment.name == "production" || environment.name == "preproduction" || startswith(application.name, "core")
      ]
    ])
  }
}

output "nuke" {
  value = flatten(local.applications.nuke_accounts)
}

output "rebuild" {
  value = flatten(local.applications.rebuild_after_nuke_accounts)
}

output "blocklist" {
  value = flatten(local.applications.blocklist_nuke_accounts)
}

Test code:
locals {
  definitions = [
    for file in fileset("../../../environments", "*.json") : merge({
      name = replace(file, ".json", "")
    }, jsondecode(file("../../../environments/${file}")))
  ]

  applications = {
    organization_units = [
      for application in local.definitions : {
        application_name = application.name
        type             = application.account-type
      }
    ]

    nuke_accts = flatten([
      for application in local.definitions : [
        for environment in application.environments : [
          for a in try(environment.access, []) :
          "${application.name}-${environment.name}"
          if application.account-type == "member" && environment.name == "development" && try(a.level, "undefined") == "sandbox" && !contains([for acc in environment.access : try(acc.nuke,"include") if try(acc.level, "undefined") == "sandbox"] ,"exclude")
        ]
    ]])

    rebuild_after_nuke_accounts = flatten([
      for application in local.definitions : [
        for environment in application.environments : [
          for a in try(environment.access, []) :
          "${application.name}-${environment.name}"
          if application.account-type == "member" && environment.name == "development" && try(a.level, "undefined") == "sandbox" && try(a.nuke, "include") == "rebuild" && !contains([for acc in environment.access : try(acc.nuke,"include") if try(acc.level, "undefined") == "sandbox"] ,"exclude")
        ]
      ]
    ])
    blocklist_nuke_accounts = flatten([
      for application in local.definitions : [
        for environment in application.environments :
          "${application.name}-${environment.name}"
          if environment.name == "production" || environment.name == "preproduction" || startswith(application.name, "core")
      ]
    ])
  }
}

output "nuke" {
  value = distinct(local.applications.nuke_accts)
}

output "rebuild" {
  value = distinct(local.applications.rebuild_after_nuke_accounts)
}

output "blocklist" {
  value = local.applications.blocklist_nuke_accounts
}


Failing darwin builds require a bump of x/sys

Darwin builds are failing with:
vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go:29:3: //go:linkname must refer to declared function or variable

This can be fixed with go get -u golang.org/x/sys, but then the compilation fails on slices which require go >= 1.17.
Could you bump both, please?

Thanks for the issue, should be good now.

Awesome, seems to build correctly now, thank you.


Updated URL and added example standalone yaml

I realized was still using the old url, updated that in the GitHub Actions example.
Also added my full standalone yaml that can be triggered via the GitHub gui (with version as input) that may be useful for people to copy/paste into their projects.

Oops just saw your change, will update this in one min


bug: 'Util' (a nil value)

Did you check docs and existing issues?

[X] I have read all the LazyVim docs
[X] I have searched the existing issues of LazyVim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.5
Operating system/version
Arch Linux
Describe the bug
When attempting to execute the configuration for the nvim-jdtls plugin, an error occurs resulting in a failure to execute. The error message indicates an attempt to index the global variable 'Util', which is a nil value in the current context. This occurs at line 50 of the nvim-jdtls.lua file.

Steps To Reproduce

Install neovim - LazyVim
Active Lazy extras util.*
add config examples from LazyVim

Expected Behavior
The nvim-jdtls configuration executes successfully without any errors.
Repro

Failed to run `config` for nvim-jdtls

~/.config/nvim/lua/plugins/nvim-jdtls.lua:50: attempt to index global 'Util' (a nil value)

# stacktrace:
  - lua/plugins/nvim-jdtls.lua:50 _in_ **config**
  - lua/config/lazy.lua:9
  - init.lua:2

This error comes from your own configuration

Failed to run config for nvim-jdtls
~/.config/nvim/lua/plugins/nvim-jdtls.lua:50: attempt to index global 'Util' (a nil value)

You're doing something in that file and use Util without having it required probably.


Proposal: Querystring in Path Specification

Issue
In some APIs, different query string values specifies the operation done on the resource, thus, result in dramatically different response types and/or parameter requirements.  In the case of Foursquare Venues Search API, depending on the intent query string value, the requirement specs of other query string vary.
Such distinction deserves a separate path entity, to allow different descriptions, parameter requirements, responses, etc.
Current State
Currently due to Swagger Spec, on swagger-ui, the generated url for testing is incorrect if a query string is included in the path.
"paths": {
    "/bluelights?query=nearby": {

becomes:
.../bluelights?query=nearby?more=...
Proposal
Allow Query Strings in the path key
The example above is allowed. so for example, depending on the path key, "/bluelights?query=nearby" and "/bluelights" are considered separate path entities.

Another scenario to consider why this should be added:
lets say i have a few distinct search operations on a photos resource:
Get: /photos?mentions=Jim  "retrieves photos where jim is mentioned"
Get: /photos?hashtags=selfie "retrieves photos where selfie is hashtaged"
I want my interface to be narrow per SOLID coding principles and don't have a use case that requires searching on both of these attributes simultaneously so it would just be confusing to push them into one operation.
Without parameter based operation discrimination this is not possible.

@chrisdostert If I understand your example correctly, the functionality is the same in both cases (return a list of photos), but the query string is serving as a filter on the responses. Is what you're hoping to do a primarily a documentation concern (i.e. list them as separate methods in Swagger-UI), or is it something more?
Swagger's point of view is that resource paths plus verb are the signature, and that the response object is deterministic from that signature. So far, the project has resisted allowing query parameters to factor into the operation signature, and it is a pretty fundamental to the Swager point of view on API design.
Perhaps @webron or @fehguy have more insight.

@earth2marsh yes they are distinct methods. They perform different operations and should be individually documented (just as any other distinct operations of your API are).

@webron and @fehguy , welcoming discussion regarding why an API containing the operations above either conflicts with the "Swagger point of view on API design" or, if it provides a valid justification to enhance Swagger to consider query parameters in it's definition of an operation signature

We did spend time on this subject and decided it wasn't the right direction.  That can change for future versions, but here are some of the reasons.

Making an operation deterministic while considering query params can get very complicated.  What if QPs are optional?  The selection criteria gets very troublesome
Do we consider values in selecting the operation path?  Does /foo/bar?count=1 get treated differently from /foo/bar?count={count}?
As a consumer of the service, how much "logic" is required to interpret how different query param values affect the response type?  You could for instance have ?type=dog or ?type=order and return different response models, because this constitutes a different operation path.  Is that intuitive for the consumer, or does it place more burden on them?

The conclusion was that this was a can of worms and it'd make the api harder to work with.  There are other ways to represent the same logic without relying on query parameters that may be more easily understood.  The rest of the toolchain would become very, very complicated to make consistent and reliable.
I hope that helps at least with the past decision making.

An operation can return different type of responses (with the same response code) in many APIs. The reason why an operation is returning certain response can be a lot of things. It can be because a query param is determining it (your example), it can content negotiation(Content-Type header), it can be internationalization or localization. Current version of Swagger does not support operation overloading (having different response for an operation) but that doesn't mean we can't have it in the next next version of Swagger. That's why this issue has Swagger.Next tag.
Swagger should not describe logic of your API. In your API query param is determining the response shape but in other APIs it can be different. My proposal for this is to describe all possible responses without binding each response to a query param or a header param or anything else. That logic can be described in description field of each response.
Here is my proposal for operator overloading:
swagger: '2.1'
info:
  version: 1.0.0
  title: Overloading example
paths:
  /:
    get:
      responses:
        200:
          oneOf:
            - description: Returns a string
              schema:
                type: string
            - description: Returns a number
              schema:
                type: integer

@fehguy the concerns raised by your examples are squelched if you only consider the presence of query parameters and not their values (as operation discriminators). Thoughts?

side question.  isn't that intent more clearly represented in a well-designed path as opposed to query params?

I mean you get into personal preferences with that question right?
a path based implementation of the examples might be something like:
Get: /users/jim/photos-mentioned-in "retrieves photos where jim is mentioned"
Get: /hashtags/selfie/photos-labeled-with "retrieves photos where selfie is hashtagged"
obviously there are alternative path and query parameter based implementations out there from what i've given in my examples (that ultimately expose the same operations) but I think you'd end up with nearly a fair split with regards to people preferring path based over parameter based and I'd certainly say it would be case by case with respect to the particular operation being exposed.

+1
In our case we need it for POST to execute 4 various security actions:

/v1/security/credentials?action=changePassword
/v1/security/credentials?action=requestPasswordReset
/v1/security/credentials?action=resetPassword
/v1/security/credentials?action=remindUsername

Every action is implemented as different method with different POST body.
We don't want to distinguish actions by path (eg. /v1/security/credentials/changePassword) because pahs should be nouns, not verbs.

@zdila in this specific case you could perhaps model your api as follows:
PUT /v1/security/credentials/password -> changes the password (body contains new password)
DELETE /v1/security/credentials/password -> resets the password
POST /v1/security/credentials/password/reset -> requests a password reset (body could contain a message)
POST /v1/security/credentials/username/reminder -> creates a reminder (body could contain a message)
if you agree that a "reset" could be a noun (as in "I'd like to request a password reset") - then the (somewhat lofty) requirement  "paths should be nouns, not verbs." is at least fulfilled  :-)
/Ole

I have a similar issue but in my case my response type is the same:
For example, let's there there is a User service that allows you to create, remove, or search for users:
GET /user/{userid}
PUT /user/{userid}
POST /user/

And search API:
GET /user?username={username}
GET /user?firstName={first}&lastName={last}
GET /user?phone={phone}
GET /user?address1={add1}&city={city}&state={state}

Theoretically they all can be defined as a single Swagger operation
GET /user?username={username}&firstName={first}&lastName={last}&phone={phone}&address1={add1}&city={city}&state={state}

But how to you document which fields belong to which operation? Making them all optional is miss-information. Also client code should really have 4 separate methods.
Hypothetically, you could add:
GET /user/searchByUsername?username
GET /user/searchByName?firstName={first}&lastName={last}

But this would go against REST-ful principle of a verbs in the resource URI - "/user/searchByUsername" is not a resource.
You could also go all out and treat search as a resource:
POST /search/username?username="username"
201 Created
/search/search12345

GET /search/search12345
{
   username : "username",
   firstName : "first",
   lastName : "last",
   ...
}

The first option is preferred and property describes the API. Any recommendations?

Seriously, please add this capability. It's especially useful for searches.
/REST/Customers/
/REST/Customers/{ID}
/REST/Customers?phone=xxxx
/REST/Customers?email=xxx
/REST/Customers?firstName=xxx
/REST/Customers?lastName=xxx

+1

+1
There's another useful scenario where the structure of a response can change substantially  based on a query parameter - expansion of nested collections.
To reduce the number of API queries a client needs to make, it's often valuable to provide the option to include all instances of a related collection in a single response. Say you have an /api/article/{id} endpoint and a related /api/article/{id}/comments endpoint. You can provide the article and it's comments in a single query and response with something like /api/article/{id}?expand=comments

+1

Parent: #574.

I came here looking for help with deciding how to deal with different versions of objects returned from a RESTful API which I think is a subset of the wider problem of returning different responses from the same resource.
The majority of the used cases given above seem to be trying to overcome really poor RESTful API design models. The best example of this is @chrisdostert (although he is one of many): "I have 2 completely different operations on the same resource that return the same (or different) things but I have chosen to put them under the same RESTful resource name". While the programming language allows him to do this, it is up to the spec writers to promote good design. This was the best self-defeating argument for better API design. Try /photos/mention/{name} or /photos/hashtags/{tags}. This adheres to RESTful principles, uses nouns, fits in with the current swagger spec and produces a nice clean (cachable?) interface. Making an interface narrow doesn't mean reusing the same name for everything!
While users might have a preference for path-based or query-based parameters, the REST interface definitely has a preference for path-based parameters. So speaking with my hard hat on "get with the program"! Swagger documents RESTful interfaces so the more RESTful you are the more swagger will work for you. The more query-based you are the more cases there will be (rightly-so) to stop you getting what you want from swagger.
Even @howlowck includes a case where "query" should be included in the path as it is a parameter that changes the resultant object. In his case he has actually made a trade off between writing less documentation over writing a poorer interface. If there are many different search types with different search results he should document them individually (as he knows what they are in advance) and make them part of the RESTful interface (or get  Foursquare Venues Search API) to be more RESTful.
I think allowing query parameters to be included in swagger definitions is a terrible idea and if you need to do it then it shows that your interface needs refactoring to be more RESTful.
In my case with versioning, I don't think my returned objects are going to be wildly different but if they are there is a case for creating a new resource type.
So while documentation shouldn't dictate program design it should promote best practice.

@davidnewcomb

REST interface definitely has a preference for path-based parameters

Can you point to specifications that substantiate this claim?  My understanding is this a misconception based on text in RFC 2396 that was corrected in RFC 3986 back in 2005.  A resource is identified by a URI and query parameters are an integral part of that identifier.
Calling other people's designs out because they don't conform to your perspective of what is RESTful is not helpful.  If you see issues in designs that violate RESTful constraints then you are welcome to explain the negative system effects.  However, recognize that every choice is a trade off and there may be valid reasons for choosing to violate a constraint.
OpenAPI is a specification to help describe HTTP APIs, it uses the term REST loosely because that is the term people have come to expect when building HTTP APIs.  Actual REST based systems do not use design time descriptions of resources, as that would inhibit evolvability, so debating REST constraints here is not useful.

After doing a lot of extra reading, I must now eat humble pie. I have been labouring under out-of-date knowledge. It also turns out all my knowledge about internet caching was also out-of-date too as that was the (previous) primary reason for being against this proposal.
Now armed with the most up-to-date information, I'm still apprehensive about this proposal. While I realise there are many influences on the RESTful design an organisation might take, it looks like there must be a matrix of query parameters, headers, paths and whatever else in order to describe what combinations will have what return types.
Some of the users above talk about receiving an object with restricted data depending on who you are logged in as, which will present significant challenges for the code-generation side of swagger.
The nice thing about the current implementation is that I can see what type of object, I will get when I make a call.

@davidnewcomb I agree that using only the path to identify the resource is a nice simplification that is sufficient for most cases.  However, a significant number of people come to OpenAPI to try and document an existing API.  We have to balance encouraging good practices with being compatible with the wide range of ways HTTP APIs are implemented.

I just want to know if this feature has been added to the latest version of the spec and if it is implemeted in swagger editor. Could anybody help?

sorry for late response but @davidnewcomb wait.. I said no such thing AFAICT; not sure where that quote back in 2016 is coming from

@iambingoNJU No.  Version 3.0 of the spec still only uses the path portion of the resource identifier to identify operations.

@darrelmiller Thx! And sorry for my late reply. And how do you fix this kind of problem? Maybe I think I should change the service endpoint.

Is there any progress on this?

No. It is one of the topics under consideration for the next version https://github.com/OAI/OpenAPI-Specification/issues/2572

This general concept of this proposal has been accepted into Moonwalk under the "operation signatures" principle. 🎉
Since a change of this magnitude can't go in the 3.x release line, I'm closing this issue in favor of the Moonwalk discussions.


Flakes: Failed to load cache entry

I've seen this happen with multiple Jenkins jobs. The task will fail when this happens.
Failed to load cache entry for task ':runners:portability:java:compileJava'
https://ci-beam.apache.org/job/beam_PreCommit_Java_PVR_Flink_Docker_Commit/235/console
Imported from Jira BEAM-13797. Original Jira may contain additional context.
Reported by: ibzib.

Infrastructure issue. Likely won't fix because we're going to migrate away from jenkins.


cmd/vet: false positive of self-assignment

What version of Go are you using (go version)?

$ go version
go version go1.19 darwin/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/username/Library/Caches/go-build"
GOENV="/Users/username/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/username/go/pkg/mod"
GONOPROXY="gitlab.com/orgname"
GONOSUMDB="gitlab.com/orgname"
GOOS="darwin"
GOPATH="/Users/username/go"
GOPRIVATE="gitlab.com/orgname"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.19"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/username/Code/project/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/r3/9d9f8ggn5t1_vd8ht7425w9c0000gn/T/go-build3919061805=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

https://go.dev/play/p/TBs0FGA9Ry8
package main

func main() {
	m := make(map[string][]string)
	m["s"] = m["s"]
}

$ go vet
# test
./main.go:5:2: self-assignment of m["s"] to m["s"]

What did you expect to see?
nothing
What did you see instead?
./main.go:5:2: self-assignment of m["s"] to m["s"]
I thought this is supposed to be fixed. Looks similar to https://github.com/golang/go/issues/22174

This is a true positive.

No, this is a false positive. The thing that looks like a self-assignment modifies m to have length 1 (maps "s" to nil).

cc @matloob @timothy-king

I do not find the example given in the issue all that compelling.  m["s"] = nil is obviously better. Here is a slightly contrived, but more compelling example:
// AddKeys adds keys as keys in the map m. Returns true if any keys were added.
func AddKeys(m map[string]interface{}, keys []string) bool {
  l := len(m)
  for _, k := range keys {
    m[k] = m[k]
  }
  return l >= len(m)
}

The root cause is that analysisutils.HasSideEffect is applied the lhs and rhs independenly by the assign pass and does not take into account the side effect of an assign statement to an index on a map.
I think we do not want vet warning in this case.

The example was minimum reproducible code..
My actual use case was: if map content exists keep it, if the key doesn't exist, use nil.
Alternative implementation for my case would be
if _, ok := m["s"]; !ok {
        m["s"] = nil
}

Right. I just wanted an example where "if map content exists keep it, if the key doesn't exist, use [zero value]" is clearly the desired operation. This made being a "false positive" more obvious (at least to me).


Скласти таймлайн

Скласти список всіх (важливих) життєвих подій, визначних дат, досягнень, періодів, що дали приємний і неприємний досвід, тощо. В цьому конкретному випадку довгих списків не буває, натомість бувають погано згорнуті, тому пакуємо сюди все підряд, а про "лишні" події можна буде промовчати пізніше. Список повинен бути систематизованим і посортованим в такий спосіб, щоб читач швидко зрозумів "паттерн" і міг легко орієнтуватись в просторі і часі цього резюме.

Main News

31thDec 2019
Wuhan Municipal Health Commission, China, reported a cluster of cases of pneumonia in Wuhan, Hubei Province. A novel coronavirus was eventually identified.

1thJanuary 2020
WHO had set up the IMST (Incident Management Support Team) across the three levels of the organization: headquarters, regional headquarters and country level, putting the organization on an emergency footing for dealing with the outbreak.

4thJanuary 2020
WHO reported on social media that there was a cluster of pneumonia cases – with no deaths – in Wuhan, Hubei province.

5thJanuary 2020
WHO published our first Disease Outbreak News on the new virus. This is a flagship technical publication to the scientific and public health community as well as global media. It contained a risk assessment and advice, and reported on what China had told the organization about the status of patients and the public health response on the cluster of pneumonia cases in Wuhan.

10thJanuary 2020
WHO issued a comprehensive package of technical guidance online with advice to all countries on how to detect, test and manage potential cases, based on what was known about the virus at the time. This guidance was shared with WHO's regional emergency directors to share with WHO representatives in countries.
Based on experience with SARS and MERS and known modes of transmission of respiratory viruses, infection and prevention control guidance were published to protect health workers recommending droplet and contact precautions when caring for patients, and airborne precautions for aerosol generating procedures conducted by health workers.


new rails app

A few bumps along the way, but should be close to the defaults.

.tool-versions from rails-template instead the .ruby-version installed by rails

Bump the ruby version
Add a yarn version

Add README, apache2 license and the .gitignore suggested by github for rails (longer than the .gitignore that just comes with rails)
Add a package.json so turbo and stimulus could be installed.
Had to gem uninstall bindex and nio4r, but hopefully that was just a local problem.

Rails starts for me.
I'm going to branch from this and continue with the steps suggested by rails-template.

@mccalluc Did you create this utilizing the rails-template? Or did you do a rails generate
I know @bess utilized the rails template for pdc-describe and thought it made things smoother.

Also, please note that I have added some basic branch protections for main using https://github.com/pulibrary/tiger-data-app/settings/branch_protection_rules/31030809

wrong direction. Closing.


Add an indication if some entities are loading in the background

EPAM AI DIAL chat version
0.18
What happened?
Add an indication if some entities are loaded in the background for:

system prompt selection;
chat input prompt selection;
compare mode;
change path dialog folders.

Confidential information

[X] I confirm that do not share any confidential information

related ticket: #2001


Eslinting and Style should at least mention prettier

javascript apprentice eslint and style should probably ask about/mention prettier.
Some possible questions

What makes prettier different from eslint?
How can "everything be fixable" with prettier, and not eslint?

I'll get around to making a PR for this soon, I just wanted to make an issue so I won't forget.

I agree, prettier wasn’t out when this was written.

done and done.


fix Flake of TestAddRemovePodWaypoint

What type of PR is this?
/kind bug
What this PR does / why we need it:
This test case, after the waypoint is deployed, incorrectly checks whether it's L4 traffic instead of L7. When test runs fast enough, before the waypoint is deployed, the test has been completed, the test will pass. However, if the waypoint is deployed successfully during the test, it will fail, which is why this case is often flakey.
Which issue(s) this PR fixes:
Fixes #967
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/lgtm
/approve