[Issue #4703] Add the pod name when we use podman ps -p

The pod name does not appear when doing podman ps -p.
It is missing as the documentation says:
-p, --pod              Print the ID and name of the pod the containers are associated with
When we create a container, the pod name will be added in its config.
On master:
[x libpod]$ sudo bin/podman pod ps
POD ID         NAME                 STATUS    CREATED          # OF CONTAINERS   INFRA ID
01ede9c31b4d   inspiring_driscoll   Created   20 seconds ago   1                 04e03f9f9d55
[x libpod]$ sudo bin/podman ps -ap
CONTAINER ID  IMAGE                                 COMMAND  CREATED         STATUS   PORTS  NAMES                      POD
04e03f9f9d55  k8s.gcr.io/pause:3.1                           20 seconds ago  Created         01ede9c31b4d-infra         01ede9c31b4d

We cannot see the pod name in the second command.
On the feature branch:
[x libpod]$ sudo bin/podman pod ps
POD ID         NAME                 STATUS    CREATED         # OF CONTAINERS   INFRA ID
01ede9c31b4d   inspiring_driscoll   Created   5 seconds ago   1                 04e03f9f9d55
[x libpod]$ sudo bin/podman ps -ap
CONTAINER ID  IMAGE                                 COMMAND  CREATED         STATUS   PORTS  NAMES                      POD           POD NAME
04e03f9f9d55  k8s.gcr.io/pause:3.1                           16 seconds ago  Created         01ede9c31b4d-infra         01ede9c31b4d  inspiring_driscoll

The pod name does appear.
Closes #4703
Signed-off-by: NevilleC<EMAIL_ADDRESS>

/ok-to-test

That sounds like the right thing to do in this case.
On Wed, Dec 25, 2019, 08:22 NevilleC<EMAIL_ADDRESS>wrote:

@NevilleC commented on this pull request.
In libpod/container.go
https://github.com/containers/libpod/pull/4748#discussion_r361312075:

@@ -227,6 +227,8 @@ type ContainerConfig struct {
Name string     json:"name"
// Full ID of the pood the container belongs to
Pod string json:"pod,omitempty"

// Name of the pod the container belongs to
PodName string json:"podName,omitempty"

I could fix the tests in the CI by ensuring that the pod lookup is done
if, and only if, the user has requested the pod details.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/containers/libpod/pull/4748?email_source=notifications&email_token=AB3AOCDRJYVFL6SBXZLGVFTQ2NNBLA5CNFSM4J7BMBB2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCQGIACY#discussion_r361312075,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3AOCALIUDVJMPEIM3U7F3Q2NNBLANCNFSM4J7BMBBQ
.

[+1164s] [Fail] Podman ps [It] podman --pod with a non-empty pod name
Ahhh, it's Varlink. You didn't pipe it through the Varlink adapter code - BatchContainerOp() in pkg/adapter/containers_remote.go would also need to be patched.
@baude Given the state of Varlink right now, I'd almost rather we not do that and SkipIfRemote() the test. Thoughts?

/approve

Looks like podman remote tests are failing?

@rhatdan Yes, I was waiting for an answer to see if I should pipe it through the Varlink adapter code or use the SkipIfRemote(), as suggested by @mheon https://github.com/containers/libpod/pull/4748#issuecomment-569119162.
I used the SkipIfRemote() as it seems it would be the way to go for the moment after reading mheon's comment.
The CI should pass now.

LGTM
@mheon PTAL

LGTM
On Sat, Dec 28, 2019, 06:35 Daniel J Walsh<EMAIL_ADDRESS>wrote:

LGTM
@mheon https://github.com/mheon PTAL
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/containers/libpod/pull/4748?email_source=notifications&email_token=AB3AOCEDEFBVPTDJVBEL5JLQ242XXA5CNFSM4J7BMBB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHYH4BY#issuecomment-569409031,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB3AOCHSHMJGTCVKBV4ZXN3Q242XXANCNFSM4J7BMBBQ
.

/lgtm
Thanks @NevilleC


Fix eventually properties

Now that we use timeouts for triggering syncs this leaves cycles at the end of the search. Stateright doesn't support cycles with eventually properties so things don't always work (like checking counters always end up with 0).

Most properties in amc should likely be a combination of always and syncing_done to ensure the state is consistent whenever syncing is complete, this includes at the end.


Why are banned words given points?

Can someone explain the logic behind adding points toward the 5-point threshold for each banned word?

Score Calculation
The next step is to identify all instances of banned passwords in the user's normalized new password. Points are assigned based on the following criteria:

Each banned password that's found in a user's password is given one point.
Each remaining unique character is given one point.
A password must be at least five (5) points to be accepted.

This doesn't make sense to me particularly when we have multiple words in our company that we want banned.  Each of those contribute toward an acceptable score.  In fact, if our company name is 5 or more words long, and all words are  banned; the password that consists of the company name (or any 5 of the banned words) would actually be accepted!

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

ID: c58c903b-778e-e1d9-31c3-321a6fd0050f
Version Independent ID: 9ee47301-0c8d-26ff-1deb-6d309aef2f97
Content: Password protection in Azure Active Directory
Content Source: articles/active-directory/authentication/concept-password-ban-bad.md
Service: active-directory
Sub-service: authentication
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@bryhall Thank you for your query. We will investigate and update the thread.

Hello @bryhall, thank you for reaching out. I apologize for the delay in my response. Just wanted to share that, I have no information on this yet, but I am trying to get some answers for you soon.

Hello @bryhall, I apologize for the delay as it took me sometime fetching you a suitable answer for this query. The algorithm works this way (assigning one point to each instance of a banned term) in an attempt to balance security and usability. Initial testing of this feature (2+ years ago or so) showed that end users got really frustrated when their new password was rejected due to the presence of a single banned term, even if there was a lot of other complexity present in the password. So the point-counting algorithm was developed. One way to look at it is this: banned terms in a password are tolerated assuming there is enough sufficient additional entropy in the password to balance out the risk. At the other end of the spectrum, it's also true that if an end user was to append five or more banned terms together for their password (eg, "PasswordPasswordPasswordPasswordPassword"), such a term would be accepted.
Hope this helps.
Do let me know if there are any more queries around this so that we can help you better.

closing the thread for now since received no more updates on this yet.

Thanks for the explanation.  I think your last sentence is really the gist of why algorithm doesn't seem to make sense.  Long pass phrases are harder to crack for sure, even when repeated banned words are used (e.g. PasswordPasswordPasswordPasswordPassword), but the logic breaks down when the long password becomes an easy to guess string, for example, when employee of an company called "Tail Spin Toy Company, Inc." uses that exact phrase as a password.  The protection mechanism intended to block that behavior actually allows it, does it not?


MAID-2050 Adapt to new datetime format of NFS File fields

Coverage increased (+0.3%) to 84.773% when pulling fddbe1bf35d856e184978ed55544427e426605a0 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 42aec48f195d00d3a33728d5c6b7edba31d4f210 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 42aec48f195d00d3a33728d5c6b7edba31d4f210 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling b7c2d9d2f2e16e55d12f499a97545e3d9647f7d6 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 503f589b2c6af01f4bd1bdffdbb8ac76c91c8a9b on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 503f589b2c6af01f4bd1bdffdbb8ac76c91c8a9b on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 7f602aa71612b450eb0a04d0ee3d11bf2465a8b8 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.

Coverage increased (+0.3%) to 84.773% when pulling 7f602aa71612b450eb0a04d0ee3d11bf2465a8b8 on bochaco:MAID-2050-adapt-to-new-datetime-format into 202bdfda40163bf2fad813a378576553c7fca05d on maidsafe:master.


Fixes old firmware version of the non-kickstarter NOLO CV1

Much cleaner version of #227 as it doesn't change the indentation of a large chunk of code.
The returned value of is_nolo_device could also be used in the driver for firmware-dependent code paths until proper detection is put in place.

Pushed changes that made the checks in is_nolo_device consistent in their formatting. The Travis errors are not related to this PR (it is checking out the wrong branch..)


Random Route False

PR for Random Route False fix
Closes #42

Is there a way to try and run 'deploytobluemix' (it takes only master branch) of this pull request?
because i changed it in my local to 'false' and it gave the below error -->that its not appending the timestamp as route-name.

Tested 'deploy to bluemix' by forking into personal repo.
Merging #43


Animation import: empties in extras / TargetNames

Describe the bug
Created to track the issue in Blender and Godot Importer:

https://projects.blender.org/blender/blender/issues/106842
https://github.com/godotengine/godot/issues/75969

E.g. Babylon.js, Tree.js successfully parses both files and shows the animation.
To Reproduce
Steps to reproduce the behavior:
Compare the difference in bad/ok glTF files and try to import them:
repro.zip
...
            {
              "NORMAL": 97,
              "_w": 96,
              "_v": 95,
              "POSITION": 94
            }
          ]
        }
      ],
      "name": "rbdbulletsolver1",
      "extras": {
        "targetNames": [
          "",
          "",
          "",
 ...
        ]
      }
    }
  ],
...

Blender import is solved by #1902

Fixed by 09e81e2cb02d4f139496978ce1ae9463d41eba8a


Scan result is not uploaded in Seccubus database - Error exporting to PDF

I have pretty much the same error as ranjan1n.
Nessus version is 6.7.0.
Seccubus version: 2.26
My System: CentOS release 6.7 (Final)
Using the Nessus6 scan script provided with the 2.26 release, I get the following output (extract):
Without the fix
Scan status: completed. 14 findings on 1 host(s).
Exporting report in nessus format
Initiated scan export to file<PHONE_NUMBER>
Scan export status: ready
Report downloaded, saving<PHONE_NUMBER> to /tmp/seccubus.NessusScans.nessus-work.20160926111341.347.nessus
Exporting report in pdf format
Initiated scan export to file<PHONE_NUMBER>
Nessus server returned error code: 500
Message: {"status":"error"}
3 retries left
Sleeping for 30 seconds before retring
Nessus server returned error code: 404
Message: {"error":"The requested file was not found"}
2 retries left
Sleeping for 30 seconds before retring
Nessus server returned error code: 404
Message: {"error":"The requested file was not found"}
1 retries left
Sleeping for 30 seconds before retring
Nessus server returned error code: 404
Message: {"error":"The requested file was not found"}
0 retries left
And the fix doesn't work for me:
With fix
Scan status: completed. 14 findings on 1 host(s).
Exporting report in nessus format
Initiated scan export to file 156361551
Scan export status: ready
Report downloaded, saving 156361551 to /tmp/seccubus.NessusScans.nessus-work.20160926130854.1089.nessus
Exporting report in pdf format
Initiated scan export to file 584574427
Nessus server returned error code: 500
Message: {"status":"error"}
3 retries left
Sleeping for 30 seconds before retring
Server returned error: The requested file was not found
Scan export status request returned 404Server returned error: The requested file was not found
Scan export status request returned 404Server returned error: The requested file was not found
Scan export status request returned 404Server returned error: The requested file was not found
[...]
With the fix, it didn't stop after reaching the max retries. The last line is repeated several times.
I just try to launch a regular Nessus6 scan with a policy.

This has been fixed in a previous version of Seccubus. Closing ticket.


Provide fetcher with config file

Config file could be json or csv. Should make it easy to pass in several data sources to query.

in progress

done. may need to clean up code later


wireframe not shown on the back of a surface

Bevy version
bevy = { git = "https://github.com/bevyengine/bevy", rev="7cb4d3c"}
Operating system & version
Windows 11, Nvidia GeForce RTX 3060 with a Vulkan backend.
What you did
I created a simple 3D surface using a Sinc function.  This is an open surface and needs to display both the front-facing and back-facing sides, so I set the double_sided field to true and cull_mode to None when creating material:
       material: materials.add(StandardMaterial{
           base_color: Color::rgba(1., 1., 1., 0.).into(),
           double_sided:true,
           cull_mode: None,
           ..default()
       }),

I then inserted the wireframe to this surface and got unexpected results: the wireframe is displayed only on the front face, as shown in this image:

What you expected to happen
The wireframe should be on both sides. I recreated this surface using the WebGPU and wgpu directly. Both the WebGPU and wgpu give the same results, as shown in this image:

You can see that the wireframe is on both sides. Since the bevy engine is based on wgpu, I don't understand why the wireframe is only on the front face in bevy.
Additional information
It is good to see that bevy is trying to improve wireframe with a specified color. #3677. I would like to suggest bevy to develop a wireframe similar to that in a Python version wgpu render engine called pygfx. pygfx not only creates a wireframe on both sides of a surface, but also allows the wireframe to have different colors on each side of itself, as shown here:

In addition, the pygfx engine lets change the thickness of the wireframe, which is hard to do in the original WebGPU and wgpu where the line width is fixed to 1px. Here shows the Sinc surface-wireframe with a  yellow color and a thickness of 4px, which I created using pygfx.

This link shows the approach used in pygfx to implement wireframe with a specified thickness.

I think these are all fantastic suggestions, and would welcome PRs to implement this.


improvement suggestions for AnimatedSprite

Operating system or device - Godot version:
Windows 7, Godot Engine v2.1.3.stable.official
Issue description:
I worked a lot with animatedSprite in my last project and this has bothered me all the time:

not having the possibility to flip a frame horizontally/vertically

could not delete a frame with [delete] key (node get deleted)

after pressing on new animation button the animation text (New Anim) is not selected and cant be directly renamed

selecting a AnimatedSprite node in tree doesn't show automatically SpriteFrames gui on the bottom when node has a SpriteFrames ressources (slow down the flow to quick edit an animation)

What I'm not sure:

when animation only has one frame do I need to turn loop off or does the engine handle this automatically?

does it has an old discussion on having [Insert Empty (Before)] and [Insert Empty (After)]?
Its confusing and I need to consider with button I need to press.
Having only an [Insert Empty] and move the frame with [Up] or [Down] would be enough.

Is it possible to have button from animationPlayer?

No. 4 is something I run into a lot, and I also find it pretty distracting! However, I think this problem goes beyond AnimatedSprite, as I've seen this also happen with shaders. The relevant menus in the bottom panel don't appear at all unless you have the resource loaded in the inspector. I think a proper solution for this would involve some heavy modification to the editor's functionality and overall workflow, and I have no ideas as to what could be done.

I's say I am ok with all those changes. But still, in my opinion, I think we should someday find a way to fusion the AnimationPlayerEditor with the AnimatedSpriteEditor. They serve quite a same purpose...

I believe there is a reason for them to be separated, which is to give a specialized, uncluttered animation editor for sprites. Remember AnimationPlayerEditor has to deal with anything, properties, transforms, funcalls, interpolation modes, in 2D and 3D. So I wonder how a "merge" of the two would lool like, since AnimatedSpriteEditor was added after (I don't remember when though)

I believe there is a reason for them to be separated`

So do I, but they do share a lot in common anyway. In terms of usability, having two separate ways to animate things is a little bit counter-intuitive. But probably that the AnimatedSprite is a good compromise for now, as merging the two systems would probably need a huge refactoring of the animation system.

So I wonder how a "merge" of the two would lool like, since AnimatedSpriteEditor was added after (I don't remember when though)

Something like what Unity does I guess.

I'm OK with the AnimatedSprite node. It helps a lot speed up my workflow.
I think point 1 - 3 should not be a big change and would help even more.
I agree with @homer666 that point 4 will need some larger changes.
What about point 5 - 7?

No 4 I'm waiting for the inspector rewrite after 3.0 to re-think how these
should work..
On Mon, Aug 21, 2017 at 8:15 AM, puppetmaster-<EMAIL_ADDRESS>wrote:

I'm OK with the AnimatedSprite node. It helps a lot speed up my workflow.
I think point 1 - 3 should not be a big change and would help even more.
I agree with @homer666 https://github.com/homer666 that point 4 will
need some larger changes.
What about point 5 - 7?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/10468#issuecomment-323717451,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2zDC39675hDBVTsHlcJo76rcGShoks5saWblgaJpZM4O8eV7
.

I want to work on this and I've been looking at sprite_frames_editor_plugin.cpp but I'm not sure where to start. I've been poking SpriteFramesEditor::_animation_add for a while to try and implement no. 3, but I can't seem to bring up the animation name editing box.
I'm still rather new to the editor source code.

I will close this issue, it is already very old and if there is still a demand I will apply for it again at the new dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker.


Person Search query : names with more than one word give no results (…

…#343)

no need to merge, will release from there


Proposal: clean up connection_details.go

Hello, While I am looking in the file connection_details.go several times, I think it was originally born to be store common connection information structure and related functions like parsing URL. But since there are some kind of differences on each dialect, now it mixed with some switchs and if buffalo and pop grow more, it will become more complex.
So in my opinion, all things depend on specific database engines should be moved to its dialect file and connection_details.go should stay with common things.  (of course, I also guess dialect_*.go was born to support differences of something like SQL syntaxes basically, I think we can just treat it as drivers.)
@markbates, and other maintainers,
If you agree with my idea, I will start to clean up the codes. Today's idea is, just simply,
Ideas

Move all database-specific things to its dialect.

There are only default values of Port and MySQL specific URL parser.

Fix ConnectionDetails structure and configurations to use Options more.

Encoding is used my MySQL only. It can be moved under Options and,
Write common Options handling function in connection_details.go (something like I PRed for cockroach)
For special options for stability, like multiStatement for MySQL, shoud handled by function that handle default values for each dialect, with standard form.

Keep compatibility but some can be deprecated in future. (something like Encoding)

I think above changes are good starting point of the change.
How do you think about this?

Looks good to me. I'll check your PR by the end of the week. :)

How about adding test like this?
func Test_MySQL_DB_Operations(t *testing.T) {
	r := require.New(t)

	err := LoadConfigFile()
	r.NoError(err)
	testFor := os.Getenv("SODA_DIALECT")
	if "mysql" != testFor {
		return // not my turn
	}
	if "on" != os.Getenv("POP_EXTRA_TEST") {
		t.Log("Skip extra DDL tests for mysql.")
		t.Log("POP_EXTRA_TEST=on if you want to run extra tests.")
		return
	}
	t.Logf("Current SODA_DIALECT is %v. Test more...\n", testFor)
	connection := Connections[testFor]
	r.NotNil(connection, "oops! doing extra tests but could not found connection!")
	t.Logf("Use connection: %v\n", Connections[testFor])

	testDB := "pop_test_mysql_extra"
	cd := connection.Dialect.Details()
	cd.Database = testDB
	d := connection.Dialect

	d.DropDB()
	err = d.CreateDB()
	r.NoError(err)
	err = d.CreateDB()
	r.Error(err)
	err = d.DropDB()
	r.NoError(err)
}

Although before testing, we do ./tsoda ... which is use those functions, I think we can add extra tests for DDL functions such as CreateDB, TruncateAll, LoadSchema,... and it will help to catch some problems.
By the way, is there any reason for did not connect to any test coverage management tools?

Great work with this lib everyone!
Love the idea of cleanup. "Since there are some kind of differences on each dialect" bit got me, when I tried to deploy to Google Cloud SQL (PostgreSQL).
PostgreSQL accepts connection string that does not contain the URL format expected by Pop. App Engine Flex and the new App Engine Standard are both expecting that format when trying to connect to Cloud SQL instance (due to the Unix domain socket).
Example: user=USER password=PASSWORD host=/cloudsql/PROJECT_ID:REGION_ID:INSTANCE_ID/ dbname=DB_NAME
Related issue: #53
Currently, Pop is trying to parse the URL:
https://github.com/gobuffalo/pop/blob/2826150afc4a735cd22dc8bf8346605ec437fc17/connection_details.go#L57
which makes the use of connection string format impossible.
As a quick workaround, I managed to get around that by adding the condition:
https://github.com/deviseops/pop/commit/470f311a1e395d0868b008247bf244247150309e
Hopefully, the cleanup would be able to address that issue more nicely.

Hi @B-Scan,
I agree with your comments. And I also feel so good with this well-structured project!
Basically, I consider about adding additional database engines probably added in the future and some variations of existing database engines as you mentioned GCP edition of Postgres, and more.
I think the first goal for this is that if we need to add an additional database engine, it should be adding a single file, not modifying others like connection_details.go, to maintain it independently. (When I have tried to add another version of MySQL dialect, I've found it is somewhat complicated since there are some more files that need to be modified.)
And I also think we need to consider variations. It can be different versions of the same engine, or differently implemented services using the same database engine. To solve this issue, I added ServerInfo structure in the dialect of Cockroach experimentally. With this information structure, we can handle the same request(function call) with slightly different ways for each variation in a single dialect.
Although this part is not the main body of the library, it can help to make the base more stable.

This should be done now, thanks! :)


MSID: 87644 Version: 1 DOI: 2<IP_ADDRESS>3567

"msas": "Neuroscience"
"msid": "87644"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>3567"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."
"Reviewed Preprint posted": "2023-06-08"
"Sent for peer review": "2023-03-20"
"Posted to bioRxiv": "2023-03-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>3567v1")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v1/by-publisher/elife/get-by-manuscript-id?manuscript_id=87644)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/87644/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: https://github.com/elifesciences/enhanced-preprints-data/pull/100
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews
Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>3567)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/87644/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/87644)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/87644

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/87644

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/87644/v1/87644-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/87644)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

Lead contact add as an affiliation for corr author.

PR to fix the above - https://github.com/elifesciences/enhanced-preprints-biorxiv-xslt/pull/41


Net settings fixes

"samples: net: Remove IEEE 802.15.4 sample setup" commit has in the commit message:

function is is enabled

(double "is")


Readme has two small errors

In the 'Usage' section of the brush.add() details, I think there are two mistakes in one of the examples.

I think the value for pressure.type should be "standard". The "custom" type requires the pressure.curve value to be a function.
There should be a comma after the "tip" value

// You create a custom tip brush like this:
brush.add("watercolor", {
    type: "custom",
    weight: 5,
    vibration: 0.08,
    opacity: 23,
    spacing: 0.6,
    blend: true,
    pressure: {
        type: "custom",
        min_max: [1.35,1],
        curve: [0.35,0.25] // Values for the bell curve
    },
    tip: (_m) => {
       // in this example, the tip is composed of two squares, rotated 45 degrees
       // Always execute drawing functions within the _m buffer!
       _m.rotate(45), _m.rect(-1.5,-1.5,3,3), _m.rect(1,1,1,1);
    }
    rotate: "natural",
})

Thanks for this amazing library!

Hey @bergonom, thx a lot for spotting this mistakes. Already fixed them


How to force "Center tracking mode"

Hy @EdwardvanRaak
First of all must say you've done great stuff and really appreciate that, while working with this library I've found that even with centerTrackingEnabled the library still scans outside the centerTrackingDrawable.
My requirement is to scan only the portion of view that is inside the centerTracking drawable.
So how can i force "Center tracking mode"?
Waiting for your reply.

Not possible right now but I could make a feature like this.
Right now I am on a vacation, work will be done on this library next weekend together with some other stuff.

Thanks for instant reply, will be great to see this feature in the new
release.
On Mon, Jul 25, 2016 at 10:40 AM, Edward van Raak<EMAIL_ADDRESS>wrote:

Not possible right now but I could make a feature like this.
Right now I am on a vacation, work will be done on this library next
weekend together with some other stuff.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/EdwardvanRaak/MaterialBarcodeScanner/issues/19#issuecomment-234845176,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEBWd2XuOtLh0t26H95PjqqaAQpHVMm8ks5qZExcgaJpZM4JTzJA
.

--
Best Regards
Khurram Shehzad
Computer Engineer ( University of Engineering & Technology (UET) Taxila )


Added "take" to commands

Using take creates a new folder and cds into it, which saves key strokes.

[ x] I have read freeCodeCamp's contribution guidelines.
[ x] My pull request has a descriptive title (not a vague title like Update index.md)
[x ] My pull request targets the master branch of freeCodeCamp.
[ x] None of my changes are plagiarized from another source without proper attribution.
[ x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

I just realized that this only works with zsh, so I'm closing this PR.


Gauge shows wrong threshold color if there is more than one data value for the series

C3 version: 0.7.13
D3 version: 5.15.0
Browser: Chrome 80.0.3987.87
OS: Windows 10

Problem description
If a gauge chart gets more than one data row/column, the values are summed up for each series, which works nicely as far as I can tell.
However there seems to be a problem finding the right level color after summing up the values: The arcs as well as the legend are colored according to the first data value instead of the sum (the tooltips show the correct color).
How to reproduce
Go to https://c3js.org/samples/chart_gauge.html and change the example code like this:
var chart = c3.generate({
    data: {
        columns: [
            ['data1', 20, 20],
            ['data2', 40, 40]
        ],
        type: 'gauge',
    },
    color: {
        pattern: ['#FF0000', '#F97600', '#F6C600', '#60B044'],
        threshold: {
            values: [30, 60, 90, 100]
        }
    }
});

I might have fixed it, but need to do more testing first to be sure.


net 5.0 test under Linux, forcing vulkan

Ubuntu 20.10, high DPI, forcing vulkan gives me several different results depending on situation :

If I use the Eto.Veldrid test, I get a black panel.
If I use my plot test (DesignLibs_GPL), the high DPI results in the content being confined to the top right of the panel. This is only visible whilst dragging. After painting is done, the panel contents go black. During dragging, a flicking between this black panel and the plot is seen.

Curiously, I don't see this problem with the intel drivers for the intel 620 GPU in my 7600U based laptop. The above is for my nVidia 1080 with 460 and earlier series drivers.

Thanks for reporting these issue(s).  As for it showing only in the top right, it appears Eto.Forms.Window.LogicalPixelSize is not returning the right thing (Screen.LogicalPixelSize does though).  I'll get that fixed up in Eto.
As for the black panel issue, I am not sure what is going on there.  I could poke around, but without being able to reproduce it I'd just be guessing.

Thanks for reporting these issue(s).  As for it showing only in the top right, it appears Eto.Forms.Window.LogicalPixelSize is not returning the right thing (Screen.LogicalPixelSize does though).  I'll get that fixed up in Eto.
As for the black panel issue, I am not sure what is going on there.  I could poke around, but without being able to reproduce it I'd just be guessing.

This looks to be OK.


boilerplate-update

What type of PR is this?
(bug/feature/cleanup/documentation/test/refactor)
boilerplate-update
What this PR does / why we need it?
Which Jira/Github issue(s) this PR fixes?
https://issues.redhat.com/browse/OSD-17665
Fixes #
Special notes for your reviewer:
Pre-checks (if applicable):

[ ] Tested latest changes against a cluster
[ ] Included documentation changes with PR

/approve

/lgtm


Silent option

An option to suppress all the output would be good please
thanks

Please check out the -q option.

Ah how did i miss that. thanks
p.s it should be "--quiet" not "--quite" 👍

Thank you. Just fixed the typo too.

Ah i meant show no output at all. i'm already using the -o so didn't want anything in the console.
thanks


Boiler plate of ideas, others to keep in mind

ref https://github.com/cordoval/gush/issues/27
Git and GitHub tools
[gushphp/gush][]

Gush - Rapid workflow for project maintainers and contributors
http://gushphp.org

defunkt/github-gem

github command line helper for simplifying your GitHub experience.

stephencelis/ghi

GitHub Issues on the command line. Use your $EDITOR, not your browser.

github/hub

hub is a command line tool that wraps git in order to extend it with extra features and commands that make working with GitHub easier.
http://hub.github.com

jingweno/gh

Fast GitHub command line client.
http://owenou.com/gh

nvie/gitflow

Git extensions to provide high-level repository operations for Vincent Driessen's branching model.

node-gh/gh

GitHub command line tools
http://nodegh.io

node-gh/gh-gif

NodeGH plugin for commenting on pull requests/issues using GIF reactions

samoht/ghim

A command-line tool to manage Github Issues

tpope/vim-fugitive

fugitive.vim: a Git wrapper so awesome, it should be illegal

FredrikNoren/ungit

The easiest way to use git. On any platform. Anywhere.
http://youtu.be/hkBVAi3oKvo

twidi/github-issues-manager

A Django project to manage github issues

chillu/github-dashing

Dashboard to monitor the health of github projects based on their contribution statistics, based on the "Dashing" framework

StephenOTT/GitHub-Analytics

GitHub Issues Tracker reporting and analytics (Project Management Reporting and Analytics)

StephenOTT/GitHub-Time-Tracking

Use GitHub to Track Time and Budgets for your Development Projects(and really anything else you use GitHub for) - Ruby app that analyzes GitHub Issue Comments, Milestones, and Code Commit Messages for Time Tracking and Budget Tracking information

glg/git-pairing

Share code authorship when pairing and using git/github

thoughtbot/gitsh

An interactive shell for git

@sstok interesting thing on git-up is like the command gush b:s, this latter only updates the current branch, one branch only, i usually do this sometimes when i see after a PR merge i am shifted. Other than that git-up is not really that great, it uses git configuration under .git/config or globally under ~/.gitconfig, but really this makes it non portable with the project across a team or FOSS or shared environment. We are in a good direction by using a .gush.yml local and global and also keep separate git and gush because git will change for sure. Any thoughts on making gush b:s more powerful? or is simple and good. I like simplicity, the only thing we can improve probably is to do less typing for very common tasks. And I can't think of any right now.

OPINION ON gibo
Gibo is interesting tool to access .gitignore templates but not sure really if this is a common thing to do so no further comment really.

OPINION ON git-sweep
Often i am seeing my branches not being removed automatically after someone else merge a PR i sent to a repo. This can create a lot of junk on github. I say we implement something like this but for gush cc @sstok ? Yes/No so we can create a ticket for this.

i will create a git-sweep like ticket and then close this issue finally. We will still follow up on the improvements on other tools but so far is good.


Remove useless "else" statements from vector3.h

A minor thing I found when looking over #38090. These "else" statements are useless and not present in C#, so remove them.

Thanks!

Thanks!


Clean up commented-out code from no-longer-experimental changes

We often comment-out code as we are working on changes.  At the time, it is to make it easier to see the changes without more git branching and to retain in-file documentation what was changed in case of new errors.  This PR removes a bunch of such changes that are now old and don't seem helpful.  Feel free to put anything back that is useful to understanding current code.  I tread more lightly on MCMC-related code.

@danielturek can you check and sign off?

@paciorek @perrydv Thanks for the chance to review this.  I added one thing back in, the commented out code in the RW samplers, with methods for "get scale history expanded", which is quite useful sometimes, it changes the recorded "scale history" (and prop cov history for the block sampler) to be returned on the clock of MCMC iterations, rather than on the clock of adaptation cycles, allowing direct comparison with the actual MCMC samples, which is useful sometimes. The code remains commented out, so that it's not compiled every time the RW or RW_block sampler is used, but I'd like to keep it in there for when it's needed.
I made this change, and put that (commented) code back in.  Otherwise, this PR LGTM.


feat(ic-asset-certification): remove certification of full long assets

Remove additional certification of full long assets, as these are now served in certified chunks, and the certification of the full asset is implied by the certification of the chunks. This avoids having two different certified responses for a single request for a long asset.
Additionally, add human-readable implementations of Display-trait for HttpCertificationTree and related structs, to simplify debugging.

Superseded by #385.


support passing through arguments

Clear and concise description of the problem
i need this command to be valid:
vitest run --coverage -- --env-file=.env --env-file=.env.test

Suggested solution
add support for it
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Vitest doesn't support Node.js arguments and we don't have plans to support them. If you need to use .env file, you can use --mode flag that will use your local .env.{mode} by default. Note that envs need to start with VITE_ by default, but it can be configured with envPrefix.

Vitest doesn't support Node.js arguments and we don't have plans to support them. If you need to use .env file, you can use --mode flag that will use your local .env.{mode} by default. Note that envs need to start with VITE_ by default, but it can be configured with envPrefix.

i had no idea it was intentional, i will try an alternative approach, thanks.

My usecase is vitest on backend, testing fastiify running under tsx.
So the VITE_ prefix could be troublesome, since i only need vitest, not vite.
this config is my current workaround:
import {defineConfig} from "vite";
import {config} from 'dotenv'

export default defineConfig({
    test: {
        env: {
            "NODE_ENV": "test",
            ...config({path: '.env'}).parsed,
            ...config({path: '.env.test'}).parsed,
        }
    },
})

You can also pass NodeJS exec arguments to test runner threads/processes. Note that these won't be available in main thread, e.g. reporters or global setup.
import { defineConfig } from "vitest/config";

export default defineConfig({
  test: {
    poolOptions: {
      forks: { execArgv: ["--env-file=.env.custom"] },

      // or threads if that pool is used
      threads: { execArgv: ["--env-file=.env.custom"] },
    },
  },
});

https://vitest.dev/config/#pooloptions-forks-execargv


FATAL:  sorry, too many clients already

Environment

Python version: 3.8.5
Nautobot version: 1.0.0b2

Steps to Reproduce

invoke debug
Add some data using nautobot-ansible (pynautobot) - running on localhost

Questions:

How to increase the number of allowed clients?
How to check if everything is processed before sending a new request?

- name: "ANSIBLE PLAYBOOK - Add Nautobot Configuration"
  connection: local
  hosts: localhost
  gather_facts: False

  collections:
    - networktocode.nautobot
  vars:
    # nautobot_token see group_vars/all
    nbtoken: "{{ lookup('env', 'NAUTOBOT_TOKEN') if lookup('env', 'NAUTOBOT_TOKEN')|default(false) else nautobot_token }}"
    nburl: "{{ lookup('env', 'NAUTOBOT_URL') if lookup('env', 'NAUTOBOT_URL')|default(false) else nautobot_url }}"
    include_dir: "./include"
    snapshot_dir: "~/snapshot-transfer"

  tasks:
    - name: "Import ansible Fabric-Vars"
      include_vars:
        dir: vars/fabric

    - name: "Add Tags in Nautobot (nautobot_tags.yml)"
      networktocode.nautobot.tag:
        url: "{{ nburl }}"
        token: "{{ nbtoken }}"
        validate_certs: yes
        state: present
        data: "{{ item }}"
      loop: "{{ nbtags }}"

Data for import: ./vars/fabric/nautobot-tags.yml
nbtags:
  - { name: "name1", slug: "name1", description: "Tag name1", color: '4caf50' }
  - ...

Expected Behavior
Import all tags.

Observed Behavior
Environment:

Request Method: GET
Request URL: http://scvpconf01:8000/extras/tags/

Django Version: 3.1.7
Python Version: 3.8.5
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'cacheops',
 'corsheaders',
 'django_filters',
 'django_tables2',
 'django_prometheus',
 'mptt',
 'rest_framework',
 'social_django',
 'taggit',
 'timezone_field',
 'nautobot.core',
 'nautobot.circuits',
 'nautobot.dcim',
 'nautobot.ipam',
 'nautobot.extras',
 'nautobot.tenancy',
 'nautobot.users',
 'nautobot.utilities',
 'nautobot.virtualization',
 'django_rq',
 'drf_yasg',
 'graphene_django',
 'debug_toolbar']
Installed Middleware:
['debug_toolbar.middleware.DebugToolbarMiddleware',
 'django_prometheus.middleware.PrometheusBeforeMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'nautobot.core.middleware.ExceptionHandlingMiddleware',
 'nautobot.core.middleware.RemoteUserMiddleware',
 'nautobot.core.middleware.ExternalAuthMiddleware',
 'nautobot.core.middleware.APIVersionMiddleware',
 'nautobot.core.middleware.ObjectChangeMiddleware',
 'django_prometheus.middleware.PrometheusAfterMiddleware']

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 233, in _get_session
    return self._session_cache

During handling of the above exception ('SessionStore' object has no attribute '_session_cache'), another exception occurred:
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

The above exception (FATAL:  sorry, too many clients already
) was the direct cause of the following exception:
  File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/usr/local/lib/python3.8/site-packages/debug_toolbar/middleware.py", line 67, in __call__
    panel.generate_stats(request, response)
  File "/usr/local/lib/python3.8/site-packages/debug_toolbar/panels/request.py", line 57, in generate_stats
    for k in sorted(request.session.keys())
  File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 169, in keys
    return self._session.keys()
  File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/base.py", line 238, in _get_session
    self._session_cache = self.load()
  File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py", line 43, in load
    s = self._get_session_from_db()
  File "/usr/local/lib/python3.8/site-packages/django/contrib/sessions/backends/db.py", line 32, in _get_session_from_db
    return self.model.objects.get(
  File "/usr/local/lib/python3.8/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/cacheops/query.py", line 353, in get
    return qs._no_monkey.get(qs, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 425, in get
    num = len(clone)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 269, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.8/site-packages/cacheops/query.py", line 273, in _fetch_all
    return self._no_monkey._fetch_all(self)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 1308, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "/usr/local/lib/python3.8/site-packages/django/db/models/query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "/usr/local/lib/python3.8/site-packages/django/db/models/sql/compiler.py", line 1154, in execute_sql
    cursor = self.connection.cursor()
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 259, in cursor
    return self._cursor()
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 235, in _cursor
    self.ensure_connection()
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/django/db/utils.py", line 90, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
    self.connect()
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/base/base.py", line 200, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/local/lib/python3.8/site-packages/django/utils/asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/django/db/backends/postgresql/base.py", line 187, in get_new_connection
    connection = Database.connect(**conn_params)
  File "/usr/local/lib/python3.8/site-packages/psycopg2/__init__.py", line 127, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)

Exception Type: OperationalError at /extras/tags/
Exception Value: FATAL:  sorry, too many clients already

Hello again @jifox! Thanks for the report.
Can you please provide the following:

Output of the DATABASES section of your nautobot_config.py
uWSGI config
Operating system and version (e.g. Ubuntu 20.04.1 LTS)
PostgreSQL version
System memory/CPU

I'm asking for this because I'm trying to isolate if there might be issues with certain setups. Thanks!

Hello @jathanism
I'm using the docker development environment with default docker-compose files.
After a research I think I could find a solution by adding the --nothreading parameter to runserver command.
I have done few successful imports that had always lead to a traceback after changing the command.
File development/docker-compose.override.yml:
---
version: "3"
services:
  nautobot:
    command: "nautobot-server runserver <IP_ADDRESS>:8000 --insecure --nothreading"

Kernel Version: 5.4.0-66-generic
Operating System: Ubuntu 20.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.61GiB

Hello @jathanism
I'm using the docker development environment with default docker-compose files.
After a research I think I could find a solution by adding the --nothreading parameter to runserver command.
I have done few successful imports that had always lead to a traceback after changing the command.
File development/docker-compose.override.yml:
---
version: "3"
services:
  nautobot:
    command: "nautobot-server runserver <IP_ADDRESS>:8000 --insecure --nothreading"

Ahhh I should have caught that when you said you did invoke debug.
If you're trying to do any legit data or performance testing, you might start bumping into issues like this with runserver since it's not the most performant.

I think this would be valuable to have in the developer documentation in a "troubleshooting" section.


chore(deps): Bump joblib from 0.13.2 to 1.2.0 in /setup

Bumps joblib from 0.13.2 to 1.2.0.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: joblib dependency-type: direct:production ...

please


Make S3 Bucket Names Generic for non-Production environments

Business Context:
In order to have our application be used by multiple clients, we want to decouple naming conventions that were originally tied to NOIMP to be more generic.
When this project first started, everything was built around NOIPM, but now as we are supporting Hawaii, we want to rename our S3 buckets to be generic so that files emulating both - and future - clients can live in the same bucket.
Technical Information:
Here is a list of the noipm buckets that need to be renamed with the prefix cm.
Because we are unable to rename pre-existing buckets in S3, we will need to create new buckets with the cm prefix, transfer the files to the new buckets, and then delete the old buckets.
For example, noipm-ci will be replaced with cm-ci
Bucket Names to Change:
noipm-ci
noipm-exports-ci
noipm-exports-local
noipm-exports-staging
noipm-local
noipm-staging
nopd-officers-ci
nopd-officers-local
nopd-officers-staging
noipm-seed-files
In Scope

Out of Scope

Deleting any demo buckets, or buckets not listed above

Open Questions

Acceptance Criteria

Scenario:
Given our current S3 buckets are named with prefix noipm
When making our buckets more generic to be used with multiple customers
Then we want to create new buckets with the prefix cm for complaint manager.

Scenario:
Given all pre-existing data currently lives in the noipm buckets
Then move all the files into the newly created cm buckets.

Scenario:
Given our instance files currently point to the NOIPM buckets
Then we want our HAWAII and NOIPM instance files to point to the cm buckets

Scenario:
Given our NOIPM & Hawaii instance files are successfully pointing to the CM buckets
Then we want to delete the old NOIPM buckets listed under technical notes.

Checklist (should be reviewed before grooming as the BA or Pair are writing the card—NOT reviewed for the first time at grooming)

Discuss the technical implementation of this card.
Discuss how this feature would be included in or affect the Audit Log.
In respect to security, what could go wrong? Brainstorm threats using STRIDE model, especially if this card introduces a new technical architecture or design pattern. (TIMEBOX: 7 mins) https://docs.google.com/document/d/18AFl1d3SRieI4d_8R3GyEazqQOycLNDHGN_vOYIHuiE/edit#heading=h.aio9zb5j63wl
Ensure any open questions have been resolved with stakeholders.
Determine if documentation should be referenced or created.
Ensure to include all necessary mockups to this card.
Discuss what success/failure user feedback messages would be present, if any occur (front end/back end).
Discuss why this feature would not be implemented behind a toggle / what would happen if this card was partially done while a release branch was being cut.
If this card is part of a sequence of cards, discuss if this card should be blocked until the testing of previous  cards in the sequence have been finished.
Have we added edge cases as ACs that we're considered from a QA perspective
Does this card overlap with any entities outlined in API Housekeeping?

Notes:

We would need to change the rest of the codebase if we were to do this. Not worth it.


How to translate docs

Added info about how to contribute in docs translation

Summary
The Contributions.md does't had info about where to make translations

Closes #9120
Test plan

Codecov Report

Merging #9316 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9316   +/-   ##
=======================================
  Coverage   64.99%   64.99%
=======================================
  Files         278      278
  Lines       11912    11912
  Branches     2934     2934
=======================================
  Hits         7742     7742
  Misses       3539     3539
  Partials      631      631

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 b0fefce...d13b56c. Read the comment docs.

Thank you!


RHEL-08-040090 approach breaks existing firewalls (but fix is a simple file copy + 2 simple regexes)

Describe the Issue
RHEL-08-040090 implements (tasks/fix-cat2.yml) a new firewall zone with a target of DROP per STIG.  But the existing fails to respect any and all existing rules on the default public zone, breaking existng firewalls, and requiring manual configuration.  This is wholly unnecessary (see Possible Solution).
Expected Behavior
Preserve existing configuration in the new firewall zone/target with minimal effort.
Actual Behavior
Disgard all existing firewall configuration, and  only a few services in a manually populated variable (rhel8stig_white_list_services).
Control(s) Affected
Finding V-230504
Version RHEL-08-040090
Additional Notes
Environments will be pre-configured with the Public zone.  This should be leveraged via the following ...
Possible Solution
Propose this simple but effective solution to preserve the existing firewall.
In addition to checking if the new firewall zone is created (name in rhel8stig_custom_firewall_zone) and has a target of DROP, if it does not exist ...

Copy firewall zone public (/etc/firewalld/zones/public.xml) as the new firewall zone {{ rhel8stig_custom_firewall_zone }} (/etc/firewalld/zones/{{ rhel8stig_custom_firewall_zone }}.xml).
Replace /^\s*<zone>\s*$/<zone target=DROP>/
Replace /^\s*<short>\s*Public\*<\/short>/<short>{{ rhel8stig_custom_firewall_zone }}<\/short>/

Reload firewall, then add any missing white listed services (list in rhel8stig_white_list_services), if not already enabled.  Again this is such a simple solution that absolutely preserves all the configured services on the Public zonre.

hi @BJSmithIEEE
Thank you for raising this issue and providing potential solutions. The reason it was originally written in such a way is to ensure only those services/ports that you want enabled are enabled for the firewall are in the new zone.
If it is a new build it can have some services enabled that users do not wish enabled would now be set without any way of knowing.
With every client using this is different way it is hard to satisfy all scenarios, the idea as per the stig is to provide a clean scenario where a deny-all approach is adopted.
Having said that i can see where this maybe of some use to some.
I have therefore added this along with a new variables.

rhel8stig_copy_existing_zone: false
rhel8stig_existing_zone_to_copy: public

I hope this enables you to do what you need as well and not breaking existing functionality for others.
This is currently in the April_24 branch - awaiting some feedback before merge to devel
Many thanks
uk-bolly

I also realized no interface is assigned.  We ran into that as well.
We wrote a shell script to handle all this, including identifying the interface.  Unfortunately it's on an airgap network, or I'd post it here.  :)


Correct Integration of TT-Embedding to DLRM

Hi, I'm currently trying to integrate the TT-Embedding to the original DLRM code base, and I've successfully reproduced the result shown in readme. However, I'm not quite sure what are the essential changes to make.
Right now I'm replacing the original embeddingbag function (within the create_emb in dlrm_s_pytorch.py file) in DLRM with TTEmbeddingBag, but have trouble figuring out the correct parameters for the function. The parameters I used right now is:
               EE = TTEmbeddingBag(
                    n,
                    m,
                    tt_ranks=[12,14],
                    sparse=False,
                    use_cache=False,
                    weight_dist="uniform"
                )

I left the tt_p_shapes and tt_q_shapes to blank since each layer's embedding dimension and number of embeddings are different.
The paper mentioned that the TT-Rank used was [8, 16, 32, 64], but I wasn't able to use that parameter, since it would result in failure of passing assertion len(self.tt_p_shapes) <= 4. Therefore I used the same parameters in example ([12,14]).
And that result a CUDA illegal memory access error at line 174 in tt_embedding_ops. Full error message is attached below:
Traceback (most recent call last):
  File "dlrm_s_pytorch.py", line 1013, in <module>
    Z = dlrm_wrap(X, lS_o, lS_i, use_gpu, device)
  File "dlrm_s_pytorch.py", line 866, in dlrm_wrap
    return dlrm(
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 744, in _call_impl
    result = self.forward(*input, **kwargs)
  File "dlrm_s_pytorch.py", line 385, in forward
    return self.parallel_forward(dense_x, lS_o, lS_i)
  File "dlrm_s_pytorch.py", line 470, in parallel_forward
    ly = self.apply_emb(lS_o, lS_i, self.emb_l)
  File "dlrm_s_pytorch.py", line 328, in apply_emb
    V = E(sparse_index_group_batch, sparse_offset_group_batch)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 744, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/mnt/dlrm/tt_embeddings_ops.py", line 801, in forward
    output = TTLookupFunction.apply(
  File "/mnt/dlrm/tt_embeddings_ops.py", line 174, in forward
    output = tt_embeddings.tt_forward(
RuntimeError: CUDA error: an illegal memory access was encountered

I'm thinking this is caused by in correct parameters and wondering if anyone could help me out here.
I'm also wondering if there's any additional changes need to be made to dlrm other than replacing the embeddingbag.

Thanks!

Hi @TimJZ,

In DLRM, you can decompose an embedding table of size 9994222 x 64 as follows:
9994222 < 200 * 200 * 250 (tt_p_shapes)
64 = 4 * 4 * 4 (tt_q_shapes)

Hence the shape of the three tensor cores would be:
(1, 200, 4, R1), (R1, 200, 4, R2), and (R2, 250, 4, 1)
Specifying tt_p_shapes and tt_q_shapes is optional as the library will find automatic values for this. You need to specify R1 & R2 values as tt_ranks. In the paper, we set the ranks as 8, 16, 32, 64 one at a time (with R1=R2), i.e. [8,8] or [16,16] etc. Can you try these arguments?

No additional changes is needed.

Thank you very much for your response! I've tried it with the parameters you mentioned but I'm still getting the same error. I'm thinking this is a version-specific error. Could you please tell me which version of DLRM were you using when testing TT-Embedding? Thanks!

For the latest version of @facebookresearch/DLRM (1302c71624fa9dbe7f0c75fea719d5e58d33e059), this patch made it work for me:
+from tt_embeddings_ops import TTEmbeddingBag
+
 # from torchviz import make_dot
 # import torch.nn.functional as Functional
 # from torch.nn.parameter import Parameter
@@ -243,7 +247,14 @@ class DLRM_Net(nn.Module):
             n = ln[i]

             # construct embedding operator
-            if self.qr_flag and n > self.qr_threshold:
+            if True:
+                EE = TTEmbeddingBag(n, m, [8,8],
+                        None, None,
+                        sparse=False,
+                        weight_dist="approx-normal",
+                        use_cache=False)
+            # construct embedding operator
+            elif self.qr_flag and n > self.qr_threshold:
                 EE = QREmbeddingBag(
                     n,
                     m,
@@ -407,14 +418,24 @@ class DLRM_Net(nn.Module):
             # We are using EmbeddingBag, which implicitly uses sum operator.
             # The embeddings are represented as tall matrices, with sum
             # happening vertically across 0 axis, resulting in a row vector
-            # E = emb_l[k]
+            E = emb_l[k]

             if v_W_l[k] is not None:
                 per_sample_weights = v_W_l[k].gather(0, sparse_index_group_batch)
             else:
                 per_sample_weights = None

-            if self.quantize_emb:
+            if (isinstance(E, TTEmbeddingBag)):
+                l = sparse_index_group_batch.shape[0]
+                ll = torch.empty(1, dtype=torch.long)
+                ll[0]=l
+                if (sparse_offset_group_batch.is_cuda):
+                    ll = ll.to(torch.device("cuda"))
+                sparse_offset = torch.cat((sparse_offset_group_batch, ll), dim=0)
+
+                V = E(sparse_index_group_batch,sparse_offset)
+                ly.append(V)
+            elif self.quantize_emb:
                 s1 = self.emb_l_q[k].element_size() * self.emb_l_q[k].nelement()
                 s2 = self.emb_l_q[k].element_size() * self.emb_l_q[k].nelement()
                 print("quantized emb sizes:", s1, s2)

Note that this makes all embeddings TTEmbedding, you can make some of them TT by changing the  if True statement above.
Could you try this and see if it works for you?

Hi, I have been facing the "RuntimeError: CUDA error: an illegal memory access was encountered" error as well.
I am trying to train the DLRM model on Terabyte dataset. I have made the changes as you mentioned in the previous post, but I am facing the same error in sequentional_forward function.
I have tried it with PyTorch==1.8.0 with cuda 11.0 and 10.2, both of them have resulted in the same error:
Traceback (most recent call last):   File "dlrm_s_pytorch_ttemb.py", line 1891, in <module>     run()   File "dlrm_s_pytorch_ttemb.py", line 1570, in run     ndevices=ndevices,   File "dlrm_s_pytorch_ttemb.py", line 142, in dlrm_wrap     return dlrm(X.to(device), lS_o, lS_i)   File "/home/salar/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl     result = self.forward(*input, **kwargs)   File "dlrm_s_pytorch_ttemb.py", line 529, in forward     return self.sequential_forward(dense_x, lS_o, lS_i)   File "dlrm_s_pytorch_ttemb.py", line 601, in sequential_forward     ly = self.apply_emb(lS_o, lS_i, self.emb_l, self.v_W_l)   File "dlrm_s_pytorch_ttemb.py", line 430, in apply_emb     ll = ll.to(d) RuntimeError: CUDA error: an illegal memory access was encountered done
Here is the command I used:
python3 dlrm_s_pytorch_ttemb.py --arch-sparse-feature-size=64 --arch-mlp-bot="13-512-256-64" --arch-mlp-top="512-512-256-1" --max-ind-range=10000000 --data-generation=dataset --data-set=terabyte --processed-data-file=/data4/salar/terabyte/terabyte_processed.npz --loss-function=bce --round-targets=True --learning-rate=0.1 --print-freq=1024 --print-time --test-mini-batch-size=4096 --test-num-workers=16 --use-gpu --test-freq=10240 --memory-map --data-sub-sample-rate=0.875 --raw-data-file=/data4/salar/terabyte/day --mini-batch-size=2048 --mlperf-logging
I was printing the content of sparse_index_group_batch, sparse_offset_group_batch, and embedding output to see what could be the possible issue, I observed that error occurs when the current batch has lots of zero values in the sparse_index_group_batch tensor. Not sure if related, but wanted to mention it in case it helps.
I would really appreciate if you could help me find out what could be the possible issue.
Thanks

Update: The illegal memory access issue was being caused by smaller embedding tables which had very low number of entries. By applying TTEmbedding only to bigger embeddings, I was able to complete apply_emb function. However, I am now facing a new issue when calling the torch.cuda.synchronize() function:
Traceback (most recent call last):   File "dlrm_s_pytorch_ttemb.py", line 1900, in <module>     run()   File "dlrm_s_pytorch_ttemb.py", line 1549, in run     current_time = time_wrap(use_gpu)   File "dlrm_s_pytorch_ttemb.py", line 122, in time_wrap     torch.cuda.synchronize()   File "/home/salar/.local/lib/python3.6/site-packages/torch/cuda/__init__.py", line 402, in synchronize     return torch._C._cuda_synchronize() RuntimeError: CUDA error: device-side assert triggered
Would it be possible to redirect me on how to reproduce the exact results included in the paper for the Terabyte dataset?
Thanks

For the latest version of @facebookresearch/DLRM (1302c71624fa9dbe7f0c75fea719d5e58d33e059), this patch made it work for me:
+from tt_embeddings_ops import TTEmbeddingBag
+
 # from torchviz import make_dot
 # import torch.nn.functional as Functional
 # from torch.nn.parameter import Parameter
@@ -243,7 +247,14 @@ class DLRM_Net(nn.Module):
             n = ln[i]

             # construct embedding operator
-            if self.qr_flag and n > self.qr_threshold:
+            if True:
+                EE = TTEmbeddingBag(n, m, [8,8],
+                        None, None,
+                        sparse=False,
+                        weight_dist="approx-normal",
+                        use_cache=False)
+            # construct embedding operator
+            elif self.qr_flag and n > self.qr_threshold:
                 EE = QREmbeddingBag(
                     n,
                     m,
@@ -407,14 +418,24 @@ class DLRM_Net(nn.Module):
             # We are using EmbeddingBag, which implicitly uses sum operator.
             # The embeddings are represented as tall matrices, with sum
             # happening vertically across 0 axis, resulting in a row vector
-            # E = emb_l[k]
+            E = emb_l[k]

             if v_W_l[k] is not None:
                 per_sample_weights = v_W_l[k].gather(0, sparse_index_group_batch)
             else:
                 per_sample_weights = None

-            if self.quantize_emb:
+            if (isinstance(E, TTEmbeddingBag)):
+                l = sparse_index_group_batch.shape[0]
+                ll = torch.empty(1, dtype=torch.long)
+                ll[0]=l
+                if (sparse_offset_group_batch.is_cuda):
+                    ll = ll.to(torch.device("cuda"))
+                sparse_offset = torch.cat((sparse_offset_group_batch, ll), dim=0)
+
+                V = E(sparse_index_group_batch,sparse_offset)
+                ly.append(V)
+            elif self.quantize_emb:
                 s1 = self.emb_l_q[k].element_size() * self.emb_l_q[k].nelement()
                 s2 = self.emb_l_q[k].element_size() * self.emb_l_q[k].nelement()
                 print("quantized emb sizes:", s1, s2)

And I ran it with a command like this:
python dlrm_s_pytorch.py --use-gpu --arch-sparse-feature-size=16 --arch-mlp-bot="13-512-256-64-16" --arch-mlp-top="512-256-1" --data-generation=dataset --data-set=kaggle --raw-data-file=./input/train.txt --processed-data-file=./input/kaggleAdDisplayChallenge_processed.npz --loss-function=bce --round-targets=True --learning-rate=0.05 --mini-batch-size=128 --print-freq=1024 --print-time --test-freq=102400 --test-num-workers=16
Note that this makes all embeddings TTEmbedding, you can make some of them TT by changing the if True statement above.
Could you try this and see if it works for you?

Thank you very much for your reply!
I've tried it with the patch applied and got the following error:
Traceback (most recent call last):
  File "dlrm_s_pytorch.py", line 1887, in <module>
    run()
  File "dlrm_s_pytorch.py", line 1566, in run
    ndevices=ndevices,
  File "dlrm_s_pytorch.py", line 138, in dlrm_wrap
    return dlrm(X.to(device), lS_o, lS_i)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 577, in __call__
    result = self.forward(*input, **kwargs)
  File "dlrm_s_pytorch.py", line 534, in forward
    return self.parallel_forward(dense_x, lS_o, lS_i)
  File "dlrm_s_pytorch.py", line 688, in parallel_forward
    ly = self.apply_emb(lS_o, lS_i, self.emb_l, self.v_W_l)
  File "dlrm_s_pytorch.py", line 432, in apply_emb
    sparse_offset = torch.cat((sparse_offset_group_batch, ll), dim=0)
RuntimeError: All input tensors must be on the same device. Received cuda:1 and cuda:0

Could you please give me some insights on what might go wrong?
I'm using pytorch=1.6.0a0+9907a3e and cuda =11.0.167
Thanks!
Thanks!

Received cuda:1 and cuda:0)

@TimJZ it looks like you are using two devices. We only tested DRLM on a single GPU so far, it should fit on a single device with 16GB memory when training DLRM with Terabyte and Kaggle datasets. Can you try running on a single device (i.e. by setting export CUDA_VISIBLE_DEVICES=0)?

Received cuda:1 and cuda:0

@TimJZ it looks like you are using two devices. We only tested DRLM on a single GPU so far, it should fit on a single device with 16GB memory when training DLRM with Terabyte and Kaggle datasets. Can you try running on a single device (i.e. by setting export CUDA_VISIBLE_DEVICES=0)?

I've tried it on single GPU, but I'm constantly getting illegal memory access error after the for loop runs 6 times:
Traceback (most recent call last):
  File "dlrm_s_pytorch.py", line 1888, in <module>
    run()
  File "dlrm_s_pytorch.py", line 1567, in run
    ndevices=ndevices,
  File "dlrm_s_pytorch.py", line 138, in dlrm_wrap
    return dlrm(X.to(device), lS_o, lS_i)
  File "/opt/conda/lib/python3.6/site-packages/torch/nn/modules/module.py", line 577, in __call__
    result = self.forward(*input, **kwargs)
  File "dlrm_s_pytorch.py", line 532, in forward
    return self.sequential_forward(dense_x, lS_o, lS_i)
  File "dlrm_s_pytorch.py", line 604, in sequential_forward
    ly = self.apply_emb(lS_o, lS_i, self.emb_l, self.v_W_l)
  File "dlrm_s_pytorch.py", line 431, in apply_emb
    ll = ll.to(torch.device("cuda"))
RuntimeError: CUDA error: an illegal memory access was encountered

If you have —mlperf-logging in your arguments, remove it. I was facing the same issue and it seems to being caused by enabling MLPerf logging.

If you have —mlperf-logging in your arguments, remove it. I was facing the same issue and it seems to being caused by enabling MLPerf logging.

I actually did not use mlperf-logging, but thanks for the feedback!

@latifisalar @bilgeacun
I'm wondering if guys have any update with regard to this issue? Thanks!

Hi!
I want to use cache in facebook/dlrm.
In Readme, i saw this "However, the cache will only be updated when tt_emb.cache_populate() is called" and i'm little confused about using cache.
what is difference between cache_populate and update_cache? and when should the cache_populate be called?


[feature] Extend docker scaffold configuration with workspace files filters

Is your feature request related to a problem? Please describe.
Seems like docker scaffold is js oriented and hardcoded, as it is copying js related config files and there's no way to specify which files belong to workspace. There's only sources config for that, and no filtering for "config" files.
This doesn't match the statement of moon being language agnostic tool.
My use case - I have a mixed env with js and python and doing migration to moon. Both js and python are quite mixed with each other on the files structure level, and default behaviour of docker scaffold just doesn't work for me at all.
Describe the solution you'd like
To overcome this we can have just docker.scaffold.workspace.include/exclude filters, which will allow users to have config per project and per tech stack. I'd also change then ``docker.scaffold.includetodocker.scaffold.sources.include/exclude``` for symmetry with workspace.
Describe alternatives you've considered
I don't see any. Idea with scaffolding only configs under moon's supervision is quite good I think.

As far as I can tell, it is indeed hard choice on languages currently:
https://github.com/moonrepo/moon/blob/master/crates/app/src/commands/docker/scaffold.rs#L77

Ah, I found that this workspaces files include list can be set on workspace level config:
https://moonrepo.dev/docs/config/workspace#scaffold
But, I have still need an ability to exclude files, as in not very clean repos it's hard to specify global include without exclusion list.
So the proposal still holds:
To have include/exclude lists for both sources and configs specification on package level as well as on workspace level.

What do you mean by config exactly? If you're referring to package.json, then it is required to copy from all projects, regardless of language. Otherwise, package managers don't function correctly, especially when using workspaces.
moon's implementation is meant to solve the common use case with the least amount of configuration. Requiring users to explicitly/granularly configure every part of the workspace/project skeletons isn't our goal.

What I mean, is that there's a lack of granularity in configuration here. Specification of the files for bootstrapping on whole monorepo level is fine, what is missing, is to granularry configure additional files for bootstrap per project. E.g. I have a non default js + python combination, where for python I have to build it's dependencies from sources.
Specifying in workspaces those sources via glob includes too much files (like /*.c) would do, and also it would include them for other packages, so I'm ending up with way more files than I need to. One way to counter this probably would be globbing per project path (like libs/lib1/vendor//*.c).
Instead what would be nice is to just have this option available per project, which will be merged with workspace level defined globs as well.


Change CSR/jump/branch invalid address handling

Unify the invalid address handling for both CSR and control transfer instructions
The new invalid address handling clears the tag if the capability being written is not Infinity. Also, invalid address conversion is now performed before anything else

Fixes #139

FYI: @PeterRugg @Timmmm

I do not like that we're polluting the architecture with this inconsistency just to support what is supposed to be an optimisation, one which is even less fruitful for CHERI given you still have to preserve all the metadata.

I do not like that we're polluting the architecture with this inconsistency just to support what is supposed to be an optimisation, one which is even less fruitful for CHERI given you still have to preserve all the metadata.

It's an implementation choice - no-one has to do any of this - they can keep full 64-bit VAs everywhere. The idea behind this is to try and minimise the hardware area. It's still perfectly valid to ignore all of this, but we are keen on minimising the area of the implementation.

Maybe a naive question, but why does this not apply to data operations like loads and stores?

Summary from a separate discussion about this tricky problem:

We don't want to generate a capability with a changed address, without having to perform additional checks which is not a good use of logic gates. If JALRing to an invalid address, and the bounds include invalid addresses, then technically we need to do the bounds comparison before and after the optional address conversion. This not a good use of logic gates and power.
The problem can only arise if the OS has set bounds including an invalid address range

The proposal is to add a new CHERI fault type, usable for both load/store derefencing and jumps/branches as all can attempt to access invalid addresses.
If the bounds are not infinity (so the legacy case isn't broken) and the calculated address is invalid then take a new type of CHERI fault - to be defined.
The intention is to also allow a narrower bounds check, only covering the necessary address bits for Sv39, Sv48 etc. which will be a big saving over full 64-bit comparators every time.
So... when calculating an address

If it's invalid and the bounds aren't infinity - take a new type of CHERI fault
If it's valid, check the bounds - which is lower priority to allow the narrower comparators

Therefore we're no longer spending logic gates and power on checking the out of range address bits on the bounds checks.
It means that JALRs and branches to invalid addresses will trap on the jump/branch (unless the bounds are infinity for the legacy case)

Just to clarify exception precedence: it should be Tag, Seal, Perm, Optional Invalid Addr, Bounds? I don't think that priority is actually listed anywhere in the spec currently, though of course the sail will disambiguate. It does look like the encodings go in that order though, so I wonder if the Bounds violation encoding wants to get bumped up by one?

Just to clarify exception precedence: it should be Tag, Seal, Perm, Optional Invalid Addr, Bounds? I don't think that priority is actually listed anywhere in the spec currently, though of course the sail will disambiguate. It does look like the encodings go in that order though, so I wonder if the Bounds violation encoding wants to get bumped up by one?

bounds needs to be below optional invalid address check, because otherwise we need a full 64-bit bounds check instead of a much narrower one for Sv48/Sv39.

Does the Action taken on writing to extended CSRs. table need to be updated?

I don't think there is anything to change there. The invalid address handling changed, but we still need the csetaddr checks, etc.


Vivaldi works, Qutebrowser not.

I hope there is a Way to make it work in most browsers.
I´d love to use it in my Homepage if I can.
Thanks,

Works for me in qutebrowser. But if I open it twice in a single Firefox instance, it doesn't work. Probably because the browser tries to store it and use the cached version instead of redownloading it again. I have now added a few cache controls. Please try again.

Ok
Qutebrowser works, Vivaldi Works, Firefox only in the first instance.
Thanks,
Which License you use?

Added BSD3 now.

Ok
By the Way Chromium and Opera are working to.


Ensure we don't add network port multiple times

Until now, we were at risk of adding the same port multiple times in
case we were re-running the playbook.
We now check the attached ports and, if we see one matching the network
we want to attach to the domain, we just don't re-add it.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve
@psathyan can you check and LGTM it if you agree?
Thanks!


Coloron game is added

PR Description 📜
Please include summary related to the issue you have fixed and describe your PR in brief over here by specifying the issue number on which you were working below
Fixes # <your_issue_number>

Mark the task you have completed ✅

[ ] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[ ] I have performed a self-review of my own code or work.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] My changes generates no new warnings.
[ ] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[ ] I have added screenshot for website preview in assets/images
[ ] I have added entries for my game in main README.md
[ ] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[ ] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @shraddha761 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hey @shraddha761,
Please make sure to link the relevant issue using the appropriate syntax, such as "#issueNumber" 👀.
Follow the proper guideline and make a new PR again 😀.
Happy Hacking 💗

Thank you  @shraddha761 , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


Move Modals to Routes

Clean up the mess in app.svelte by moving modals to pages and start using the SvelteKit routing.

Done in project merge 9426064.


s3 support anonymous access

After all configurations are loaded , try the list first. If the error is ErrNoValidProvidersFoundInChain, then enable anonymous access.

Codecov Report

Merging #1228 (1540d6f) into main (37edbaf) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1228      +/-   ##
==========================================
+ Coverage   57.57%   57.58%   +0.01%
==========================================
  Files         127      127
  Lines       21326    21329       +3
==========================================
+ Hits        12279    12283       +4
+ Misses       7556     7554       -2
- Partials     1491     1492       +1

Impacted Files
Coverage Δ

pkg/object/s3.go
43.72% <0.00%> (-0.51%)
:arrow_down:

pkg/object/b2.go
2.17% <0.00%> (ø)

pkg/object/gs.go
2.19% <0.00%> (ø)

cmd/mount_unix.go
49.12% <0.00%> (ø)

pkg/meta/redis.go
71.69% <0.00%> (ø)

pkg/object/bos.go
1.56% <0.00%> (ø)

pkg/object/cos.go
1.39% <0.00%> (ø)

pkg/object/eos.go
6.45% <0.00%> (ø)

pkg/object/jss.go
6.06% <0.00%> (ø)

pkg/object/ks3.go
1.24% <0.00%> (ø)

... and 39 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 37edbaf...1540d6f. Read the comment docs.


New content for VB 2017

New content for VB 2017
Summary
Changed order of What's New items, added What's New for VB 2017, documented ref return values and added examples.
This PR replaces an earlier PR that I closed.
Suggested Reviewers
@BillWagner @AnthonyDGreen

@BillWagner, I've fixed the anchors, which now work.


writePixels is slow when compared to other libraries

I had used imageio (with FreeImage backend) to store EXR images and now switched to pip-openexr (1.3.8) because I also need to parse header data.
I noticed a significant worse performance when writing images, e.g. for a 3620 × 3620 pixels RGB image

imageio would take 0.6 seconds to store to disk
while pip-openexr would take 2.33 seconds (almost 4x time) for the same file / operation

The majority of the time (> 98%) of the serialization code is being spent in the writePixels function.
Is there any way to make the serialization quicker?

One interesting aspect is that FreeImage is also using OpenEXR itself https://github.com/dllsystem/FreeImage/blob/master/Source/FreeImage/PluginEXR.cpp
So, it might be that the issue is rather in the glue code (the Python writePixels executes a buch of other stuff before handing over to OpenEXRs writePixels) 🤔

Ah OK, for some reason I though you were meaning the inner writePixels(). OK, I will check what is going on (not this week).
Feel free to ping me if you feel I take too long

Thanks for you effort and for maintaining this module :)

Can be closed, turned out there were just different default compression settings for the different libraries (ZIP vs PIZ).


dynamically import bookmarklet code

e.g.: maybe something like this? (doesn't seem to work directly for js for the test setup)
https://github.com/kognise/water.css/blob/master/bookmarklet/original.js
https://watercss.kognise.dev/#installation

https://raw.githubusercontent.com/hchiam/basic-page-editor-bookmarklet/main/bookmarklet_before.js

fetch('https://raw.githubusercontent.com/hchiam/basic-page-editor-bookmarklet/main/bookmarklet_before.js')
  .then((response) => response.text().then((code)=>{
      $('head').append(`<script>${code}</script>`);
  }));

javascript:(function(){
fetch('https:%2F%2Fraw.githubusercontent.com%2Fhchiam%2Fbasic-page-editor-bookmarklet%2Fmain%2Fbookmarklet_before.js')
  .then((response) => response.text().then((code)=>{
      $('head').append(`<script>${code}<%2Fscript>`);
  }));
})();


Color dismiss

Xcode 6.2.  Color dismiss.

Indeed.

looking forward to get it fixed! already get used to this great plug-in!

Hi, I am still really enjoying this plugin, but I am experiencing the same problem in Xcode 6.4 (6E35b), using the latest Polychromatic release ( v1.1.1 manually as well as via Alcatraz).
Polychromatic is working great in most of my Swift files, but in one file it stops working in a (rather lengthy) private function. I've reproduced the crash in a fake method:
private func test(dictionaryOfDictionaries: NSDictionary) {
        if let test = "whatever" ?? (dictionaryOfDictionaries["meta"] as? NSDictionary)?["id"] as? String {
            let bla = 5
            if true {
                let x = 123
            }
            let a = "apple"
        }
    }

After a second or two, there is "jump" in the editor (say half a screen), followed by:

Methods etc. underneath the "blackened" func also appear black.
On selecting a piece of the blackened code (e.g. double-clicking in it) a snippet of the code is briefly highlighted correctly, but then goes dark again.
I don't know if this helps you, but Console says:
10/08/15 16:14:52,993 Xcode[10184]: [MT] DVTAssertions: Warning in /SourceCache/DVTFrameworks/DVTFrameworks-7714/DVTKit/SourceTextView/TextSystem/DVTSourceTextView.m:5037
Details:  shouldUseTemporaryAttributes failure: curCharRange: {7063, 0}, effRange: {7063, 150}, charIndex=7063
Object:   <DVTSourceTextView: 0x7ff9ed43a010>
Method:   -layoutManager:shouldUseTemporaryAttributes:forDrawingToScreen:atCharacterIndex:effectiveRange:
Thread:   <NSThread: 0x7ff9e9c39710>{number = 1, name = main}
Please file a bug at http://bugreport.apple.com with this warning message and any useful information you can provide.

Let me know if you need more feedback.

Thanks for the quick response! ^_^ I can confirm this fixes the issue Xcode 6.4 (6E35b).


Cannot change basic keybinds

Environment data
Version: 1.63.0-insider
Commit: bedf867b5b02c1c800fbaf4d6ce09cefbafa1592
Date: 2021-11-18T05:17:00.890Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin x64 19.6.0
Expected behaviour
I can send things to the interactive terminal
Actual behaviour
I cannot send things to the interactive terminal
Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]

Download VSCode Insiders
Open keyboard shortcuts
Change the jupyter.execSelectionInteractive keybind to anything (cmd+enter, or even something unique like shift+v)
Inspect that keybind from (3) indeed has highest precedence for its given setting
Observe that pressing said keybind on any line in *.py file does not send the selection to the interactive window

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

XXX

Thanks for filing this issue.
Seems to have been broken for a while.

@peekxc
You'll need to turn on the setting jupyter.sendSelectionToInteractiveWindow
Once thats done, it will work.
Closing as that works as expected
If that doesnt work, please feel free to reopen this or create a new issue.


feat: Add support for docker runtime

resolve: https://github.com/bilibili/overlord/issues/120

Codecov Report

Merging #125 into master will decrease coverage by 0.21%.
The diff coverage is 20.00%.

@@            Coverage Diff             @@
##           master     #125      +/-   ##
==========================================
- Coverage   48.22%   48.00%   -0.22%
==========================================
  Files          66       66
  Lines        6522     6566      +44
==========================================
+ Hits         3145     3152       +7
- Misses       3024     3057      +33
- Partials      353      357       +4

Impacted Files
Coverage Δ

platform/mesos/executor.go
0.00% <0.00%> (ø)

platform/mesos/scheduler.go
0.00% <0.00%> (ø)

platform/job/create/exec.go
30.50% <27.02%> (-1.50%)
:arrow_down:

Continue to review full report at Codecov.

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


ShaderModule: Remove supplying 'project' module, fix 'lighting' module dependency.

Now that 'project' module is added by default, remove code supplying to model object.
Add dependency lighting -> project, so modules are inserted in right order.
Tested with : test-browser, layer-browser, examples.
NOTE: not ready to merge, requires luma.gl change (https://github.com/uber/luma.gl/pull/270)

@1chandu Can you also check and make sure that the custom layers in trips and plot examples work?

@Pessimistress , yeah both trips and plot examples run fine with these changes.
@shaojingli , yeah we need bot this and luma.gl PR should be landed.


Stuck in Botplay when disabled

Describe your bug here. If you are modding, try testing your bug in a clean version of the engine instead. Also, if you're using an older version of JSE, please try the latest version/action build. Also, be sure to check the pinned 'JS Engine: Known Issues' issue, to check if your issue hasn't already been found!
So I'm playing any song, and no matter what, bot-play is enabled. I disable it, and it's still on bot-play! Any idea on how to fix this?

Command Prompt/Terminal/Crash logs (if existing)
No response
Have you identified any steps to reproduce the bug? If so, please describe them below in as much detail as possible. Use images if possible.
No response
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
No.
If you use 1.12.0 or earlier, did you have Optimized Chart Loading turned on?
No
Did you check for any similar issues to what you're reporting? Check, then come back here. If there is a similar issue, then do not report the issue, otherwise it will be marked as a duplicate.
Yes

make sure showcase mode isn’t on

tyty

tyty

np


Pod group concurrent reconciles

What type of PR is this?
/kind feature

What this PR does / why we need it:

Add new method Run for the ComposableJob interface. Same as RunWithPodSetsInfo, but unsuspends all members of the composable job.

And new job event handler for the generic reconciler.

Implement Run for the pod groups.

Which issue(s) this PR fixes:

Related issue: #976
Special notes for your reviewer:
Does this PR introduce a user-facing change?

NONE

/test all

/assign

Please rebase


Super initializer is not renamed when implicit getter is renamed

Description
When renaming a property accessor of a given class, typically any FieldFormalParameters are renamed as well. However, when attempting to rename a field that is inherited from a superclass, any Field Formal Parameters of that field are not renamed as expected.
Steps to Reproduce
Example dart code:
class Foo extends BaseFoo {
  const Foo({
    required super.field,
  });
}

class BaseFoo {
  const BaseFoo({
    required this.field,
  });

  final String field;
}

void main() {
  final baseFoo = BaseFoo(field: 'value');
  // renaming the below `field` to `renamedField` changes the above `BaseFoo(field: 'value')` to
  // `BaseFoo(renamedField: 'value')`
  baseFoo.field;

  final foo = Foo(field: 'value');
  // renaming the below `field` to `renamedField` does NOT change `Foo(field: 'value')` to
  // `Foo(renamedField: 'value')`
  foo.field;
}

Possible work arounds
If Foo above is replaced with the below:
class Foo extends BaseFoo {
  const Foo({
    required this.field,
  }) : super(field: field);

  @override
  final String field;
}

The parameter will be renamed, as expected. Therefore, this seems to only affect super initializers / implicit getters.

Just to be clearer, I don't think I could understand this from the above. Here is what we would expect when renaming field to renamedField anywhere on the above file:
class Foo extends BaseFoo {
  const Foo({
    required super.renamedField,
  });
}

///...
void main() {
  // ...
  final foo = Foo(renamedField: 'value');
  // ...

What does happen (everything else is correctly renamed):
class Foo extends BaseFoo {
  const Foo({
    required super.renamedField,
  });
}

///...
void main() {
  // ...
  final foo = Foo(field: 'value');   // <-- This is wrong because we don't have this named parameter anymore.
  // ...


[CLOSED] Allow deletion of a draft manual via a bin script

 Issue by kalleth
Thursday 02 October 2014 at 14:52 GMT
Originally opened as https://github.com/alphagov/specialist-publisher/pull/265

This will enable us to remove unpublished manuals, freeing up their slug
for use by other manuals (perhaps which have been made in the wrong
organisation, for example)
This will enable the second part of this trello ticket.

kalleth included the following code: https://github.com/alphagov/specialist-publisher/pull/265/commits

 Comment by evilstreak
Friday 03 October 2014 at 10:40 GMT

I'd quite like to see a test for trying to delete a previously published manual.

 Comment by evilstreak
Friday 03 October 2014 at 10:50 GMT

:+1: This is good. I'd feel comfortable running a script like this for somebody else when on 2nd line. The details you print out when asking for confirmation is especially nice.

 Comment by kalleth
Friday 03 October 2014 at 10:56 GMT

@evilstreak All comments addressed and rebased against master.