Retrieve OIDC username as session variable

This would be nice to get the preferred_username OIDC claim inside a spoe variable back to haproxy.
We could then set a request header X-Auth-Username to be used by the backends as a header authentication.
preferred_username could be configurable so another claim (maybe email or sub) would be returned to haproxy to identify the authenticated user.

https://github.com/criteo/haproxy-spoe-auth/releases/tag/v1.8.0 has been released.


Add  --in-album and --not-in-album options

Add --in-album to only select photos in an album and --not-in-album to only select photos not in an album to query options.  See #363

Implemented in v0.40.8


Rewrite deprecated EC2 tests

See #3842 - adds equivalent boto3 tests for EC2, so that the deprecated tests can be removed without losing any test coverage

Codecov Report

Merging #3881 (56bd818) into master (1a35150) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #3881      +/-   ##
==========================================
+ Coverage   94.83%   94.87%   +0.03%
==========================================
  Files         447      447
  Lines       48778    48950     +172
==========================================
+ Hits        46260    46439     +179
+ Misses       2518     2511       -7

Flag
Coverage Δ

servertests
55.86% <100.00%> (-0.02%)
:arrow_down:

unittests
94.73% <100.00%> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/ec2/responses/elastic_block_store.py
96.49% <ø> (ø)

moto/__init__.py
98.27% <100.00%> (ø)

moto/swf/models/domain.py
100.00% <0.00%> (ø)

moto/swf/models/__init__.py
93.90% <0.00%> (ø)

moto/ecs/responses.py
99.23% <0.00%> (+<0.01%)
:arrow_up:

moto/emr/responses.py
99.46% <0.00%> (+0.01%)
:arrow_up:

moto/ec2/models.py
96.18% <0.00%> (+0.02%)
:arrow_up:

moto/ecs/models.py
92.20% <0.00%> (+0.03%)
:arrow_up:

moto/route53/responses.py
96.47% <0.00%> (+0.04%)
:arrow_up:

moto/emr/models.py
96.25% <0.00%> (+0.04%)
:arrow_up:

... and 4 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 90dd7cb...56bd818. Read the comment docs.


add yarn lock, switch to github actions

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@08fb2fa). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #109   +/-   ##
=======================================
  Coverage        ?   68.29%
=======================================
  Files           ?        5
  Lines           ?       82
  Branches        ?       12
=======================================
  Hits            ?       56
  Misses          ?       23
  Partials        ?        3

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 08fb2fa...a741be5. Read the comment docs.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@08fb2fa). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #109   +/-   ##
=======================================
  Coverage        ?   68.29%
=======================================
  Files           ?        5
  Lines           ?       82
  Branches        ?       12
=======================================
  Hits            ?       56
  Misses          ?       23
  Partials        ?        3

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 08fb2fa...a741be5. Read the comment docs.


Typescript 4.5 support

Potential fix for #298
Upgrade @babel/parser to support syntax added in typescript 4.5 which is used by the latest SvelteKit / language-tools.
I published this to npm<EMAIL_ADDRESS>and confirmed it fixes the test project I created - https://github.com/rmarscher/sveltekit-houdini-typescript/commit/a2252072f8fb8aae3a66eb43067c4f3c41c9f4ae
Thanks!

Nice!! Thanks for fixing this. Sorry I didn’t get back to you sooner, I’ve been on vacation. This should be good to go once you add a change set (I can do it if you prefer).

I ran into the same problem and was able to confirm that the parsing error I was seeing is solved by the fork that @rmarscher published to npm!

Thank you for confirming @alexlafroscia! Now that I’m home I’ll get this merged and published asap

I went ahead and added a changeset. will merge this once we get the 👍 from github

Thanks a lot, @AlecAivazis . Sorry I missed adding a changeset.


dependecies for paket pack

Description
Dependency resolution for paket pack and type file paket.template does not work as expected
When defining the version with the LOCKED syntax always a fixed version is written in the nuspec file, regardless of the range specified.
Repro steps

Using
SomeLib ~> 2.11.0
results in version="[2.11.0,2.12.0)"

When locked is (2.11.0-alpha8) using
SomeLib ~> LOCKED:[3]
results in version="[2.11.0]"

Expected behavior
I would expect that both variants result in version="[2.11.0,2.12.0)"

Mae culpa, expected to be fixed via PR #3229


UTC format

An option to show the timestamp in UTC format would be great.  Even better, a way to control the output format or even the library used would be awesome.  Perhaps the "timestamp" option could take either a boolean ("true" defaults to what it does now), or a function that would return the formatted timestamp.

Hi, @esalter! Sorry for delay.
You can use titleFormatter option. For example,
import createLogger from 'redux-logger';

const logger = {
  titleFormatter: (action) => {
    const time = new Date().toISOString();

    return `${time} action ${action.type}`
  }
}

Sorry for the delay to your delay, email snafus ;)
That does exactly what I needed, thanks!


proper implementation of JNDI

Is your feature request related to a problem? Please describe.
The JNDI implementation in Thorntail v4 (https://github.com/thorntail/thorntail/tree/4.x/core/jndi) is nothing but a mock. JNDI isn't a flat map, it's a hierarchical structure. If we want to support JNDI, we should do so properly.
Describe the solution you'd like
One option is to use the WildFly implementation (https://github.com/wildfly/wildfly/tree/master/naming/), either by copying it or by adding it as a dependency. Given that the WildFly's impl has many dependencies that Thorntail doesn't need, copying would probably be a better option.
Another option is obviously to write a bare minimum JNDI implementation from scratch. Shouldn't be that hard.
Describe alternatives you've considered
Given the CDI-first & single-classloader nature of Thorntail v4, I believe ditching JNDI for good is also an option.
Additional context
https://docs.oracle.com/javase/8/docs/technotes/guides/jndi/index.html

Really it’s just a Good Enough JNDI for things like JPA which assume it for looking up datasources etc.


Service Blueprint - Incorporate cloud navigator & self-serve concept diagrams into user journey

Describe the issue
Cloud Pathfinder, OCIO and Ministries need to understand, and be able to address user expectations and requirements for managed cloud services. Ministries need to understand their share of responsibilities for compliant use of cloud services. Our stakeholders will benefit from knowing what to ask from us.
Which Sprint Priority is this issue related to?
The 'Milestone' should clearly list Sprint Priorities - which one is this issue related to?
Additional context
Working from the example blueprint MIRO board from DPD
Service Design Blueprint includes the following:

backstage
frontstage
user journey
artifacts
processes
tools

Definition of done

Cloud navigator & self-serve concept diagrams are incorporated into the user journey
Steps from navigator & self-serve concept easily identifiable in the service design blueprint
Peer review

Incorporated Navigator & self serve early concept details as well as UX workshop findings into the blueprint.
First draft review with Gen & Paul was July 22.  Feedback to be added to blueprint July 23.


docs: add devsite template

Eventually, we should probably move the other template into the templates directory. But, I didn't move it for now to keep this PR small.

Thanks - will start experimenting with generating a second docfx,json file.


Allow virtual_delegate type to be passed in

Related to:

https://github.com/ManageIQ/manageiq-api/pull/550
https://github.com/ManageIQ/manageiq-api/pull/554
https://bugzilla.redhat.com/show_bug.cgi?id=1671458

klass.type_for_attribute() loads the schema of the target type.
In rare cases, this can cause race conditions.
A delegate is an attribute that is based upon an attribute on another
model. So in order to define the attribute on this model it
needs to reference the definition of the attribute on another model.
Making loading depend upon the loading of another resource can
possibly create circular dependencies and/or race conditions
while loading attributes.
The quick solution is to just manually define the type (Which is how we
do it for all other virtual attributes)

I would prefer to derive it - but don't know a mechanism to say "please load this other class first"
rails sure is anti require

I would prefer to derive it

Why?  It seems reasonable to specify the type of the thing you're defining.

Why? It seems reasonable to specify the type of the thing you're defining.

Agreed, but the attributes are already defined in the target model. Guess it is like how we do not define database column types.
I will look into deprecating and changing the 32 virtual delegates

We've avoided this base case. This lost steam and since it is already solved in another way, closing this one.


[Study Plan] Does not prompt to add new study plan upon first login

Either have a default blank study plan (preferred)
or put "No study plans here. Please click '+' to add a study plan"

bbcf563d50ef2c31015cb3ffc2fa26b0ab4bc7b8


Can't easily create cached statement in transaction

I had to work on this a bit before I got it working. There aren't really any good examples in docs or the examples folder.
let mut db = Connection::open(db_path).unwrap();

let tx = db.transaction().unwrap();

let mut stmt = tx.prepare_cached("...").unwrap();

for item in collection {
    stmt.execute((/* ... */)).unwrap();
}
// This line is required or else you get complaints about borrowed values
drop(stmt);

tx.commit().unwrap();

I'm not sure if I missed something in the docs, or if maybe an example would suffice to make this crate easier to understand.

https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=7940d94303afc5137413159b3a39c453
error[E0505]: cannot move out of `tx` because it is borrowed
  --> src/main.rs:15:5
   |
6  |     let tx = db.transaction()?;
   |         -- binding `tx` declared here
7  |     let mut stmt = tx.prepare_cached("...")?;
   |                    -- borrow of `tx` occurs here
...
15 |     tx.commit()
   |     ^^ move out of `tx` occurs here
16 | }
   | - borrow might be used here, when `stmt` is dropped and runs the `Drop` code for type `CachedStatement`

For more information about this error, try `rustc --explain E0505`.
error: could not compile `playground` (bin "playground") due to 1 previous error


deps: bump OCM to 0.9.0

Description
Changes proposed in this pull request:

supersedes https://github.com/kyma-project/lifecycle-manager/pull/1531

Related issue(s)

closed in favor of https://github.com/kyma-project/lifecycle-manager/pull/1539 (conflicts with main)


update doc for BoundServiceAccountTokenVolume and RootCAConfigMap

update feature status for BoundServiceAccountTokenVolume and RootCAConfigMap
KEP: https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/1205-bound-service-account-tokens/README.md
PR:

kubernetes/kubernetes#95667 (BoundServiceAccountTokenVolume)
kubernetes/kubernetes#98033 (RootCAConfigMap)

Issue: https://github.com/kubernetes/enhancements/issues/542

/cc @liggitt

/assign @PI-Victor
/sig auth

/lgtm

Because this does need a couple of updates, I'll note the tech review from SIG Auth (thanks @liggitt) but
/lgtm cancel

Hi @zshihang , thank you for having your Doc PR ready for review, friendly reminder about the upcoming doc related dates for the 1.21 release:
Upcoming doc related dates for the 1.21 release:

 Docs Ready for Review deadline is March 24
Docs Ready to Merge deadline is March 31

Hi @zshihang, please review @sftim's comments and requested changes
Thank you

We have got tech LGTM with doc review feedbacks addressed.
/lgtm
/approve


ci: cilium-nightly skip test check-log-errors

Reason for Change:
New test case in latest cilium cil checks for log errors and is failing nightly pipeline. Found that the error reported in the cilium-agent logs recovers on its own, but still causes a failure in this test case. Skipping this check to unblock the pipeline, and will follow up with cilium-cli on this.
time=2024-05-30T22:07:56Z level=info msg="Devices changed" module=agent.datapath.devices-controller devices=[]
time="2024-05-30T22:07:57Z" level=info msg="Node addresses updated" device=eth0 node-addresses= subsys=node-address
**time="2024-05-30T22:07:57Z" level=error msg="Unable to write node config header" error="failed to write node configuration file at /var/run/cilium/state/globals/node_config.h: IPv4 direct routing device not found" subsys=datapath-loader**
time="2024-05-30T22:07:57Z" level=warning msg="Failed to reload datapath" error="unable to recompile base programs from devices changed: failed to write node configuration file at /var/run/cilium/state/globals/node_config.h: IPv4 direct routing device not found" subsys=daemon
**time=2024-05-30T22:07:57Z level=info msg="Devices changed" module=agent.datapath.devices-controller devices=[eth0]
time="2024-05-30T22:07:57Z" level=info msg="Node addresses updated" device=eth0 node-addresses="<IP_ADDRESS> (primary, nodeport)" subsys=node-address**
time="2024-05-30T22:07:58Z" level=info msg="Updated link /sys/fs/bpf/cilium/socketlb/links/cgroup/cil_sock6_post_bind for program cil_sock6_post_bind" subsys=socketlb
time="2024-05-30T22:07:58Z" level=info msg="Updated link /sys/fs/bpf/cilium/socketlb/links/cgroup/cil_sock6_connect for program cil_sock6_connect" subsys=socketlb
time="2024-05-30T22:07:58Z" level=info msg="Updated link /sys/fs/bpf/cilium/socketlb/links/cgroup/cil_sock6_sendmsg for program cil_sock6_sendmsg" subsys=socketlb

Issue Fixed:

Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] relevant PR labels added

Notes:

/azp run Azure Container Networking PR


[Hotfix][Connector][TableStore]Fix thread-unsafe in write.

Purpose of this pull request

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

same as https://github.com/apache/seatunnel/pull/6882#pullrequestreview-2071149643


Add runAfter to API

When using Shake as a glue-y build system to gradually move out of a make-based system, it would be very useful to have the runAfter function available.
Right now, all we can do is removeFilesAfter (implemented in terms of runAfter), but there might be other actions to run after a build, such as calling make clean on a number of contained targets.
Is that a good idea? If not, why?

Exposing runAfter isn't a particularly problem, but in general less functions is better. You can certainly implement runAfter outside of Shake - just do something like:
main = do
    ref <- newIORef []
    shake ....
         phony "clean" $ do
              modifyIORef ref (cmd "make clean" :)
     sequence_ =<< readIORef ref

So the question is whether it's important enough and generally useful enough to make a standard part of Shake, or if it's probably unique to your use case, in which case the above approach is probably sufficient. I've no real idea. What's the reason for wanting to do make clean after the build? The only real reason for having removeFilesAfter is so they can delete the .shake/.database, which is otherwise locked until the build completes - running make clean immediately might be fine.

What's the reason for wanting to do make clean after the build?

The general case is that I'd like to pair a clean phony with other build rules, so that I can generate certain files and leave the system in the same state as it was before afterwards. When I accidentially pair the clean phony with another build target right now, I get very strange interferences, and the build fails for reasons not immediately obvious.

Won't generating and then cleaning usually clean the generated files? If so, what's the purpose of generating the files? In my test suite I have a flag for "clean before", so I start from a known state, but I've never encountered a need for clean after before.

Cleaning should clean the generated files, but there may be other rules that do something with the generated files before the build finishes, such as moving them to a certain place.
Maybe I'm abusing Shake a bit to be not only a build system, but also a tool for shell scripting "of things with implicit data dependencies", and I think it does that job very well.
The small program I'm working on right now is a wrapper for a build system to compile the firmware for my Infinity Ergodox keyboard, and the build system is a bit hard to understand. My Shake script now wraps the entire project, and when run, it moves the files to the appropriate (and a bit obscure) locations, then calls the other build system, and manages the generated files. My clean target should, among other things, call the clean target of the wrapped build system; but before cleaning, one might want to send the firmware to the keyboard on success, which would be a call to ./build --flash clean.

The runAfter API is all about running things after the Shake build has finished, mostly so you can clean up files that are currently locked by Shake itself. I think here you really want to say "do these two things, do this one after that" - but while Shake is still in control. You might also want to order clean before distclean or similar. Maybe there's a general design principle buried in there? But if it's hard to find, runAfter might be a simple stopgap, since it's no new power, and can certainly be useful.
Is your build script online somewhere? I'd be curious to take a look, and see if there's any other approach that might be better.

Here you go: https://github.com/quchen/ErgoDox
The main part of the build system is in Build/Main.hs.

Thanks @quchen, I'll read through in detail later on in the week. One thing I immediately noticed is that you could replace mkdir with createDirectoryIfMissing, which means less shell, more Haskell, and might be easier.

Hey Neil, did you come to a conclusion? We should probably close this issue regardless of the outcome so it doesn't clutter the tracker.

I did not - I've been super busy all over Christmas/New Year - it's still in the pile of things to look at. Don't worry about cluttering the bug tracker, I comb through it pretty regularly, so it won't stay forever.

I added runAfter - I've now seen a couple of things that could be useful.

Cool, I had long forgotten about this ticket! :-)


Unify the behavior of the not found handlers.

Both MethodNotAllowedHandler and NotFoundHandler methods will
return an HTTPError if their condition matches.

Add Header() http.Header method to the HTTPError interface.

Coverage increased (+0.07%) to 94.708% when pulling b234e20a5031f1974fbd46af85083c7945152b11 on overnilx:master into d2a16ccf3fb7eca92e694ccabbd9200bfda4bc6f on go-ozzo:master.


Remove nightly files.

Part of #1122
Please be careful when reviewing. We don't want to upload nightlys instead of stable, this is quite sensitive.

LGTM. Can rollback the debug commit

So it looks like we never were checking that tests pass before uploading wheels in the release script. Could/should we add manylinux-cpu-release-test to the needs field of the upload job? That'll prevent uploads in case there's a break in testcases for some reason.

Sure thing


File not found

Traceback (most recent call last):
File "e:\slp-to-mp4-master\slp2mp4\slp-to-mp4.py", line 217, in
main()
File "e:\slp-to-mp4-master\slp2mp4\slp-to-mp4.py", line 213, in main
record_file_slp(slp_file, outfile)
File "e:\slp-to-mp4-master\slp2mp4\slp-to-mp4.py", line 79, in record_file_slp
video_file, audio_file = dolphin_runner.run(slp_file, num_frames)
File "e:\slp-to-mp4-master\slp2mp4\dolphinrunner.py", line 224, in run
self.prep_dolphin_settings()
File "e:\slp-to-mp4-master\slp2mp4\dolphinrunner.py", line 161, in prep_dolphin_settings
with open(gale01_ini_path, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'e:\slp-to-mp4-master\slp2mp4\User-31a785c4-57f1-42dc-9953-4528f0520d14\GameSettings\GALE01.ini'

It's very difficult to help with how little information you've given. Which version of Slippi are you using? Which version of slp-to-mp4?

Sorry for the litle information, i am using windows 10, i am using the master branch of this repo.
My config file is the following
{
"melee_iso": "C:/Program Files/Slippy/SSBMv102.iso",
"dolphin_dir": "C:/Users/toot/AppData/Roaming/Slippi Launcher/playback/",
"ffmpeg": "C:/ffmpeg-2022-09-15-git-3f0fac9303-full_build/bin/ffmpeg.exe",
"resolution": "720p",
"widescreen": true,
"bitrateKbps": 16000,
"parallel_games": "recommended",
"remove_short": true,
"combine": true
}

Yeah, this issue has been fixed on my branch. In a recent release, the name was switched from GALE01.ini to GALE01r2.ini. I could make a PR, but this project hasn't seen much activity in a while, so I think it'd be faster for you to switch to my branch.

Here's my fix for it by the way


Bug: Hash do not clean references to objects in --release mode

The following code prints Deleted: 1 in normal mode, and Deleted: 0 in --release mode. It doesn't matter the number of objects added & deleted.
class Z
  @@deleted = 0

  def initialize(@i : Int32)
  end

  def finalize
    @@deleted += 1
  end

  def self.deleted
    @@deleted
  end
end

hash = Hash(Int32, Z).new

hash[0] = Z.new 0
hash[1] = Z.new 1

hash.delete 0
hash.delete 1

GC.collect

puts "Deleted: " + Z.deleted.to_s

Objects are freed once I put a #rehash prior to GC.collect. But it shouldn't be necessary (as evidenced by the run without --release).
Crystal 1.13.1 (2024-07-12)
LLVM: 18.1.8
Default target: x86_64-apple-darwin23.5.0

Hash::Entry.deleted explicitly constructs an object with an uninitialized key-value pair, so LLVM is free to leave the existing pair unmodified:
class Hash(K, V)
  def entries_slice
    Slice.new(@entries, indices_size // 2)
  end
end

hash = Hash(Int32, Z).new

p hash[0] = Z.new 0
p hash[1] = Z.new 1

hash.delete 0
hash.delete 1

puts hash.entries_slice.to_unsafe_bytes.hexdump

GC.collect

puts "Deleted: " + Z.deleted.to_s

Non-release mode:
#<Z:0x1002f2e80 @i=0>
#<Z:0x1002f2e70 @i=1>
00000000  00 00 00 00 01 00 00 00  d0 6a d3 6f 01 00 00 00  .........j.o....
00000010  00 00 00 00 01 00 00 00  d0 6a d3 6f 01 00 00 00  .........j.o....
00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................


Create a conference

Dear all,
first of all, thanks for SIP.js - I switched from another library and yours is some much more comfortable :+1:
I have two questions right now:

How can I create a conference, meaning have a call with more than two participants
Can user credentials used by more than one person at a time? For example, I want to store one generic user on a webpage, so that everybody who has this webpage open gets called and the first who answers should receive the call. Is that possible?

Thanks and best regards,
Chris

Does anyone have an example of implementation for conference call without conference server ?

@misjaz https://groups.google.com/forum/#!forum/sip_js

@josephfrazier  do you by any chance still have guide for conference call implementation without conference server? link form your comment is no longer available

@misjaz https://groups.google.com/forum/#!forum/sip_js

sorry @misjaz, I don't work on SIP.js anymore, and I can't help you :/


UI Enhancement - Improving the button in the hover

Current button in navigation bar is not looking cool according to the current motive of the website. And, as the current motive of the HextaUI Components is to provide good ui components for developer to code faster on their client project instead of making the components design from scratch. and taking that in mind, I thought to have a good design of that button.
You can assign me on this mini issue but yupp, I would be doing more later on as it takes time to see what can be improved and as this OS so no worries about these things.

Assign me so I will send some example screenshot of how that will look.
Thank you @preetsuthar17
-- Anshul Soni

HextaUI is open source mate! feel free to make your pull request!


Revise Requirements

Requirements must been revised due to the newly updated mockups and wire frames

Requirements have been updated and structured.


tests: reduce sleep calls

The sleep calls are slowing down the runtime tests. Without having carefully
measured at it's slowest the duration has been between 21-38 minutes.
The sleep calls made are waiting for something very specific like endpoint
generation, container launch, traffic generation, etc.  In order to wait for
the related events to be completed a couple of helper functions have been added
which basically just run loops and check conditional statements. This is faster
because we are continually checking if our condition is met without any delays.
Also to hopefully prevent future slow down of the tests. A new test to fail
when sleep is in use has been added.

Was OOO, but wanted to say thanks for this ! Getting a good library of helper functions for our tests will pay off !


channeldata differs from old conda-index when generating from scratch

some packages can have older timestamps or just different timestamps / versions
are we processing subdirs in the same order
can we stop generating this rarely used file

Could we run the old conda-build index code with no pre-existing channeldata to see where it arrives? Probably would take a while...

channeldata.json unfortunately still mostly re-uses the previously-generated channeldata.json (circular data dependency); but fortunately, only a few package timestamps differ when we allow new-conda-index to re-use old-conda-index channeldata.json. Not too surprising since the channeldata code was not changed very much.

Addressed in #49. Does slower but more predictable processing for all, not just new, packages.


use self.peek_char() method on keywords and numbers with variable length

The scanner consumes the chars resulting from a call to self.buffer.next();
Variable length tokens are read until a delimiter symbol is found. But this symbol is consumed too.
Therefore (1 + 1) results in the following tokentype stream:
TokenType::LeftParen
TokenType::DecimalNumber
TokenType::Plus
TokenType::DecimalNumber
the last TokenType::RightParen is missing, because it is consumed while trying to read more characters into the DecimalNumber Token.

fixed


Download broken

https://marketplace.visualstudio.com/items?itemName=PedroPombeiro.ReSharperAutoFormatOnSave
Click download.
Receive:
<Error>
    BlobNotFound
    <Message>
        The specified blob does not exist. RequestId:f7726ab4-001e-009a-755a-2ad1a5000000 Time:2019-06-24T07:02:38.7332125Z
    </Message>
</Error>

It looks like his entire site is down :(


Add thermocline function to temperature sensor

Added this formula: http://residualanalysis.blogspot.de/2010/02/temperature-of-ocean-water-at-given.html


Add the F-15E

Add support for Razbam's F-15E 😄

Thanks to the original author JC of DI, F-15E is added now!


--all flag fails to include tested files, sometimes displays no files at all

Expected Behavior
nyc -a should list all tested and untested files.
Observed Behavior
nyc -a only lists untested files when called against mocha directly. Tested files are not listed.
nyc -a lists no files when called against npm test.
Bonus Points! Code (or Repository) that Reproduces Issue
https://github.com/ralphholzmann/instanbul-bug
Forensic Information
Operating System: the operating system you observed the issue on.
Mac OS
Environment Information:
https://gist.github.com/ralphholzmann/aa66651e742688942556b42c690b5256

Cannot reproduce on Windows with nyc 11.8.0:
D:\...\instanbul-bug>npm run test:coverage

><EMAIL_ADDRESS>test:coverage D:\...\instanbul-bug
> cross-env NODE_ENV=test nyc -a npm test

><EMAIL_ADDRESS>test D:\...\instanbul-bug
> mocha --require @babel/register

  Tested file
    √ adds one

  1 passing (32ms)

----------------|----------|----------|----------|----------|-------------------|
File            |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------------|----------|----------|----------|----------|-------------------|
All files       |      100 |      100 |      100 |      100 |                   |
 tested-file.js |      100 |      100 |      100 |      100 |                   |
----------------|----------|----------|----------|----------|-------------------|

D:\...\instanbul-bug>npm run test:coverage2

><EMAIL_ADDRESS>test:coverage2 D:\...\instanbul-bug
> cross-env NODE_ENV=test nyc -a mocha --require @babel/register

  Tested file
    √ adds one

  1 passing (39ms)

------------------|----------|----------|----------|----------|-------------------|
File              |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
------------------|----------|----------|----------|----------|-------------------|
All files         |       50 |      100 |       50 |       50 |                   |
 tested-file.js   |      100 |      100 |      100 |      100 |                   |
 untested-file.js |        0 |      100 |        0 |        0 |                 1 |
------------------|----------|----------|----------|----------|-------------------|

However, "nyc": {..., "all": true} option in package.json doesn't work and that is strange to me (as it is documented in README).

Please see https://github.com/istanbuljs/nyc#require-additional-modules.
I am able to see your issue, but I'm able to fix it by moving --register @babel/core.  Your current package.json has:
{
  "scripts": {
    "test": "mocha --require @babel/register",
    "test:coverage": "NODE_ENV=test nyc -a npm test",
    "test:coverage2": "NODE_ENV=test nyc -a mocha --require @babel/register"
  }
}

According to the documentation this would be more correct:
{
  "scripts": {
    "test": "mocha --require @babel/register",
    "test2": "mocha",
    "test:coverage": "NODE_ENV=test nyc -a --require @babel/register npm run test2",
    "test:coverage2": "NODE_ENV=test nyc -a mocha --require @babel/register"
  }
}

Important detail is that you have to pass --require @babel/register to nyc, not mocha.  It doesn't seem to matter when mocha is the direct subprocess of nyc, but it does seem to matter when working directly (like nyc -> npm -> mocha).  I'm not sure if issues might happen from running NODE_ENV=test nyc -a --require @babel/register npm test (where --require @babel/register is passed to nyc and mocha), that is why my exist shows a `test2 script which excludes it.

Another unrelated note, babel-plugin-istanbul is currently written against babel 6.  Using it in babel 7 doesn't seem to be causing any issues but I still wanted to mention.  I have a PR to switch it to use babel 7 but that is not yet merged and will result in a semver-major version bump.

Thanks, @coreyfarrell
"test": "mocha --recursive --require babel-core/register",
"test:coverage": "nyc npm test"

I was facing this issue with the scripts above. When I changed it to
"test": "mocha --recursive --require babel-core/register",
"test:coverage": "nyc --require babel-core/register mocha --recursive"

the library didn't show inconsistency anymore :)


Revert to subcommand interface

Though more complicated, it may be less confusing if we revert to the subcommand system for the dsc2 command interface. Currently we'll have
dsc run
dsc remove
dsc annotate
dsc extract

and soon:
dsc port

Another possible interface is
dsc settings.dsc --exec
dsc settings.dsc --remove
dsc settings.dsc --annotate
dsc settings.dsc --extract
dsc settings.dsc --pack / --unpack

And these arguments are mutually exclusive groups. The upside for this interface is that we can keep DSC interface simpler -- one command instead of many commands.

It is very much likely that I'll have to go for the 2nd option, in order to make #49 happen.

Proposed new DSC2 command interface:

dsc -x settings.dsc [options]

will execute DSC script.

dsc -a settings.ann [options]

will annotate DSC

dsc -x settings.dsc -a settings.ann [options]

will run DSC limiting to given annotations

dsc -r settings.dsc [options]

will remove given DSC blocks, or remove the entire DSC if no further option is provided.

dsc -e settings.dsc [options]

will extract DSC data based on annotation tags.
Logically -x/-r/-e/-a are mutually exclusive with the exception of -x -a when used in combination with each other will achieve #49 . This is one of the 2 primary reasons we want a better switch based system not subcommand system.

The proposed interface is implemented though pending more tests.


Added missing keywords

Btw. should we add the pseudo-variables OLD and NEW to the variables section as well?

I went through the list of (key-)words using a simple query FOR doc IN coll RETURN doc.<word> and wrote down which are keywords (and their subtype), which are keyword-like and which are not keywords, see https://github.com/PrismJS/prism/pull/2047

An unquoted string literal is called an identifier:
https://github.com/arangodb/arangodb/blob/devel/arangod/Aql/grammar.y#L247


sched/timer: remove the CLOCK_REALTIME check

Summary
sched/timer: remove the CLOCK_REALTIME check
Impact
Reference here:
https://pubs.opengroup.org/onlinepubs/009695399/functions/timer_create.html
DESCRIPTION
...
  Each implementation shall define a set of clocks that can be
  used as timing bases for per-process timers. All implementations
  shall support a clock_id of CLOCK_REALTIME.

  *** If the Monotonic Clock option is supported, implementations shall
  support a clock_id of CLOCK_MONOTONIC. ***
...

Change-Id: Ia8e7302ed4a7e9ec11a0059bd68e9674ea942001
Signed-off-by: chao.an<EMAIL_ADDRESS>Testing
call timer_create(2) with clock id CLOCK_MONOTONIC

The title of the PR confused me, it reads as if you are removing support for CLOCK_REALTIME, maybe rename it to "support CLOCK_MONOTONIC"?


use HAS_GPU to determine of cuda is available

This PR changes how we determine if cuda is available on the system. We move from numba to using HAS_GPU which uses nvml device count. If there are no devices, then cuda is not available. Otherwise cuda is available.

This is not ready, the failures during writing have to do with when you are writing a file with a client available. Will continue investigating.

Investigated seems that the logic for int_slice_size was not full proof. Because of the floor divide you can find yourself in a scenario where you have less records in the df than the int_slice_size and that can result in a zero. Then when you go to mod on zero the thread raises an exception. I do wonder how we hit this now and not before.

/ok to test

I do wonder how we hit this now and not before.

I agree that this is strange - I wonder if I was wrong about pynvml_mem_size be "the same".

/ok to test

/ok to test


Make CachingJdbcClient caches session-aware and fix caches invalidation

BaseJdbcClient.getColumns calls toPrestoType which can return different type mapping based on a session properties. Columns cache created in CachingJdbcClient can be broken due to not taking session properties into account.
Fixes https://github.com/prestosql/presto/issues/6106
Fixes https://github.com/prestosql/presto/issues/6166

@zaz968m PTAL

Fixes #4885

This is not right. The issue was fixed by a different change.

Fixes #4981

How is this related?

AC @kokosing

@findepi ?

@wendigo please see the build failures.

@findepi unrelated - building docker image fails
 ---> Running in daa9e3467961
+ dnf -y -q install https://cdn.azul.com/zulu/bin/zulu-repo-1.0.0-1.noarch.rpm
+ dnf -y -q update
Error: Error downloading packages:
  Cannot download Packages/bind-export-libs-9.11.13-6.el8_2.1.x86_64.rpm: All mirrors were tried

@findepi now it passed 👍🏻

@kokosing done. Rebased, dropped empty commit, and removed invalidating cache on insert to the table (I'll open a PR for that)

Merged, thanks!

I know, it's no use crying over spilt milk, but..

? :)

despite pr is already merged I still left some comments.

despite pr is already merged I still left some comments.

I'll do a follow up then. Thanks!


Replace list output when there are no matching resources

Currently, when there are no matching resources, the output of the list command is an empty table, for example:
→ ./bin/flotta list deviceset
NAME    DEVICES         CREATED

Now, we'll print an appropriate message instead:
→ ./bin/flotta list deviceset
No device sets were found.

Signed-off-by: arielireni<EMAIL_ADDRESS>

I kinda disagree with this one TBH :-) We want to have the same output for all cases IMHO

@eloycoto So WDYT about:
No resources were found.

for all cases?

@eloycoto please take a look

The thing is, I'll return an empty list, as kubernetes, etc.. having different message is misleading for these cases:

@eloycoto This change was originally made because kubectl does not return an empty list:
→ kubectl get edgedevice
No resources found in default namespace.

@eloycoto @gciavarrini @pkliczewski So is this PR approved? can we merge it?


Unexpected comma in Ulysses::addConfig

When using Ulysses::addConfig, it is adding an extra ","  at the end of user line.

Fixed in #4


Questions about the rules

Hi, thanks for organizing the challenge!!
We have several questions about the rules:

Are we allowed to use ImageNet validation or test set?
We should only use ResNet-10 as the backbone?
Do we need to respect the preprocessing in the provided code? especially the resolution of images? (many academic papers working on lower resolution)

Thanks and looking forward to your reply.

Hi @XiSHEN0220,

Only miniImageNet is allowed as provided in the competition. To be fair for all the participants, no other sources are allowed.
Any backbone is fine.
Any resolution is fine. And you can also modify the data preprocessing steps.

Thanks for your reply!!!


can set config hook function with REACT_APP_HOOK_PROD_CONFIG and REAC…

…T_APP_HOOK_DEV_CONFIG env vars
For those who want to modify the config without ejecting the module, it permits to specify with env vars REACT_APP_HOOK_PROD_CONFIG and REACT_APP_HOOK_DEV_CONFIG an additional file (for prod or dev) which exports a function that must return the new config.
ex. in file env:
REACT_APP_HOOK_DEV_CONFIG=./config/config.dev.js
and in file {project_root}/config/config.dev.js:
module.exports=(config)=>{
  // add support for jquery on bootstrap
  config.module.loaders.push(
    {
      test: /(bootstrap).+\.(jsx|js)$/,
      loader: 'imports?jQuery=jquery,$=jquery,this=>window'
    });
  // should always return config
  return config;
};

I was thinking about this when I started this project. I decided that I don't want to allow custom webpack/babel configurations specifically because I wanted the additional features that this fork provides to be sandboxed, properly implemented, always up to date with the original react-scripts.
Otherwise people will implement something wrong and then blame it on create-react-app or custom-react-scripts, which we don't want.
If you really need an additional feature that custom-react-scripts doesn't provide, for now you can just eject the project.
If you have a general feature suggestion that we can add, and everyone can toggle with adding a simple line in the .env, please suggest it.

I've used this hook to test bootstrap material design [https://github.com/FezVrasta/bootstrap-material-design] with the possibility to edit/override less files to create my own theme.
basically a App.less file starting with:
@import "~bootstrap/less/bootstrap";
@import "~bootstrap-material-design/less/bootstrap-material-design.less";
@import "~bootstrap-material-design/less/ripples.less";
/* and then for example: */
@brand-primary: @grey-900;
@body-bg: @black;
@btn-default-color: #333;
@btn-default-bg: @white;
@btn-default-border: #ccc;

and this line of webpack config:```
{
test: /(bootstrap|material|ripples).+.(jsx|js)$/,
loader: 'imports?jQuery=jquery,$=jquery,this=>window'
}

I'm not sure it's an interesting feature for "create react app". Let me know. :)


Improve some doc about multiplication gadgets.

Clarify the carry bits returned by mul_with_carry, and that we actually use Babbage and not Karatsuba.
Clarify that in mul_wrapped we use Babbage, which in this case consists of three multiplications, same as Karatsuba.

ok
On Mon, 3 Jul 2023 at 05:54, Eric McCarthy @.***> wrote:

@.**** approved this pull request.
Looks good to me. Even though the triple-slash region is long, the
clarification
of the meaning of the returned carry bits could prevent a misunderstanding,
so I think it is good to have.
—
Reply to this email directly, view it on GitHub
https://github.com/AleoHQ/snarkVM/pull/1738#pullrequestreview-1510297373,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BA7O5HJE7XWBSOFLQUDHIUTXOI7BDANCNFSM6AAAAAAZ23FG3E
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Pass LogEvent to NoSqlConnection#insertObject

The org.apache.logging.log4j.core.appender.nosql.NoSqlConnection#insertObject currently does not pass the LogEvent from the NoSqlDatabaseManager. While in practical application scenarios, some scenes need the original LogEvent object.
Therefore, it is suggested to extend org.apache.logging.log4j.core.appender.nosql.NoSqlConnection#insertObject to support passing the original LogEvent interface, which will facilitate the use of the LogEvent interface object in the implementation class.

@tonycody, the request sounds legit to me. Would you mind providing a bit more context, please?

Which Log4j version are you using?
Which appender are you using? (If it is a custom one, what is the sink it is writing to?)
What is the use case necessitating the LogEvent in insertObject()?

@tonycody, the request sounds legit to me. Would you mind providing a bit more context, please?

Which Log4j version are you using?
Which appender are you using? (If it is a custom one, what is the sink it is writing to?)
What is the use case necessitating the LogEvent in insertObject()?

I'm implementing a NoSqlConnection where the received data is written to Redis. I need the original thrown object so that I can use java.lang.Throwable#printStackTrace(java.io.PrintWriter) to get the StrackTrace and convert it to String via Stream, which makes it a lot less work for me. Although StrackTrace is included in the current HashMap, I need to do some complicated parsing into String format, whereas printStackTrace is natively supported and more consistent.

I'm implementing a NoSqlConnection where the received data is written to Redis. I need the original thrown object so that I can use java.lang.Throwable#printStackTrace(java.io.PrintWriter) to get the StrackTrace and convert it to String via Stream, which makes it a lot less work for me. Although StrackTrace is included in the current HashMap, I need to do some complicated parsing into String format, whereas printStackTrace is natively supported and more consistent.

NoSqlDatabaseManager#writeInternal is implemented as follows:
protected void writeInternal(final LogEvent event, final Serializable serializable) {
    if (!this.isRunning() || this.connection == null || this.connection.isClosed()) {
        throw new AppenderLoggingException(
                "Cannot write logging event; NoSQL manager not connected to the database.");
    }

    final NoSqlObject<W> entity = this.connection.createObject();
    if (serializable instanceof MapMessage) {
        setFields((MapMessage<?, ?>) serializable, entity);
    } else {
        setFields(event, entity);
    }
    setAdditionalFields(entity);
    this.connection.insertObject(entity);
}

Why don't you simply use setFields() to capture the Throwable and use it in insertObject()?
I am also curious, why did you opt for implementing your own Redis appender instead of using log4j2-redis-appender?

The usage scenarios are different, another one I'm considering. Bringing LogEvent out doesn't affect the existing design, one more option for custom implementation classes. There are some other extensions that can be done with LogEvent.

I am not keen on adding new methods based on speculative functionality. Could you give a more concrete example demonstrating without a new insertObject(LogEvent,Entity), it is really difficult to carry out a certain business logic, please?
Background: @tonycody, I am very thankful that you reach out to us.  Much appreciated. Please understand that every single line we add to the public API becomes a liability and maintenance burden we need to carry for decades. Given that the Log4j API is already pretty bloated, we need to justify every single new thing we are about to add.

I am not keen on adding new methods based on speculative functionality. Could you give a more concrete example demonstrating without a new insertObject(LogEvent,Entity), it is really difficult to carry out a certain business logic, please?
Background: @tonycody, I am very thankful that you reach out to us.  Much appreciated. Please understand that every single line we add to the public API becomes a liability and maintenance burden we need to carry for decades. Given that the Log4j API is already pretty bloated, we need to justify every single new thing we are about to add.

I understand, as I said above. Adding this feature does not affect the current framework design. But it adds a lot of possibilities for extensions.

@vy
e.g.
@Override
    public void insertObject(LogEvent event, NoSqlObject<Map<String, Object>> object) {
        LogMetaData  logMeta= LogMapper.INSTANCE.mapping(builder.getAppName(), object);
        StringWriter sw  = new StringWriter();
        event.getThrown().printStackTrace(new PrintWriter(sw));
        logMeta.setContent(sw);
    }

@vy I looked at the log4j redis Appender mentioned above, and it's actually a different scenario. The implementation mentioned above is based on Appender, which also uses LogEvent, but the Appender interface provides LogEvent.
It's interesting to note that the NoSql extension is actually a sub-implementation of the Appender class, but it's categorised in the form of NoSql, but it doesn't include the LogEvent pass.
This doesn't really make sense to me!
It feels more logical to provide a method to pass LogEvent in org.apache.logging.log4j.core.appender.nosql.NoSqlObject.
Instead, Appender filters out LogEvent passing at the NoSql level.

@tonycody,
I think we hit an XY problem in this discussion. Could you explain plainly (without technical details) what are you trying to achieve?
From you code example I can not guess whether:

you want to modify the JSON-y object, before it is sent to the database?
you want to observe the events that are logged and perform some action based on them?
you are not satisfied with the way a Throwable is converted to JSON?
you want to make your plugin usable by users of other NoSQL databases?

Let's focus on the origin of the problem and only then choose the best technical solution.

@vy I looked at the log4j redis Appender mentioned above, and it's actually a different scenario. The implementation mentioned above is based on Appender, which also uses LogEvent, but the Appender interface provides LogEvent.

To send log events to a resource you need to implement Appender. It is also advised to extend AbstractManager to prevent your appender from losing events during reconfiguration. The reset is pretty much up to you.

It's interesting to note that the NoSql extension is actually a sub-implementation of the Appender class, but it's categorised in the form of NoSql, but it doesn't include the LogEvent pass.
This doesn't really make sense to me!

Yes, NoSqlAppender is an implementation of Appender with a fixed way to convert a log event into a JSON-y object.
Similarly to XmlLayout, HtmlLayout, JsonLayout and YamlLayout (but unlike JsonTemplateLayout) it gives you only a limited set of configuration options regarding the formatting of the event.

@tonycody,
I think we hit an XY problem in this discussion. Could you explain plainly (without technical details) what are you trying to achieve?
From you code example I can not guess whether:

you want to modify the JSON-y object, before it is sent to the database?
you want to observe the events that are logged and perform some action based on them?
you are not satisfied with the way a Throwable is converted to JSON?
you want to make your plugin usable by users of other NoSQL databases?

Let's focus on the origin of the problem and only then choose the best technical solution.

@vy I looked at the log4j redis Appender mentioned above, and it's actually a different scenario. The implementation mentioned above is based on Appender, which also uses LogEvent, but the Appender interface provides LogEvent.

To send log events to a resource you need to implement Appender. It is also advised to extend AbstractManager to prevent your appender from losing events during reconfiguration. The reset is pretty much up to you.

It's interesting to note that the NoSql extension is actually a sub-implementation of the Appender class, but it's categorised in the form of NoSql, but it doesn't include the LogEvent pass.
This doesn't really make sense to me!

Yes, NoSqlAppender is an implementation of Appender with a fixed way to convert a log event into a JSON-y object. Similarly to XmlLayout, HtmlLayout, JsonLayout and YamlLayout (but unlike JsonTemplateLayout) it gives you only a limited set of configuration options regarding the formatting of the event.

My scenario is to write the stack information resolved by the method java.lang.Throwable#lockedPrintStackTrace to the NoSql data source. Therefore, I need to get the Throwable object when implementing the log4j NoSql Provider.
Currently, the NoSqlDatabaseManager is based on Appender implementation and then the LogEvent is lost. As a result, the class that implements NoSql can't get the LogEvent object, so it can't get the Throwable object!

My scenario is to write the stack information resolved by the method java.lang.Throwable#lockedPrintStackTrace to the NoSql data source. Therefore, I need to get the Throwable object when implementing the log4j NoSql Provider.

If I understand you correctly, you don't like the way this code serializes the Throwable:
https://github.com/apache/logging-log4j2/blob/67479ee93c94038f43b10081f3d86b742b4ef0f5/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/nosql/NoSqlDatabaseManager.java#L217-L237
and you want to do it in a different way?
There is already a hook for that: a NoSqlAppender can also have a Layout component. All you need is a layout that transforms LogEvent into whatever you want:
@Plugin(name = "MyNoSqlLayout", category = Node.CATEGORY)
public class MyNoSqlLayout extends AbstractLayout<MapMessage<?, ?>> {

    private Map<String, ?> toMap(LogEvent event) {
        /*
         * Put your logic here.
         */
    }

    public MyNoSqlLayout(Configuration configuration) {
        super(configuration, null, null);
    }

    @Override
    public byte[] toByteArray(LogEvent event) {
        return toSerializable(event).getFormattedMessage().getBytes();
    }

    @Override
    public MapMessage<?, ?> toSerializable(LogEvent event) {
        return new MapMessage<>(toMap(event));
    }

    @Override
    public String getContentType() {
        return "text/plain";
    }
}

and add it to the NoSql appender:
<NoSql name="NoSql">
    ...
    <MyNoSqlLayout/>
</NoSql>

We have considered this scenario, but this scenario means that the user must use a custom Layout! Essentially, adding LogEvent to an interface or NoSqlObject to be passed through is not a big deal, from a global point of view.LogEvent should be supported outside of the NoSqlManager extension, since Appender itself has it, so why would NoSqlManger extend Appender after is not supported after NoSqlManger extends Appender?

We have considered this scenario, but this scenario means that the user must use a custom Layout! Essentially, adding LogEvent to an interface or NoSqlObject to be passed through is not a big deal, from a global point of view.LogEvent should be supported outside of the NoSqlManager extension, since Appender itself has it, so why would NoSqlManger extend Appender after is not supported after NoSqlManger extends Appender?

[NoSqlManager does not implement the Appender interface, NoSqlAppender does]
There is a separation of concerns between an AbstractManager and Layout: the layout transforms the event into a form suitable for the manager (e.g. byte[] for managers based on OutputStream or MapMessage for `NoSqlManager), while the manager only needs to persist the data to permanent storage.
Although all appenders have a default layout, users of output stream based appenders almost always specify their own layout. I don't think that users of NoSQL-based appenders would be surprised by this fact.
If you don't like the form of the default layout used by NoSqlAppender (which is essentially the same as those used by XmlLayout, JsonLayout and YamlLayout), please open a discussion to allow other users to express their preferences. There are certainly more standard ways to represent a logging event than a serialization of the LogEvent interface.

👌Thank you!


Move grpc common examples here

Move C/C++ based language examples from grpc-common repo to the examples directory under this repo.

I signed it!

This PR has no changes to existing code, it just adds samples docs and code; the tests failures are unrelated.


Obvious Fix: Added spring-boot-configuration-processor

To generate @ConfigurationProperties metadata
Fixes #247

@iNikem Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

Should I sign CLA or this qualifies as Obvious fix?

@iNikem please sign the CLA - then we can review and merge.

@iNikem Thank you for signing the Contributor License Agreement!

@sobychacko done


Distributed training error on Nuscene Dataset

Hi, thanks for the excellent work!
But the error below occured when I run this command CUDA_VISIBLE_DEVICES=0,1./tools/dist_train.sh configs/pointpillars/hv_pointpillars_fpn_sbn-all_4x8_2x_nus-3d.py 2
Traceback (most recent call last):
  File "./tools/train.py", line 170, in <module>
    main()
  File "./tools/train.py", line 166, in main
    meta=meta)
  File "/home/private/Software/mmdetection/mmdet/apis/train.py", line 150, in train_detector
    runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 47, in train
    for i, data_batch in enumerate(self.data_loader):
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 279, in __iter__
    return _MultiProcessingDataLoaderIter(self)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 719, in __init__
    w.start()
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/process.py", line 112, in start
    self._popen = self._Popen(self)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
    self._launch(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle dict_keys objects

Is there any solutions to solve this problem?
my mmdet3d version is 0.6.1

Please follow the issue template to describe your problem. We need more information like the version of mmdet and environment.

Sorry to bother you again, the more detailed information is listed below:
Environment
sys.platform: linux
Python: 3.7.9 (default, Aug 31 2020, 12:42:55) [GCC 7.3.0]
CUDA available: True
GPU 0,1,2,3: Tesla V100-PCIE-32GB
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GCC: gcc (Ubuntu 7.5.0-6ubuntu2) 7.5.0
PyTorch: 1.5.0+cu101
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v0.21.1 (Git Hash 7d2fd500bc78936d1d648ca713b901012f470dbc)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.1
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.3
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_INTERNAL_THREADPOOL_IMPL -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

TorchVision: 0.6.0+cu101
OpenCV: 4.4.0
MMCV: 1.1.5
MMCV Compiler: GCC 7.3
MMCV CUDA Compiler: 10.1
MMDetection: 2.5.0
MMDetection3D: 0.6.1+1c2dde8

Error traceback
Traceback (most recent call last):
  File "./tools/train.py", line 170, in <module>
    main()
  File "./tools/train.py", line 166, in main
    meta=meta)
  File "/home/private/Software/mmdetection/mmdet/apis/train.py", line 150, in train_detector
    runner.run(data_loaders, cfg.workflow, cfg.total_epochs)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
    epoch_runner(data_loaders[i], **kwargs)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 47, in train
    for i, data_batch in enumerate(self.data_loader):
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 279, in __iter__
    return _MultiProcessingDataLoaderIter(self)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 719, in __init__
    w.start()
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/process.py", line 112, in start
    self._popen = self._Popen(self)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/context.py", line 284, in _Popen
    return Popen(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_fork.py", line 20, in __init__
    self._launch(process_obj)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/home/private/Software/anaconda3/envs/open-mmlab/lib/python3.7/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle dict_keys objects

This error message is a little strange and seldom encountered. I just briefly search for some related information. Please do not use interactive shells? Or try to reduce num_workers to be 0?
BTW, about the environment, maybe the gcc version is a little higher, but I guess it is not the key problem to this error.

Please reopen it if there is any further question.

I got the same error with customized config in distributed training.
environment information:
sys.platform: linux
Python: 3.7.10 (default, Jun  4 2021, 14:48:32) [GCC 7.5.0]
CUDA available: True
GPU 0,1: TITAN Xp
CUDA_HOME: /usr/local/cuda-10.2
NVCC: Cuda compilation tools, release 10.2, V10.2.89
GCC: gcc (GCC) 5.2.0
PyTorch: 1.5.1
PyTorch compiling details: PyTorch built with:
  - GCC 7.3
  - C++ Version: 201402
  - Intel(R) Math Kernel Library Version 2020.0.2 Product Build 20200624 for Intel(R) 64 architecture applications
  - Intel(R) MKL-DNN v0.21.1 (Git Hash 7d2fd500bc78936d1d648ca713b901012f470dbc)
  - OpenMP 201511 (a.k.a. OpenMP 4.5)
  - NNPACK is enabled
  - CPU capability usage: AVX2
  - CUDA Runtime 10.2
  - NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
  - CuDNN 7.6.5
  - Magma 2.5.2
  - Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_INTERNAL_THREADPOOL_IMPL -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,

TorchVision: 0.6.0a0+35d732a
OpenCV: 4.5.3
MMCV: 1.3.9
MMCV Compiler: GCC 5.2
MMCV CUDA Compiler: 10.2
MMDetection: 2.14.0
MMSegmentation: 0.14.1
MMDetection3D: 0.15.0+

it works successfully in single gpu, while in mulit-gpu, it can't work.

@ZCMax Hello zcmax!
Does this problem have been solved in the latest version?

Since reducing num_workers to be 0 will increase the model training time, is there any other solution?

@ZCMax Hello zcmax!
I am facing the same problem. Is there any solution?

Same problem, set num_workers to 0 works, but any other better solution?

Same problem, set num_workers to 0 works, but any other better solution?

Add torch.multiprocessing.set_start_method('fork') in train.py, like this:
if __name__ == '__main__':
    torch.multiprocessing.set_start_method('fork')
    main()

Thanks, this works for me.

Same problem, set num_workers to 0 works, but any other better solution?

Add torch.multiprocessing.set_start_method('fork') in train.py, like this:
if __name__ == '__main__':
    torch.multiprocessing.set_start_method('fork')
    main()

Thaks, this work for me too. It's much better since the speed remains. But how does this error occur? Is there some inproper configuration? My env is CUDA11.3+pytorch1.11+python3.7，with 4 GeForce RTX 3080

Same problem! But it solves with this
if name == 'main':
torch.multiprocessing.set_start_method('fork')
main()

C:\Users\user.conda\envs\mmdeteceion3d\lib\site-packages\mmcv_init_.py:20: UserWarning: On January 1, 2023, MMCV will release v2.0.0, in which it will remove components related to the training process and add a data transformation module. In addition, it will rename the package names mmcv to mmcv-lite and mmcv-full to mmcv. See https://github.com/open-mmlab/mmcv/blob/master/docs/en/compatibility.md for more details.
warnings.warn(
Traceback (most recent call last):
File "tools/train.py", line 245, in
torch.multiprocessing.set_start_method('fork')
File "C:\Users\user.conda\envs\mmdeteceion3d\lib\multiprocessing\context.py", line 247, in set_start_method
self._actual_context = self.get_context(method)
File "C:\Users\user.conda\envs\mmdeteceion3d\lib\multiprocessing\context.py", line 239, in get_context
return super().get_context(method)
File "C:\Users\user.conda\envs\mmdeteceion3d\lib\multiprocessing\context.py", line 193, in get_context
raise ValueError('cannot find context for %r' % method) from None
ValueError: cannot find context for 'fork'

For those who cannot use 'fork' and do not want to set num_workers=0, there is a simple solution to this: wrap any attribute in your dataloader generated by .keys() with the list() method.
The problem happens because multiprocessing by spawn tries to pickle your dataloader class and your dataloader class has attributes that cannot be pickled. In this case dict_keys objects (note that dictionary objects are fine).
Such as in reference 2:
replace
self.classes = data_dict.keys()
with
self.classes = list(data_dict.keys())
If you cannot find any attribute assigned with .keys(), you may use nuscenes.eval.detection.config or nuscenes.eval.tracking.config, their implementation uses
https://github.com/nutonomy/nuscenes-devkit/blob/932064c611ddfe06e3d1fadea904eb365482a03b/python-sdk/nuscenes/eval/detection/data_classes.py#L39
and
https://github.com/nutonomy/nuscenes-devkit/blob/932064c611ddfe06e3d1fadea904eb365482a03b/python-sdk/nuscenes/eval/tracking/data_classes.py#L47
You can wrap them with the list() method in the nuscenes package or in your dataloader.
If this is still not the case, check reference 1 for detail process of how to debug this problem (in Chinese).
Reference:
[1] https://blog.csdn.net/XCCCCZ/article/details/134295931
[2] https://discuss.pytorch.org/t/dataloader-multiprocessing-error-cant-pickle-odict-keys-objects-when-num-workers-0/43951/16


Mismatch analysis in Histogramm

The histogramm does not support mismatch analysis.
To display a barplot with different colors depending on the mismatch of the adapter will be interesting to add!

It is added! :smiley:


Different hash with the same object (but without the same attribute order)

Hi,
Just for the records, I had an issue when hashing two "same" objects. It appeared that an object order its attributes in the order they are added to it. Moreover, this hash() function will vary depending on the attribute order. It means that my two "same" objects (containing the same attributes and values) where giving a different hash.
My solution to this was to use Object.entries(myObject).sort() like this:
// Two objects containing the same data, but differents by construction
let toto = {a: 1, b: 2};
let titi = {b: 2, a: 1};

// End up with a different hash output
console.log(hash(toto)); // AAAAAA
console.log(hash(titi)); // BBBBBB

// Let sort the attributes
toto = Object.entries(toto).sort(); // [[a, 1],[b,2]]
titi = Object.entries(titi).sort(); // [[a, 1],[b,2]]

// Same output ! :D
console.log(hash(toto)) // CCCCCC
console.log(hash(titi)) // CCCCCC

@henricazottes Can you check which version of object-hash you are using? This has been fixed a long long time ago, I think…

Version 1.2.0 is still having the same issue.

Closing due to lack of follow-up, please let me know if that is mistaken

I don't know why I had the version 1.1.8 installed. I tried with version 1.2 and it seems to work fine (at least with simple objects. Didn't try with nested ones).


Sign Retaining does not work with modded Signs

Signs added by mods, such as Ecologics, Farmer's Delight, Terrestria, Traverse, Cinderscapes, Improved End do not support Sign Retaining. Rest of the features seem to work.
An item/block whitelist option might be needed to avoid manually supporing every single mod.

This would be quite nice to have for a modpack I am building right now. the mod https://modrinth.com/mod/signoddities can do this already (tested for farmers delight signs). It even works from vanilla to FD and back, though it can't do colors.
It would be nice to have this functionality ported over.

The main issue with supporting content mods is that they don't tend to keep up with Minecraft updates, but rather stick to a single version for a long time. I'm currently maintaining this mod on the latest version of Minecraft at any given time, so adding explicit compatibility for other mods gets tricky when I go to update to a new version and they have no plans to do so.
I try to make the implementation of features as generic as possible so most things will work with modded signs out of the box. In the case of Sign Retaining, it currently relies on loot tables for saving the text and a crafting recipe for resetting the signs. I'm not aware of a way to implement that in a generic way, but maybe I missed something.


Added an effect to remove the underline of an editor in android EditT…

Changes Proposed in this pull request:
Added an effect to hide the underline of an editor.

@mohaider is this one different from the one we already have? https://github.com/FormsCommunityToolkit/FormsCommunityToolkit/blob/dev/src/Effects/Effects.Android/Effects/Entry/EntryRemoveLine.cs
Have not yet checked your code though... any idea?

Hmm, it appears the they both do the same thing, although the one commited sets the drawable to null whereas the EntryRemoveLine sets a new drawable with a transparent color. I'll test to see if this functions similarly.


Returning a "full ARG"

Would it be possible to have SINGER output the "full ARG" with marked recombination nodes (similar to that from msprime)? This would require maintaining unary nodes in the tree sequence, such as recombination nodes and coalescent nodes within other trees. In the below example, I've colored the recombination nodes yellow and the unary coalescent nodes red. Because more nodes are included in the msprime format, the ancestral node labels will most likely change during the conversion.

From our conversation earlier today, it seems like the information may be there already but it could take some work to get it in the correct format.

Hi @kitchensjn, I think I will start the discussion by saying that the way the SPGR is defined can be used to find these unary nodes. Suppose the cut happens exactly at a branch at its lower node, then the way the cut extends leftwards/rightwards tells us about the branch location and spatial extent of it. So the information is definitely sufficient. The only thing which might be of concern is how to pull this out efficiently, as it will be a much bigger graph.

Sorry, thought that I had responded! Thank you for looking into this. Please let me know if I can help in any way!

Going off Figure S3 (if I'm following your steps), that should work. I can definitely take a stab at that and see if I run into any snags. The trickiest part then seems like it will be keeping track of the edge spans for partial edges as more SPR moves are added, but we will at least have the connections. Sounds like a good starting point. Thank you!

Hi @kitchensjn let's maybe first discuss the conceptual implementation first. So here is my proposed solution:

(a) would be the information I provided for now out of SINGER.
(b) Now I will extend the coalescence nodes. Note that 0, 1, 2, 3 are leaf nodes so forget about them. 4 and 8 persist in all 3 trees so forget about them too. For example, 7 can be extended rightward, and 5 can be extended both ways.
(c) next I will extend the recombination nodes x and y. The procedure is the same as in (b).
The extension rules are in Fig S7. Let me know if you agree with them, and then we can think about how to best implement this in a program.

One note is that tskit represents recombination nodes with two IDs, associated left versus right parental edge. This could be potentially solved during the extension phase where trees to the left of the SPR are given the node label y1 and trees to the left are y2 (I believe that captures it but may be missing something). So trees 1 and 2 would have y1 and tree 3 would have y2 to show that the parent is different. This could also be incorporated during the tskit conversion phase if that is not possible. The tskit-dev group may have opinions on this and whether it is important. The output of part 3 otherwise looks perfect!

Hi @kitchensjn thanks for the insight, you are right about the tskit format. I am curious whether that "splitting" features matters for your project or not. If not, I am sure the conversion to tskit should succeed even without the "splitting". The only concern I had is that your programs will be dependent on this subtlety. Could you let me know how your program works and comment on do you need that feature? Or just a generic graph structure should work for you?

One note is that tskit represents recombination nodes with two IDs, associated left versus right parental edge

I think this might be an msprime oddity rather than a tskit thing -- that is, I don't think there's anything incorrect about having a single unary node for the recomb event. Would be good to get Jerome's input though.

^^^ Yeah Nate's points exactly. I am very confident about the conversion without worrying about the recombination ID. It is just whether it is important for James' project.

Could you let me know how your program works and comment on do you need that feature? Or just a generic graph structure should work for you?

Our code currently assumes that we are using a two ID format since we've solely been working from msprime/SLiM outputs, though this should not be difficult to change (I'll just add an extra "format" parameter). So I'm all for providing the generic graph it that makes it easier, and then we can make the necessary modifications on our end.
The only structures that aren't generally preserved in that generic graph format are "diamonds" due to how the tskit edge table is organized. That is more of an edge case and may not matter here.

Just to jump in here: the 2-node version is indeed an msprime oddity (see e.g. the margin-note at https://tskit.dev/tutorials/args.html#visualization), but is required for msprime to be able to calculate the full ARG likelihood. The explanation is at https://github.com/tskit-dev/msprime/issues/1942#issuecomment-1015287996.
We should have a built-in way to convert from a 2-RE-node to a 1-RE-node representation. If we want to be able to convert back again, we would need to store some extra node metadata, however.
By the way, if we stored separate edge and interval tables (rather than a single table with both parent/child and left/right data), then we wouldn't have this problem, because we could group multiple intervals into one edge from A->B and another set of intervals into a separate edge, also from A->B. This also suggests that representing an ARG as a multidigraph which can also have multiple intervals on each edge is probably the best way to think of storing the graph structure.


Declare Schema across multiple files?

I'm still pretty new to Swift, but would it be possible to declare objects and queries across multiple files?

I imagine you figured this out already. Yes you can declare each type in its own file.


Missing metrics for classification

For predict.py, it seems that the metics file contains classifier is missing. Could you include those or indicate their origin?
Thank you.

Hello,
I appreciate your interest.
You can download the metrics folder via this link.
Please let me know for any other questions.


Broken link in documentation

The link to the "WORDPAD" example is broken.

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

ID: e7b1a307-d4bf-367b-deae-839d76432099
Version Independent ID: 16347874-7a1a-159f-6731-b7cd9fa0f6d3
Content: Rich Edit Control Examples
Content Source: docs/mfc/rich-edit-control-examples.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

@techdude I don't know that I'd call it broken so much as not going directly where you might reasonably expect. The old MFC samples, including Wordpad, are available on GitHub in the VCSamples repo linked from the Visual C++ Samples page where the link now takes you.

Ah that's where it is. I figured it was broken because I spent about 10 minutes trying to find it and couldn't. Currently the  link goes to a page that has (among options that may make sense) Visual C++ samples, Visual Studio Samples, Windows Desktop code samples, MFC samples. All of these except "Visual C++" go to a search page where searching wordpad doesn't turn up anything, so after clicking through, searching, removing filters and scrolling through results, I figured it was moved.
The link should probably point at the most recent version of the wordpad example, or the version that matches the version closest to the version the person is looking at (in this case it was from the Visual Studio 2017 version of the documentation so it should go to the most recent version here). The other option would be to point it at the vcsamples repo so at least they can search for it. But right now it points to a page with 10 links, 9 of which direct the user away from what they wanted to find.

@techdude fixed per your suggestion. Should appear in a day or so. Thanks!


[feat]: [CDS-94021]: Fixed Import Command For Infrastructures in Docs.

Describe your changes:

Fixed Import command in Docs.

Comment Triggers

PR Check triggers

Build: trigger build
Sub Category Field Check: trigger subcategoryfieldcheck
gitleaks: trigger gitleaks

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


Derive macro refactor

The initial version was quick and dirty, and it worked fine, but there are some limitations that would make it unnecessarily difficult to implement certain features, for example: https://github.com/jprochazk/garde/issues/18, https://github.com/jprochazk/garde/issues/21, https://github.com/jprochazk/garde/issues/23#issuecomment-1491907614.
This PR refactors the derive macro for better composition of rules, and generally to introduce some structure into the chaos.

cargo outdated is a little too agressive, we probably don't want every PR to fail status checks because of a minor version bump. cargo audit already does the most important work, which is checking for security vulnerabilities, so it's probably fine to remove cargo outdated.


eventstore: 22.6.0 -> 22.10.0

Description of changes
Update to latest version available.
This new version uses .NET 6.0 to build, so it helps with https://github.com/NixOS/nixpkgs/issues/173115

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1467

Can you fix the tests that want to connect to the internet on darwin? Maybe we can just disable them. See ofborg logs for details.

Yeah, I tried, but have some problems with disabling them. I'll try again when I have the time, meanwhile if someone figures it out, let me know :)

I added the skips and also during that improved the disabledTests argument a bit, this PR is now ready to merge

Result of nixpkgs-review pr 202571 run on aarch64-darwin 1

1 package marked as broken and skipped:

msbuild

2 packages failed to build:

jellyfin
netcoredbg

6 packages built:

boogie (dotnetPackages.Boogie)
btcpayserver
formula
jackett
nbxplorer
omnisharp-roslyn

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1718

BeatSaberModManager already fails on master


fix(dicom): clean up dicom files

So the assumption that itk-wasm clean ups the files it copies over is wrong! Add the necessary clean up.
Fixes: #135

LGTM! Good catch!


Api drive pagers

Replacement for https://github.com/alcionai/corso/pull/4316 after revert in https://github.com/alcionai/corso/pull/4412.

Does this PR need a docs update or release note?

[x] :no_entry: No

can you please explain the plan for this? At the moment it's an empty PR after #4412 merged

@ashmrtn well, this is supposed to revert the revert.  Shouldn't be blank.  I'm probably failing my git-fu.  Let me try again.


ci: pre-commit for typos, formatting, sanity-checks

This PR establishes some early avoidance of typos, formatting churn, etc.
I'm embarrassed by typos, so I've added a cspell pre-commit as well (figuring that the toil of adding new dictionary words is better than the humiliation of typos fixing typos)
Likely will add python and bazel formatters as needed.

Thanks!


Add support for Python 3.12, drop EOL 3.7

Support for 3.12 and 3.13 were added in https://github.com/pypa/installer/pull/201. Resolved conflict and retitled.

Thank you for that.


Save the json files

The issue:
Currently I'm trying to implement Cypress and Testrail integration. In order to do that, I am planning to use this reporter. But as long as cypress-mochawesome-reporter delete the initial json files with the results, I'm unable to continue.
Question/Feature I'd like to see:
Any way how I can save both the html report and initial json files?
Thanks in advance!

If that is an option and maybe it is easier to implement: instead of saving all initial json files, there is more sence to save one final json which has all initial json files merged.

Try like this:
{
  "reporterEnabled": "cypress-mochawesome-reporter, mocha-junit-reporter",
  "mochaJunitReporterReporterOptions": {
    "mochaFile": "cypress/results/xml/test-result-[hash].xml"
  },
  "cypressMochawesomeReporterReporterOptions": {
    "saveJson": true
  }
}

@LironEr Thank you, it works!
Great reporter, keep up what you are doing! :)


Broken Links

There are some broken links that have been identified during the developer workshop where I couldn't find any working equivalent or just don't know what the course of action might be.
Any comments or possible solutions/decisions are much appreciated and maybe someone from the community also knows of working alternatives.
The precise links (with additional comments) are as follows:
FILE: ./_projects/ema.md
https://github.com/umd-mith/ema/tree/master/Omas → Status: 404
Might it be sufficient to just link to the ema repo?
FILE: ./_projects/meico.md
http://www.zemfi.de/resources/meico-mei-converter/ → Status: 404
Couldn't find any working alternative. Should this link just be deleted?
FILE: ./_posts/2015-07-21-mec-2016-call.md
http://music-encoding.org/community/conference/call-for-proposals/ → Status: 404
http://music-encoding.org/community/conference/ → Status: 404
FILE: ./_posts/2016-11-21-elections.md
http://music-encoding.org/community/mei-organization/mei-by-laws/ → Status: 404
FILE: ./_posts/2015-06-17-mec-2016-dates.md
http://music-encoding.org/community/conference/ → Status: 404
FILE: ./_posts/2017-03-14-mec-2017-program.md
http://music-encoding.org/community/conference/tours17/program/ → Status: 404
FILE: ./_posts/2016-10-14-mec-2017-call.md
http://music-encoding.org/community/conference/call-for-proposals/ → Status: 404
All those can be found on the News and Events page. I was wondering if we even still need those links/posts since the posts are not quite current anymore. So should we make an effort to replace them or can they just be deleted or archived, respectively?
FILE: ./community/mei-board/protocols/2017-05-17_Face-to-Face-Meeting-MEC2017-Tours.md
http://music-encoding.org/proceedings → Status: 404
Is there a site where the proceedings workflow is documented? – I couldn't find any.
Otherwise is this even needed anymore?
FILE: ./community/mei-board/elections/2018/candidates.md
https://sites.google.com/fcsh.unl.pt/elsadeluca/online-publications?authuser=0 → Status: 404
Do we still need this link? Otherwise maybe we should link to: https://sites.google.com/fcsh.unl.pt/elsadeluca/publications#h.p_sC0zG9ee-Sy9
FILE: ./conference/hosting-guidelines.md
http://music-encoding.org/community/ → Status: 404
http://music-encoding.org/community/conference → Status: 404
What could be an alternative? For the first link maybe just a link to the "About" page?
./unused/downloads.md
http://www.music-encoding.org/schema/current/mei-CMN.rng → Status: 404
http://www.music-encoding.org/schema/current/mei-Mensural.rng → Status: 404
http://www.music-encoding.org/schema/current/mei-Neumes.rng → Status: 404
http://www.music-encoding.org/schema/current/mei-all.rng → Status: 404
http://www.music-encoding.org/schema/current/mei-all_anyStart.rng → Status: 404
http://music-encoding.org/wp-content/uploads/2015/04/sampleEncoding.jpg → Status: 404
http://music-encoding.org/wp-content/uploads/2015/04/sampleEncoding-300x176.jpg → Status: 404
./unused/community.md
http://music-encoding.org/community/mei-organization/mei-board/ → Status: 404
http://music-encoding.org/community/mei-organization/technical-team/ → Status: 404
http://music-encoding.org/community/mei-organization/mei-by-laws/ → Status: 404
./unused/organization.md
https://music-encoding.org/wordpress/?page_id=16 → Status: 404
https://music-encoding.org/wordpress/?page_id=18 → Status: 404
Should we even bother with those "unused" links?
https://music-encoding.org/conference/2021/code-of-conduct/
Is this just a matter of content to come?

The code for Omas now is actually here: https://github.com/music-addressability/ema-for-mei
For meico there seems to be no official site any more, so the complete last sentence should be removed.

Concerning meico: What about this? https://github.com/cemfi/meico/

@th-we There is link to the GitHub repo already, it was just about the missing project website.

For the 2016 conference posts, we could work with Wayback Machine that has snapshots of the CfP and Website:
2016:
https://web.archive.org/web/20150710210430/http://music-encoding.org/community/conference/
https://web.archive.org/web/20160505023112/http://music-encoding.org/community/conference/call-for-proposals/

The 2021 Code of Conduct is a placeholder to be filled soon.

CfP 2017: https://web.archive.org/web/20161020120633/http://music-encoding.org/community/conference/call-for-proposals/

Proceedings workflow is in a separate repo: https://github.com/music-encoding/mec-proceedings

Hosting guidelines:
Yes, a link to the About page for the first link comes closest to the previous content.
The second link should read https://music-encoding.org/conference

We should decide if we want to rely on Wayback Machine. If so, it would be cool if GitHub Actions could check there and directly replace broken links.

As far as I can see, the need to rely on Wayback Machine would only affect 5–10 links (since the original links are not available any more). As soon as these links are fixed, there would be no need for the GH actions to replace any fixed links, wouldn't it? (In general, it would be hard to detect automatically if any snapshot corresponds to the target state of a certain link.)

The image in the unused sample encodings page was a screenshot and encoding of "An die ferne Geliebte" op. 98:
https://web.archive.org/web/20170217074250/http://music-encoding.org/wp-content/uploads/2015/04/sampleEncoding.jpg
(in page context: https://web.archive.org/web/20161020115515/http://music-encoding.org/downloads/encodings/)

After talking to @axelberndt , the broken zemfi link could just link to the main webpage: http://www.zemfi.de/
He also proposed to move the whole meico section to Tools/Community Tools (what is not related to the current issue and should be done in another step)

Better use this link: https://github.com/cemfi/meico. It brings you directly to the tool.

I would propose to link to the webpage (http://www.zemfi.de/) since there is already a link to the code on GitHub in one of the previous sentences.

OK, agree.

with #219 closed this might be closed, too?

Yes, please.
Thank you @doerners , @rettinghaus , @th-we and @axelberndt for your support and contributions, esp. @doerners for manually identifying all the broken links!

Closed by #190 and #219


Set status to reviewed when a core-team member votes

There should be a kind of "rule" then to keep the regex simple since votes can be made on minor comments.

Same rule should apply to #7.
So 1 vote gets the status "reviewed" and two gets it "ready. What do you think?

Makes sense to me - we could try it first on the docs (a safer sandbox for testing workflows)

this should then also handle the case of -1 votes being a veto

Note that explicit -1 should veto, but review refusal should not be considered as veto

yeah, requesting changes on a review moves back to Needs work (there are already PRs for that), but does not block the later approval


Add jsx as a applicaiton dependency

Since lager_logstash_backend depends on jsx to work it should be an applicaiton dependency so tools like relx can resolve this requirement.

Thank you!


Formulas using PlantUML cannot display correctly

Can Asciidoctor-Kroki support formulas using PlantUML now?

Previously, with the asciidoctor-diagram plugin, the following formulas could be displayed:

After switching to Kroki, the formulas cannot be displayed correctly in both HTML and PDF.

I copyied the formulas from the PlantUML site (https://plantuml.com/ascii-math) to Kroki's test page (https://kroki.io/#try) ; it didn't display correctly."

But other PlantUML diagrams without formulas all display correctly.

This is actually a duplicate.
See: https://github.com/yuzutech/kroki/issues/442

I've read [https://github.com/yuzutech/kroki/issues/442], formulas still cannot be properly displayed, and no warnings or information was given.


Update OCR to remove textExtractionAlgorithm

textExtractionAlgorithm is no longer necessary and is going to become deprecated in the future.  Removing it here so people don't end up paying for OCR twice when they don't need to.

Is handwriting already included in the default Cognitive Skill? Or is this still in private preview?

We are updating the OCRSkill to use the Read API instead of the now deprecated RecognizeText API.  RecognizeText required the parameter be specified while Read API does not, meaning that Read API extracts both printed and handwriting.  Essentially you no longer need separate OCRSkills for printed/handwriting as both will now be extracted the same regardless of the selected algorithm.


[BUG] ForeignKey and non-ForeignKeys as unique generates extra constraint

Versions

sequelize: v5
sequelize-typescript: 1.1.0
typescript: 3.8.3

UPDATE: Just updated to latest version (v6) issue still persists

sequelize: ^6.5.0
sequelize-typescript: ^2.0.0
typescript: 3.8.3

I'm submitting a ...

[x] bug report
[ ] feature request

Actual behavior:

My many to many releationship is unique for a combination of 3 values (the 2 external id's and a date).
However any configuration creates a unique constraint on the 2 ForeignKeys. So this doesn't allow inserts even if that 3th value is different
Error:
ERROR:  duplicate key value violates unique constraint "ClubMemberships_playerId_clubId_key"
DETAIL:  Key ("playerId", "clubId")=(1, 1) already exists.
SQL state: 23505

Expected behavior:

if you have @PrimaryKey on ForeignKeys and non-Foreignkeys, no creation of a constraint on  those foreign keys. or a way to disable it.
I tried numerous combinations of @PrimaryKey, @Unique but non seem to give any correct result
Steps to reproduce:

Use the code below and .sync({force: true})
Related code:

@Table
export class ClubMembership extends Model<ClubMembership> {
  constructor(values?: Partial<ClubMembership>, options?: BuildOptions) {
    super(values, options);
  }

  @ForeignKey(() => Player)
  @Unique('unique_constraint')
  @Column
  playerId: string;

  @ForeignKey(() => Club)
  @Unique('unique_constraint')
  @Column
  clubId: string;

  @Unique('unique_constraint')
  @Column
  start: Date;

}

this generates:

If I would have the option to disable the automatic creation of the unique constraint I would be happy :)
note: I know I can remove that constraint via migrations, but this doesnt work for my tests

For other people coming across this issue, I've found a hacky way to resolve this:
By placing the following exact key on the start column : @Unique('ClubMemberships_clubId_playerId_unique').
it combined the 2 unique instances and gave the wanted result.
If you are having issues finding the unique string:

on node_modules/sequelize/lib/dialects/abstract/query-interface.js
Go to line: 205 (ctrl + G o on most editors)
insert console.log(tableName, options.uniqueKey) below

if (model) {
  options.uniqueKeys = options.uniqueKeys || model.uniqueKeys;
}

this will spit out each unique key when doing a sync

For other people coming across this issue, I've found a hacky way to resolve this:
By placing the following exact key on the start column : @Unique('ClubMemberships_clubId_playerId_unique').
it combined the 2 unique instances and gave the wanted result.
If you are having issues finding the unique string:

on node_modules/sequelize/lib/dialects/abstract/query-interface.js
Go to line: 205 (ctrl + G o on most editors)
insert console.log(tableName, options.uniqueKey) below

if (model) {
  options.uniqueKeys = options.uniqueKeys || model.uniqueKeys;
}

this will spit out each unique key when doing a sync


add print function

Description

Types of changes

[x] Bug fix or improving code quality
[ ] New language
[ ] New feature

Checklist:

[ ] My code follows the code style of this project.
[x] I have updated the documentation accordingly.

Add a print function


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v5.5 to before v5.15.6",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=efc2214b6047b6f5b4ca53151eba62521b9452d6",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=992ba40a67638dfe2772b84dfc8168dc328d5c4c"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "efc2214b6047b6f5b4ca53151eba62521b9452d6",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "992ba40a67638dfe2772b84dfc8168dc328d5c4c",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "ice: fix vsi->txq_map sizing\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.15.6 by commit 992ba40a67638dfe2772b84dfc8168dc328d5c4c, it was introduced in version v5.5 by commit efc2214b6047b6f5b4ca53151eba62521b9452d6. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002536