[BUG] ssh: handshake failed: connection reset by peer connect: connection refused

General information

OS: macOS
Hypervisor: hyperkit
Did you run crc setup before starting it (Yes/No)? Yes
Running CRC on: Laptop

CRC version
$ crc version
CodeReady Containers version: 1.28.0+08de64bd
OpenShift version: 4.7.13 (not embedded in executable)

CRC status
$ crc status --log-level debug
DEBU CodeReady Containers version: 1.28.0+08de64bd
DEBU OpenShift version: 4.7.13 (not embedded in executable)
DEBU Running 'crc status'
DEBU Checking file: /Users/b/.crc/machines/crc/.crc-exist
DEBU Checking file: /Users/b/.crc/machines/crc/.crc-exist
DEBU Found binary path at /Applications/CodeReady Containers.app/Contents/Resources/crc-driver-hyperkit
DEBU Launching plugin server for driver hyperkit
DEBU Plugin server listening at address <IP_ADDRESS>:57271
DEBU () Calling .GetVersion
DEBU Using API Version 1
DEBU () Calling .SetConfigRaw
DEBU () Calling .GetMachineName
DEBU (crc) Calling .GetState
DEBU (crc) Calling .GetBundleName
DEBU Making call to close driver server
DEBU (crc) Calling .Close
DEBU Successfully made call to close driver server
DEBU Making call to close connection to plugin binary
CRC VM:          Stopped
OpenShift:       Stopped (v4.7.13)
Disk Usage:      0B of 0B (Inside the CRC VM)
Cache Usage:     11.21GB
Cache Directory: /Users/b/.crc/cache
DEBU Running 'sw_vers -productVersion'

CRC config
$ crc config view
- consent-telemetry                     : yes

Host Operating System
$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.15.7
BuildVersion:	19H1217

Steps to reproduce

$ crc setup
$ crc start -p ~/Downloads/pull-secret.txt
$ crc console

Expected
OpenShift Console is opened in browser
Actual
Container didn't start
Logs
Before gather the logs try following if that fix your issue
$ crc delete -f
$ crc cleanup
$ crc setup
$ crc start --log-level debug

log is here:
https://gist.github.com/SanSan-/4d80b3c3a85def60f23e17c69cc60c21

It seems that hyperkit crashed. Can you try to start it again and look at the file ~/.crc/machines/crc/console-ring ?

@guillaumerose new log with console-ring log (from line 728):
https://gist.github.com/SanSan-/3ae752950d2e6b8f7e0171b5cd7bae26

The VM seems to start for the second run but the cluster doesn't come up.
Can you try to ssh on the VM ( https://github.com/code-ready/crc/wiki/Debugging-guide) and try to see provide following details?
$ systemctl status kubelet
$ sudo crictl ps -a
$ sudo journalctl -u kubelet

@guillaumerose
DEBU (crc) Calling .Start
DEBU (crc) DBG | time="2021-06-24T21:36:34+03:00" level=debug msg="Using hyperkit binary from /Applications/CodeReady Containers.app/Contents/Resources/hyperkit"
DEBU (crc) DBG | time="2021-06-24T21:36:35+03:00" level=debug msg="Starting with cmdline: BOOT_IMAGE=(hd0,gpt3)/ostree/rhcos-3d116c3f18e7d4dc21dcc5953f042877c035e09e54b687268aefc4db876faf32/vmlinuz-4.18.0-240.22.1.el8_3.x86_64 random.trust_cpu=on console=tty0 console=ttyS0,115200n8 ignition.platform.id=qemu ostree=/ostree/boot.1/rhcos/3d116c3f18e7d4dc21dcc5953f042877c035e09e54b687268aefc4db876faf32/0 root=UUID=1157d507-2596-4188-a8cc-adb244bf7be1 rw rootflags=prjquota"
DEBU (crc) DBG | time="2021-06-24T21:36:39+03:00" level=debug msg="Trying to execute /Applications/CodeReady Containers.app/Contents/Resources/hyperkit -A -u -F /Users/b/.crc/machines/crc/hyperkit.pid -c 4 -m 9216M -s 0:0,hostbridge -s 31,lpc -U c3d68012-0208-11ea-9fd7-f2189899ab08 -s 1:0,virtio-blk,file:///Users/b/.crc/machines/crc/crc.qcow2,format=qcow -s 2,virtio-sock,guest_cid=3,path=/Users/b/.crc/machines/crc -s 3,virtio-rnd -l com1,autopty=/Users/b/.crc/machines/crc/tty,log=/Users/b/.crc/machines/crc/console-ring -f kexec,/Users/b/.crc/cache/crc_hyperkit_4.7.13/vmlinuz-4.18.0-240.22.1.el8_3.x86_64,/Users/b/.crc/cache/crc_hyperkit_4.7.13/initramfs-4.18.0-240.22.1.el8_3.x86_64.img,earlyprintk=serial BOOT_IMAGE=(hd0,gpt3)/ostree/rhcos-3d116c3f18e7d4dc21dcc5953f042877c035e09e54b687268aefc4db876faf32/vmlinuz-4.18.0-240.22.1.el8_3.x86_64 random.trust_cpu=on console=tty0 console=ttyS0,115200n8 ignition.platform.id=qemu ostree=/ostree/boot.1/rhcos/3d116c3f18e7d4dc21dcc5953f042877c035e09e54b687268aefc4db876faf32/0 root=UUID=1157d507-2596-4188-a8cc-adb244bf7be1 rw rootflags=prjquota"
DEBU (crc) DBG | time="2021-06-24T21:36:39+03:00" level=debug msg="error: Temporary Error: hyperkit not running yet - sleeping 1s"
DEBU (crc) DBG | time="2021-06-24T21:36:40+03:00" level=debug msg="retry loop 1"
DEBU (crc) DBG | time="2021-06-24T21:36:40+03:00" level=debug msg="error: Temporary Error: hyperkit not running yet - sleeping 1s"
DEBU (crc) DBG | time="2021-06-24T21:36:41+03:00" level=debug msg="retry loop 2"
DEBU (crc) DBG | time="2021-06-24T21:36:41+03:00" level=debug msg="non-retriable error: error reading pidfile /Users/b/.crc/machines/crc/hyperkit.pid: parsing /Users/b/.crc/machines/crc/hyperkit.pid: strconv.Atoi: parsing \"\": invalid syntax"
DEBU Making call to close driver server
DEBU (crc) Calling .Close
DEBU Successfully made call to close driver server
DEBU Making call to close connection to plugin binary
DEBU Making call to close driver server
DEBU (crc) Calling .Close
DEBU Successfully made call to close driver server
DEBU Making call to close connection to plugin binary
DEBU (crc) DBG | time="2021-06-24T21:36:41+03:00" level=debug msg="Closing plugin on server side"
DEBU Running 'sw_vers -productVersion'
Error starting machine: Error in driver during machine start: VM failed to start: Temporary Error: hyperkit not running yet
Temporary Error: hyperkit not running yet
error reading pidfile /Users/b/.crc/machines/crc/hyperkit.pid: parsing /Users/b/.crc/machines/crc/hyperkit.pid: strconv.Atoi: parsing "": invalid syntax

$ crc ip
<IP_ADDRESS>
$ ssh -i ~/.crc/machines/crc/id_ecdsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null<EMAIL_ADDRESS>ssh: connect to host <IP_ADDRESS> port 22: Connection refused
$ ssh -i ~/.crc/machines/crc/id_ecdsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null  core@<IP_ADDRESS>:2222
ssh: Could not resolve hostname <IP_ADDRESS>:2222: nodename nor servname provided, or not known

maybe should i need to install something besides crc?

I don't really find a good reason why it fails. Perhaps you can try to run crc cleanup, crc setup and try to start again.
The tray should be running when you run crc start.


Speaker timestamping sometimes fails

System Info
Macbook Pro M1
Transformers.js V3
Environment/Platform

[X] Website/web-app
[ ] Browser extension
[ ] Server-side (e.g., Node.js, Deno, Bun)
[ ] Desktop app (e.g., Electron)
[ ] Other (e.g., VSCode extension)

Description
I've been trying to transcribe the presidential debate between Trump and Biden. I'm using the following V3 WebGPU pipeline:

Whisper with timestamping (whisper-medium.en_timestamp)
Speaker diarization
(in a single promise pass, based on the example code)

followed by

Speaker verification (512 vector)

This generally works well if I pass in simple, spaced out commands.
But Trump and Biden are talking fast and without much silence in between their sentences, so the VAD is sometimes forced to cut the recording buffer into chunks, and send that to Whisper early. I'm currently doing that if the recording gets longer than 8 seconds.
The 8-second chunks are transcribed just fine. However, their timestamps are incorrect. They are all 18.02. If there are multiple segments (multiple speakers), then assigning text to a specific speaker becomes tricky.

What could be causing this?
I tried to see if there is some "the audio array has to be a precise multiple of" requirement for Whisper timestamped, but could not spot any.
Reproduction
I'm not entirely sure yet, as it happens intermittently.
I wonder if it happens when it's given an audio array that starts mid-sentence. I've also tried padding the ends of the audio array with zeros, but that resulted in errors.
I've now modified the VAD to wait with cutting off the audio until it detects a single audio frame of silence. This may have led to some improvement, I'm testing that now.

After more testing I think it was related to feeding it audio that didn't start with silence. While it still fails sometimes, it does so way less frequently now.

I've learnt a bit more about how things interact between the diarization pipeline and whisper timestamped.  This is because I've added the ability to transcribe audio and video files, which has greatly simplified testing, and has made it very repeatable.
With a 4 minute test cut of the Trump-Biden debate this is what I'm seeing:

Even with one long continuous audio array the timestamping issue still occurs. More importantly, I now understand what's going on. It happens when the model tries to place sentences at the edge of segments. The issue is basically that the segments and the sentence timestamps initially don't agree with there they end.
Squeezing
Let's say it 'wants' the sentence to fit in segment 3, but the sentence would run over into the next segment, then it tries to 'sqeeze' the sentence data to fit inside the remaining time available in the segment. While all the sentence's timestamps will be affected, this happens more towards the latter words of the sentence. In this case the timestamps of the last word will almost certainly be the same, giving the words a duration of zero.
Elongation
The opposite can also happen. A sentence may technically start in segment 3, but some part of the model believes it should actually be in segment 4. So then it will oddly stretch out the sentence's timestamps. For example, suddenly the sentence "Thank you" will be 12 seconds long, if the word timestamps are to be believed. And most of that sentence will actually now have an overlap with the next segment.
I've written a lot of code that tries to detect this and then massage things into place.
But it gets more interesting.

Sometimes the first word of a sentence will be >>. This is very useful, as it indicates that one of the models believes this is where a new speaker has started speaking. Perhaps it's supposed to be a "fast forward" indicator, to signify that time has been sped up, I'm not sure yet. But I'm very glad it's there, as it's a solid hint that the sentence should be moved to the next segment. Perhaps Whisper Timestamped is also capable of some form of basic segmentation?
I've only seen this >> word appear in longer transcriptions. Normally when using voice chat I pass shorter audio segments to the Whisper worker, and these don't show up. I wish they always did, it's so useful, and easy to filter out.

There seems to be a bug or small oversight where the segmentation model can only diarize 2 speakers. Technically it should be capable of separating out three speakers. In practice it will label the first speaker it discovers as 'speaker 2', and speaker 2 as 'Speaker 3'. It skips speaker 1 for some reason. This is too bad, as it would be great if the model could do three people.

Sometimes Whisper conks out and doesn't transcribe a sentence. For example, at some point the first long sentence that Biden speaks after the moderator gives him the word is just.. missing. The words aren't in the chunks output at all. Probably just a fluke, but I'll keep my eyes open for it.

I experienced this issue as well

There seems to be a bug or small oversight where the segmentation model can only diarize 2 speakers. Technically it should be capable of separating out three speakers

I dove into the Transformers.js code today, and replicated a local version of post_process_speaker_diarization with lots of commenting so I could see what was going on.
The model theoretically returns which one is the highest value among 7 possible outputs.
0 (silence or non-speech sound, such as laughter)
1 (speaker 1 solo)
2 (speaker 2 solo)
3 (speaker 3 solo)
4 (mutiple speakers: 1 + 2)
5 (multiple speakers: 1 + 3)
6 (multiple speakers: 2 + 3)
I don't think there is an issue in the code. For reasons beyond my comprehension the model never returns a high value for segment ID 1.
This code for the Python version seems to imply there may be a setting for detecting three speakers?

I've attempted to create a hacky workaround: whenever a segment it longer than 5 seconds I run the segmentation model on that segment, and so on recursively.


Docs Search

Add search to docs that will filter the sidebar based on your query. Right now it only searches based on the doc title and slug, but we can easily extend this if we want.

Are we planning to add full text search at some point? For example, if I want to find "createUniverseWatcher" documentation, this isn't really helping me right now. (Otherwise looks good to me)

@andrejak No idea why those results are there. I'm just using https://www.gatsbyjs.org/packages/gatsby-plugin-local-search/ which uses an algorithm called flexsearch.

@andrejak full text search is possible, but then there are way too many results. For example, search plugin will bring up most of the results (because that word is mentioned in a lot of the docs).
I've changed it so that headings in docs are also searched. I think it is a bit better, but could also be too verbose. Can you please lmk what you think.


Suggest some option(s) for agreement text

(Ticket was originally for harmonyagreements.org - I think the CLA/CAA space is more varied and subtle and deserves broader treatment.)
One challenge maintainers have is choosing CLA text. Even understanding the options and the possible clauses involved is nontrivial, and we can help.
There are a variety of agreement texts we can draw from:

http://elinux.org/Developer_Certificate_Of_Origin
http://nodejs.org/cla.html
http://www.harmonyagreements.org/

We should help clarify the issues afoot like compatible licensing, copyright assignment, employer rules, etc.
Ideally we help maintainers choose the agreement text to best fit their motivation and situation.
Somewhat related, I like how https://www.iubenda.com provides a simple "non-legalese" breakdown of their generated privacy policies.

👍  on this issue,
for my MIT licensed project I want to either have a simple CLA or a DCO that is ideally one paged.
I have looked around and I cannot find anything simple that I can use as a CLA, the harmony agreement page is a good start but I feel that it doesn't explain the configurable options well. For example with CLA hub how would one host both the individual and corporate CLAs?
The thing I would love to find is something like choosealicense.com but for CLAs. The example CLAs in the wiki for the first few I clicked are really for big corporate projects and although IANAL I doubt the CLA for an Apache 2.0 project would match that of a MIT licensed project. Maybe it would be good to expand the wiki to have example CLAs paired with project license types.
The DCO is incredibly simple and basically appears to satisfy my needs but it appears that CLAhub doesn't provide that as an option. Also as I understand it DCOs may not be fully equivalent to CLAs making me a little hesitant to adopt a DCO. And if I did use a DCO I am not sure how CLAhub would help me.
Any tips to keep things simple and clear would help me a lot.

FYI the Harvard Law School Cyberlaw Clinic is looking into this right now. Hoping to make some resources available after they've been appropriately researched.

FYI in ended up opening a github organisation for our project and added a github repo with the CLA. Then I made everyone who contributes first provide a pull request with their name on it to that CLA repo, which covers all the other repos. Once accepted, all their PRs can be accepted anywhere on the other repos. This seemed the easiest approach to me.


Bump Dependencies #9429602888

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/9429602888

 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.

Duplicates with https://github.com/wso2/product-is/pull/20521


fix: bump gson to 2.9.0

This PR bumps our gson dependency to the current latest (2.9.0).
Included in this are changes to wean us off the GSON ReflectionAccessor class, which is no longer present in v2.9.0.

:tada: This PR is included in version 9.15.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[duplicate] metas set only via the router definition does not get crawled correctly by facebook, while the programmatically set does

I'm submitting a ...  (check one with "x")
[x] bug report => check the README and search github for a similar issue or PR before submitting
[ ] support request => check the README and search github for a similar issue or PR before submitting
[ ] feature request

Current behavior
So this is a bit of a weird one, but it appears that any metas set via the router definition does not get crawled, despite them being set and appearing in the html. If I set them programmatically, they work.
Expected/desired behavior
Regardless of how you define the metas the crawler should be able to read them properly.
Minimal reproduction of the problem with instructions
Define title and description in router, while having a p tag with a text in that same router component template. Then use https://developers.facebook.com/tools/debug/sharing/ to crawl it (cannot be localhost) and you will see that the p tag acts as the description instead of the og:description tag for example. This is down to facebook picking the first p tag when it cannot find a description meta.
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.X
2.3.1

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
all

Language: [all | TypeScript X.X | ES6/7 | ES5]
all

Node (for AoT issues): node --version =
6.7

Hi @chrillewoodz, this is a known issue and also duplicate of #9, #11, #13, #14.
As mentioned in #4, cannot be solved with client-side techniques.

Generated metadata is not currently accessible by bots except Google crawler. For now, the only method to generate meta tags at the server-side in order to be crawl-able by bots such as facebook.
However, I'm keeping track of developments with those crawlers/bots and will publish updates as things become available.

It is aimed in rc.5 to use @angular/universal to dynamically re-render each request. You can track the status on #20.
I'm closing this issue both the reasons it's a duplicate and tracked on #20.


ALIAS_STANDARD_FUNCTION_NAMES doesn't work correctly

When setting the option ALIAS_STANDARD_FUNCTION_NAMES to ON only the definitions inside printf.c will be affected. Inside printf.c https://github.com/eyalroz/printf/blob/develop/src/printf/printf.c#L54:
#if PRINTF_ALIAS_STANDARD_FUNCTION_NAMES
# define printf_    printf
# define sprintf_   sprintf
# define vsprintf_  vsprintf
# define snprintf_  snprintf
# define vsnprintf_ vsnprintf
# define vprintf_   vprintf
#endif

But in the printf.h there is no include "printf_config.h", thus the declarations will never be aliased.
It means that, if the option is set to ON and the library is compiled, installed and consumed:
#include "printf.h"

int main()
{
    char c[64];
    snprintf(c, sizeof(c), "%d %f", 5, 160.1);

    return 0;
}

One gets compilation error:

main.cpp: In function ‘int main()’:
main.cpp:6:12: error: ‘snprintf’ was not declared in this scope
6 |     snprintf(c, sizeof(c), "%d %f", 5, 160.1);
|     ^~~~~~~~

Possible solutions:

Install printf_config.h along with printf.h and put #include "printf.h" at the top of printf.h.
Generate printf.h and rename the function names basing on the ALIAS_STANDARD_FUNCTION_NAMES option value.
Generate printf.h by putting PRINTF_ALIAS_STANDARD_FUNCTION_NAMES macro dynamically at the top of the printf.h file during installation and use target_compile_definitions(printf PUBLIC PRINTF_ALIAS_STANDARD_FUNCTION_NAMES) for the build interface.
Other?

Let's first deal with your PR, then I'll get back to this.

But in the printf.h there is no include "printf_config.h",

Neither is there such an inclusion in printf.c ... unless you passed a compiler definition for that inclusion to happen.

thus the declarations will never be aliased.

If you don't pass any compiler definitions to printf.c, nor to printf.h, then no aliasing will happen.
To get aliasing, you need to write:
PRINTF_ALIAS_STANDARD_FUNCTION_NAMES
#include <printf/printf.h>

int main() {
    char c[64];
    snprintf(c, sizeof(c), "%d %f", 5, 160.1);
    return 0;
}

Why do you find this to be a problem?

But in the printf.h there is no include "printf_config.h",

Neither is there such an inclusion in printf.c ... unless you passed a compiler definition for that inclusion to happen.

This is not true. See: https://github.com/eyalroz/printf/blob/develop/CMakeLists.txt#L69. PRINTF_INCLUDE_CONFIG_H is always defined when compiling printf.c, so it means that this inclusion https://github.com/eyalroz/printf/blob/develop/src/printf/printf.c#L49 will take place.
The solution you have proposed will only work when the CMake option PRINTF_ALIAS_STANDARD_FUNCTION_NAMES is set to ON. Otherwise, one gets link error "symbol snprintf undefined", or snprintf from the standard library gets linked, what is wrong, obviously.
It's OK for me to have this duplication of PRINTF_ALIAS_STANDARD_FUNCTION_NAMES, but it should be documented properly.

PRINTF_INCLUDE_CONFIG_H is always defined when compiling printf.c

... when you're building it with CMake. But the file itself doesn't automatically include it. But we're just splitting hairs here.

The solution you have proposed will only work when the CMake option PRINTF_ALIAS_STANDARD_FUNCTION_NAMES is set to ON.

Well, yes, but you would use this only if you've built libprintf like that. That's intentional.
... however, I suppose I can sympathize with the desire for users not having to specify preprocessor defines to match the build options. Still, I really would not like to generate printf.h

It's OK for me to have this duplication of PRINTF_ALIAS_STANDARD_FUNCTION_NAMES, but it should be documented properly.

I'll add some relevant text to the README.


Fix initial pending request always being treated as an error.

Our integration tests have been very flaky lately, with several test suite before hooks regularly failing with cryptic errors.
I believe the root cause of these failures is that the OPTIONS preflight request (made before the first RPC request to discover backend capabilities) was not being sent with a valid IModelRpcProps token.  This preflight is needed to set the allowed headers for future requests.  After #3395, the X-Protocol-Version header must be set on all requests, otherwise any HTTP 202 responses will be treated as errors, not pending.
Our integration tests only return pending responses when downloading a checkpoint takes slightly longer than usual, hence the flakiness.

@swbsi also, any advice on a better test for this?  Can't say I'm super happy with the one I added...

After #3395, the X-Protocol-Version header must be set on all requests, otherwise any HTTP 202 responses will be treated as errors, not pending.

@swbsi is this really the intended behavior? What was the rationale for that change?

The protocol version header was in use long before that PR (which just made some things a little clearer internally).
We had to guard the 202 change originally with a protocol version change since it was a breaking ABI change.

After #3395, the X-Protocol-Version header must be set on all requests, otherwise any HTTP 202 responses will be treated as errors, not pending.

@swbsi is this really the intended behavior? What was the rationale for that change?

The protocol version header was in use long before that PR (which just made some things a little clearer internally).
We had to guard the 202 change originally with a protocol version change since it was a breaking ABI change.

Right, I guess I'm confused by the 202 change itself... Why should new clients treat 202s as errors unless they contain an RpcManagedStatus?  What is RpcManagedStatus used for that can't be determined from the status code?

After #3395, the X-Protocol-Version header must be set on all requests, otherwise any HTTP 202 responses will be treated as errors, not pending.

@swbsi is this really the intended behavior? What was the rationale for that change?

The protocol version header was in use long before that PR (which just made some things a little clearer internally).
We had to guard the 202 change originally with a protocol version change since it was a breaking ABI change.

Right, I guess I'm confused by the 202 change itself... Why should new clients treat 202s as errors unless they contain an RpcManagedStatus? What is RpcManagedStatus used for that can't be determined from the status code?

New clients that don’t send a protocol version won’t use any of the managed status stuff (that concept was just to free up all the http status codes from being claimed by the RPC system so StatusCategory could then use them semantically as desired).
Unless the frontend and backend both agree on protocol version 2 (and then send the RPC “pending” state via managed status objects) we will fall back to the old behavior (as defined in the WebAppRpcProtocol.getStatus/getCode) and a 202 will be a pending on the frontend.
At least, that was the goal of my approach here. Are you seeing evidence that I actually broke the old scenario (when either no protocol version is sent or it is less than 2)?

@wgoehrig what's holding this up? The integration tests remain as (consistently) flaky as ever.

@mergifyio backport release/3.2.x


Update MNTO: Minato

Please only fill in the information you want to update for your token.
Token Name:
Token Symbol:
Decimals:
Polygon Address:
Ethereum Address:
Logo URI (SVG): https://minatodao.com/wp-content/uploads/2022/03/pcs-96x96.svg
Project Name:
Project Summary:
Project Contact:
Project Website:
Additional Notes:
You can see that this logo is the correct one via CoinGecko, Dextools and our official website. Thank you

Updated in AllTokens tokenlist v1.8.0.


Evaluator Review: Create EOS-Cryptography-Proposal-2-b-Milestone-2.md #151

Review, approve, or deny https://github.com/eosnetworkfoundation/grant-milestones/pull/151

Closed per @wanderingbort approval for https://github.com/eosnetworkfoundation/grant-milestones/pull/151.


Updated image deconvolution module, following the change in the orientation module

Following the new orientation module, I updated the image deconvolution module.
To avoid saving lots of intermediate files, I also modified SpacecraftFile. Though the changes are very small (when "quiet == True," I turned off the lines related to the file saving.), I would like to ask @Yong2Sheng to have a look at it, just in case.
Finally, I updated the notebook renaming it as "GRB-miniDC2-image-deconvolution.ipynb". I have also deleted some unused/out-dated parameter files.

This looks good @hiyoneda! The notebook ran for me with one small change: In data_loader.py, from cosipy.SpacecraftFile import SpacecraftFile needs to be from cosipy.spacecraftfile import SpacecraftFile.
I get an error (AttributeError: 'Axis' object has no attribute 'coordsys') when running dataloader.load_coordsys_conv_matrix_from_filepath("coordsys_conv_matrix.hdf5"), but this doesn't seem to affect the rest of the notebook.
Overall, the notebook could be cleaned up a bit. It was unclear to me what many of the cells were doing and whether they were all necessary, so more comments would be useful. For example, it says in the SC orientation section that only the first two cells are required, and the notebook works for me without them, so it's not clear to me why the rest of those cells are there.
The last cell loads the results from saved files, but how are these files created? I don't see this anywhere in the notebook.
A few details:
GRB-end-to-end.ipynb is a good example of the full analysis of a GRB, but docs/tutorials/spectral_fits/ has more up to date versions of the spectral fitting notebooks.
The Google drive folders containing the response were rearranged, so the link in https://github.com/israelmcmc/cosipy/tree/master_grb/docs/tutorials/end-to-end/data does not lead directly to the response file.
Could you add imagedeconvolution_parfile_GRB_miniDC2.yml to the Google drive? It was decided to only use the test_data folder for files needed to run the unit tests (see the discussion on PR #93).

Thanks, @eneights, for reviewing the code. I created a directory (docs/tutorials/image_deconvolution) and moved the notebook and related parameter files there. I also modified the notebook by adding more information. I would be happy if you could run through it again!

Thank you @hiyoneda! Just a few more minor changes before merging:
Currently, to run dataloader.calc_coordsys_conv_matrix(), the detector response needs to be in the same directory as the notebook. Could you change this to use the path defined by path_data?
Please add a cell at the beginning so that users can download the necessary files directly from wasabi. You can copy the code from the first cell of SpectralFit.ipynb.
Can you move all of the import statements to a cell at the beginning of the notebook?
Please make the data path generic instead of specific to your computer (e.g. 'path/to/data/').
Could you collapse the output from all of the cells that have long outputs? In particular, the one that runs the image deconvolution (after "4-5. Start the image deconvolution"), as well as the one right after that, but there might be more.
Please add a brief description of what each cell is doing from section 4-5 to the end.

Thanks again. I think that I have modified the notebook following your suggestion.

@hiyoneda Could you just collapse the output of the cells where it prints the image deconvolution results (second cell of 4-5), where it plots the images in each energy band (second cell of “The reconstructed images”), and where it plots the differences between images (second and third cells of “Delta image”)?
After that, I think it's ready to merge!

I ran through this with no issues and I think the GRB-miniDC2-image-deconvolution notebook is ready to merge. It would be good if @eneights confirms, since she's been reviewing the code in more detail.


update sample name conversion in sQTL

The sQTL update is mainly to accommodate the updated pandas version, where "squeeze=True" option no longer available.


Investigate and secure containers spawned by sqlcmd

Sql server instances spawned by sqlcmd should provide support for encrypted connections.
This doc describes how the containers can be secured.
This is also helpful in testing.

Following is the summary.
SQL Server can be configured to run with self-signed certificates using this doc.
The certificates can be put inside container image by mounting host drive onto container instance at run time., using -v <hostPath>:<containerPath> in docker run command.
The certificate itself can be generated and configured within container using openssl and /opt/mssql/bin/mssql-conf
Below are the example commands
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<redacted>" -p 5433:1433 --name localhost --hostname localhost -v C:\Users\user\Desktop\certs:/home/certs -d mcr.microsoft.com/mssql/server:2022-latest

C:\Users\user\Desktop>docker ps
CONTAINER ID   IMAGE                                        COMMAND                  CREATED         STATUS         PORTS                    NAMES
8707870c67bb   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   4 seconds ago   Up 4 seconds   <IP_ADDRESS>:5433->1433/tcp   localhost

docker exec -it -u root 8707870c67bb bash

chown mssql mssql.*
/opt/mssql/bin/mssql-conf set network.tlscert /etc/ssl/certs/mssql.pem
/opt/mssql/bin/mssql-conf set network.tlskey /etc/ssl/private/mssql.key
/opt/mssql/bin/mssql-conf set network.tlsprotocols 1.2
/opt/mssql/bin/mssql-conf set network.forceencryption 0

Currently, TDS8 connections don't work against SQL Server on linux. Will revisit this once this is supported.


Remove deprecated property AdminSpawnable

'AdminSpawnable' has been renamed to 'AdminOnly' since GMod 13, the default value is 'false', it should simply be fine to remove those lines too.
Old docs say:
"If false, admins can't spawn that weapon (you can set to false for base weapons)."
See also:
https://wiki.garrysmod.com/page/Structures/ENT

According to that link ENT.Spawnable also defaults to false so we should probably drop it everywhere too.

I don't like relying on default. I'd use the up to date AdminOnly or whatever it is.

Probably fine in this case though


feat: simplify setGlobalPrefix method in Serinus

Description
Instead of using a utility class we can use just a string as value.
Requirements

[x] Change the setGlobalPrefix API

Changed the method to set the global prefix from setGlobalPrefix to the setter globalPrefix.


Error when running geostyler-cli for raw output

To recreate:
npm install
npm build
npm start -- -s sld -t geostyler -o C:/Temp C:/Temp/itasca.sld

Returns the following error, as there is only a folder name for the output rather than a file with an extension:
- Starting Geostyler CLIC:\GitHub\geostyler-cli\dist\src\index.js:58
    switch (fileEnding.toLowerCase()) {
                       ^

TypeError: Cannot read properties of undefined (reading 'toLowerCase')
    at getParserFromFilename (C:\GitHub\geostyler-cli\dist\src\index.js:58:24)
    at C:\GitHub\geostyler-cli\dist\src\index.js:199:67
    at Generator.next (<anonymous>)
    at C:\GitHub\geostyler-cli\dist\src\index.js:9:71
    at new Promise (<anonymous>)
    at __awaiter (C:\GitHub\geostyler-cli\dist\src\index.js:5:12)
    at main (C:\GitHub\geostyler-cli\dist\src\index.js:156:12)
    at Object.<anonymous> (C:\GitHub\geostyler-cli\dist\src\index.js:220:1)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)

Closed with #193


Katana JSONL file Issue on raw request field

Katana JSONL file has issues on saving POST requests, for Example:
{"timestamp":"2024-05-02T16:28:07.690561274Z","request":{"method":"POST","endpoint":"http://testphp.vulnweb.com/secured/newuser.php","body":"signup=signup\u0026uuname=katana\u0026upass=katanaP@assw0rd1\u0026upass2=katanaP@assw0rd1\u0026urname=katana\u0026ucc=katana\u0026uemail=katana\u0026uphone=katana","headers":{"Content-Type":"application/x-www-form-urlencoded"},"tag":"form","attribute":"action","source":"http://testphp.vulnweb.com/signup.php","raw":"GET /secured/newuser.php HTTP/1.1\r\nHost: testphp.vulnweb.com\r\nUser-Agent: Go-http-client/1.1\r\nCookie: PHPSESSIONID=XXXXXXXXX\r\nHost-Header: hostname.tld\r\nX-Api-Key: XXXXX\r\nX-Powered-By: Raider\r\nAccept-Encoding: gzip\r\n\r\n"},"response":{"status_code":200,"headers":{"x_powered_by":"PHP/5.6.40-38+ubuntu20.04.1+deb.sury.org+1","content_encoding":"gzip","server":"nginx/1.19.0","date":"Thu, 02 May 2024 16:28:05 GMT","content_type":"text/html; charset=UTF-8","transfer_encoding":"chunked","connection":"keep-alive"},"body":"\u003chtml\u003e\u003chead\u003e\n\u003ctitle\u003eadd new user\u003c/title\u003e\n\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"\u003e\n\u003clink href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\u003cdiv id=\"masthead\"\u003e \n  \u003ch1 id=\"siteName\"\u003eACUNETIX ART\u003c/h1\u003e \n\u003c/div\u003e\n\u003cdiv id=\"content\"\u003e\n\t\u003c/div\u003e\n\n\n\u003c/body\u003e\u003c/html\u003e","technologies":["PHP:5.6.40","Nginx:1.19.0","Ubuntu"],"raw":"HTTP/1.1 200 OK\r\nContent-Length: 415\r\nConnection: keep-alive\r\nContent-Encoding: gzip\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Thu, 02 May 2024 16:28:05 GMT\r\nServer: nginx/1.19.0\r\nX-Powered-By: PHP/5.6.40-38+ubuntu20.04.1+deb.sury.org+1\r\n\r\n\u003c!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"\u003e\r\n\u003chtml\u003e\r\n\u003chead\u003e\r\n\u003ctitle\u003eadd new user\u003c/title\u003e\r\n\u003cmeta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"\u003e\r\n\u003clink href=\"style.css\" rel=\"stylesheet\" type=\"text/css\"\u003e\r\n\u003c/head\u003e\r\n\u003cbody\u003e\r\n\u003cdiv id=\"masthead\"\u003e \r\n  \u003ch1 id=\"siteName\"\u003eACUNETIX ART\u003c/h1\u003e \r\n\u003c/div\u003e\r\n\u003cdiv id=\"content\"\u003e\r\n\t\u003c/div\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n"}}

but it seems OK in GET Requests:
{"timestamp":"2024-05-02T16:28:03.490823562Z","request":{"method":"GET","endpoint":"http://testphp.vulnweb.com/artists.php?artist=1","tag":"a","attribute":"href","source":"http://testphp.vulnweb.com/artists.php","raw":"GET /artists.php?artist=1 HTTP/1.1\r\nHost: testphp.vulnweb.com\r\nUser-Agent: Go-http-client/1.1\r\nCookie: PHPSESSIONID=XXXXXXXXX\r\nHost-Header: hostname.tld\r\nX-Api-Key: XXXXX\r\nX-Powered-By: Raider\r\nAccept-Encoding: gzip\r\n\r\n"},"response":{"status_code":200,"headers":{"server":"nginx/1.19.0","date":"Thu, 02 May 2024 16:28:01 GMT","content_type":"text/html; charset=UTF-8","transfer_encoding":"chunked","connection":"keep-alive","x_powered_by":"PHP/5.6.40-38+ubuntu20.04.1+deb.sury.org+1","content_encoding":"gzip"},"body":"\u003chtml\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003eWarning: mysql_connect(): Connection refused in /hj/var/www/database_connect.php on line 2\nWebsite is out of order. Please visit back later. Thank you for understanding.\u003c/body\u003e\u003c/html\u003e","technologies":["PHP:5.6.40","Nginx:1.19.0","Ubuntu"],"raw":"HTTP/1.1 200 OK\r\nContent-Length: 170\r\nConnection: keep-alive\r\nContent-Encoding: gzip\r\nContent-Type: text/html; charset=UTF-8\r\nDate: Thu, 02 May 2024 16:28:01 GMT\r\nServer: nginx/1.19.0\r\nX-Powered-By: PHP/5.6.40-38+ubuntu20.04.1+deb.sury.org+1\r\n\r\n\nWarning: mysql_connect(): Connection refused in /hj/var/www/database_connect.php on line 2\nWebsite is out of order. Please visit back later. Thank you for understanding."}}

Hi, there,
This bug was also preventing me from getting the desired behavior.
Moreover, on my side, in addition to the method, there is also the content of the body that is not taken into account in the raw variable.
I investigated the code to find its source.
Firstly, it seems that this bug only affect headless mode
The bug seems to come from the navigateRequest function in the pkg/engine/hybrid/crawl.go and more precisely here
httpreq, err := http.NewRequest(e.Request.Method, URL.String(), strings.NewReader(e.Request.PostData))
Here, the crawler attempts to recreate the navigation request as an http object. To recreate it, the function relies on the object e *proto.FetchRequestPaused.
When testing its behavior, it turns out that regardless of the method and body of the Navigation Request request (the input), the values issued from e.Request.Method and e.Request.PostData do not correlate. They are always equal to:
e.Request.Method = "GET" e.Request.PostData = ""
This causes the initial input request to be incorrectly reconstructed. All requests that are not GET and/or with a body will not be correctly reconstructed in the output.
To correct this bug, I've changed the function to
httpreq, err := http.NewRequest(request.Method, URL.String(), strings.NewReader(request.Body))
I base the reconstruction on the input request. This change allows me to have the right construction in my ouputs.
Being new and having no advanced knowledge of golang . I haven't made any pull requests yet. Hopefully this comment will confirm whether this solution is acceptable.
Have a nice day!
Proof:
{     "timestamp": "2024-05-24T16:45:37.945813+02:00",     "request": {         "method": "POST",         "endpoint": "http://<IP_ADDRESS>:4000/contributions",         "body": "preTax=0\u0026roth=0\u0026afterTax=0",         "headers": {             "Content-Type": "application/x-www-form-urlencoded"         },         "tag": "form",         "attribute": "action",         "source": "http://<IP_ADDRESS>:4000/contributions",         "raw": "POST /contributions HTTP/1.1\r\nHost: <IP_ADDRESS>:4000\r\nUser-Agent: Go-http-client/1.1\r\nContent-Length: 26\r\nContent-Type: application/x-www-form-urlencoded\r\nCookie: XXXX\r\nAccept-Encoding: gzip\r\n\r\npreTax=0\u0026roth=0\u0026afterTax=0"     },     "response": {         "status_code": 200,         "headers": {             "etag": "W/\"24de-hS4ySFk8FPabFlMHgOaA7UxITPk\"",             "x_powered_by": "Express",             "date": "Fri, 24 May 2024 14:45:36 GMT",             "content_type": "text/html; charset=utf-8",             "content_length": "9438"         },         "technologies": [             "Express",             "Node.js",             "Bootstrap"         ],         "raw": "HTTP/1.1 200 OK\r\nContent-Length: 9438\r\nContent-Type: text/html; charset=utf-8\r\nDate: Fri, 24 May 2024 14:45:36 GMT\r\nETag: W/\"24de-hS4ySFk8FPabFlMHgOaA7UxITPk\"\r\nX-Powered-By: Express\r\n\r\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\n\u003chead\u003e\n    \u003cmeta charset=\"utf-8\"\u003e\n    \u003cmeta name=\"viewport\" ....",         "forms": [             {                 "method": "POST",                 "action": "http://<IP_ADDRESS>:4000/contributions",                 "enctype": "application/x-www-form-urlencoded",                 "parameters": [                     "preTax",                     "roth",                     "afterTax"                 ]             }         ]     } }

@dogancanbakir, @ehsandeep Sorry but I made a mistake. Changing this line will solve the problem with the output but it creates another bug.
I'll write a detailed explanation of what's going on and how we should change the function or not.

Why the raw request is corrupted
First of all,
The bug with JSON output occurs when the -automatic-fill-form option is enabled with the hybrid crawler.
When a form is detected in a response, the crawler creates a navigation.Request and queues it.
This request is then processed by the navigateRequest function.
For example, let's imagine a form request is created
"request": {         "method": "POST",         "endpoint": "https://test.com",         "body": "pincode=katanaP@assw0rd1\u0026pincode_confirm=katanaP@assw0rd1\u0026submit-pin=Faire+une+demande+d'activation+du+code+pin",         }
The raw field is now empty and will be rebuilt during processing of the navigateRequest  function.

The action is performed independently of the value of the request method passed as input.
After this, the initial request is recreated in the go routine *go pageRouter.Start(func(e proto.FetchRequestPaused) which hijacks the page in search of possible requests sent from the loaded page (important to understand for next...).
The line responsible for this reconstruction is
httpreq, err := http.NewRequest(e.Request.Method, URL.String(), strings.NewReader(e.Request.PostData))
Therefore, as the request is sent via the page.Navigate function, the value of e.Request.Method can only be GET and e.Request.PostData null.
var rawBytesRequest, rawBytesResponse []byte if r, err := retryablehttp.FromRequest(httpreq); err == nil { 	rawBytesRequest, _ = r.Dump() } ... if matchOriginalURL { 	request.Raw = string(rawBytesRequest) 	response = resp }
In this case, the raw value is
request.Raw = "GET https://dev.winamax.fr/mon-compte_parametres-de-securite"
Hence the fact that this can be interpreted as a bug because the initial POST request with a body was not made, but was replaced by a GET, hence the buggy raw value in the JSONL.
Why my change is not working well
To obtain a raw value that matches the query argument in the output file. I proposed the change:
httpreq, err := http.NewRequest(request.Method, URL.String(), strings.NewReader(request.Body))
Based directly on the values of the initial query, the raw field is consistent with the previous information.
We obtain
request.Raw = "POST https://test.com\r\n\r\npincode=katanaP@assw0rd1\u0026pincode_confirm=katanaP@assw0rd1\u0026submit-pin=Faire+une+demande+d'activation+du+code+pin"
However, from a functional point of view, there's always a bug because the response obtained doesn't match the raw value because the request sent remains “GET” without a body, as it is carried out by page.Navigate function.
This line is also very important:
httpreq, err := http.NewRequest(e.Request.Method, URL.String(), strings.NewReader(e.Request.PostData))
because it detects POST or other requests sent from a page loader in a browser.
Example:

**So my solution isn't sustainable. **
Room for improvement
The bug is linked to the use of the automatic-form-fill option with the hybrid crawl. All requests are processed dynamically, whereas form requests are static and cannot be sent independently via a browser page.
There are two possibilities in this case:

Do not use this option in this case, only with the standard crawler. This is not the best solution, as I think it is possible to do better.
Filter all requests with the “form” tag to send them via a retttryablehttp and not through page.Navigate. As the request is for a form to be sent, it is not necessary (and not possible) to emulate the request in a browser.

Comments
I hope my answer is clear enough.
I apologize for the loss of time caused by my previous error.
I hope we'll be able to improve this feature.
If you'd like to discuss the matter, or if there's anything I haven't clarified, please don't hesitate to get in touch. Have a nice day!
@dogancanbakir
@ehsandeep

I'm having the same problem, can you fix it???

This is addressed in the latest version. Take a look https://github.com/projectdiscovery/katana/releases/tag/v1.1.1


Implementing  this slideout to an existing website..

_
Does any one have a simpler version????!!!!_
So how do I use this slideout nav with a existing website ?
I mean where does the website  body goes?
I am overwhelmed with the number of different stuffs.

Documentation seemed a little confusing to me as well as to which is the panel and which is the menu. Figured it out though; The panel is your website content, whereas the menu is the mobile nav menu that will appear when you toggle your slideout.
As for adding this to an existing website you'll probably have to adjust the layout or structure of your content. It should just be simple enough to wrap your entire site within an additional block element, such as a div or main as shown in the example, and add links for mobile users within another block element div or nav with appropriate IDs.
Here is how I have my site setup:
<main id="panel">
  <header class="header navbar">
    <%= render 'layouts/header' %>
  </header>

  <div id="content" class="content">
    ...
  </div>
</main>

<nav id="menu" class="" role="navigation">
  <%= render 'layouts/nav_list' %>
</nav>

Thanks, I will try to make this work....


[PLAT-462] Project Access Requests Frontend

Purpose
Allow users to request access to a public or a private project that they are not currently contributors on. Project admins can allow/disallow requests for access on the project's settings page, and approve/deny existing requests on the project's contributors page.
NOTE: also includes @chennan47's changes to add node logs when project access is updated
Changes

Ability for admins to enable/disable project access requests on the project settings page
Custom template for 403 page when accessing a private project that has access requests enabled
Button on public projects that allow requests to be made by non-contributors with access requests enabled
Admins can see a list of access requests on the contributor page and choose to reject, or accept them while giving certain permissions/setting visible
Change UI on project page to move the share/bookmark buttons under a [...] dropdown menu
Migration/model change to request model to allow for partial unique index ignoring when the machine state is accepted
Migration/model change to NodeRequestAction to allow passing permissions and contributor visibility levels when the request is accepted from the contributors page
Change text email templates to html, for consistency with #8187
Change red [Remove] buttons for Contributors and VOLs to Xs
Those Xs should become grey default "Remove" buttons when screen is small enough for "card mode"

QA Notes

This will need a lot of QA and has many edge cases. I'll try to be as thorough as possible here but I could totally miss something that you guys' expertise will catch!
Check out the parent ticket for requirements and the prototype mockups for more info.

Ability to request access

Access Requests Enabled

A non-contributor user visits a private project with access requests enabled (enabled by default) and sees a special 403 page with an option to request access
A non-contributor user visits a public project with access requests enabled (enabled by default) and sees an option to request access under the new [...] button as a dropdown menu
A contributor visiting a project should not see the request access button on the [...] menu

Access Requests Disabled

An  admin disables request access on a private project on the project settings page
An admin disables request access on a  public project on the project settings page
A non-contributor visits the private project, gets the standard usual "user has restricted access" 403 page
a non-contributor visits the public project, does not see the 'request access' option on the [...] dropdown menu

Requesting Access

A user requests access to a project (pretty much the same should happen for public and private)

Clicking on the button/link immediately disables it
After a request is completed, the button/link should still be disabled but now read "access requested"
Project admins get an email that a user has requested access to their project

Private projects with request access enabled also have a "switch account to request access" button

clicking this takes them to CAS
After logging in with another account through cas they are taken back to the project as a contributor if they have permission, they see the same request access screen if not

A user's access request is rejected

Visiting the project, the disabled "access requested" link/button now has a tooltip that says "access denied"
The requesting user gets an email that their request was denied

A user's access request is accepted

The user can now visit the project/be included as a contributor
The user gets an email that their request for access has been accepted

A logged out user visiting a public project with access requests enabled

The user sees "login to request access" in the [...] dropdown menu
Clicking this button takes them to CAS to login
After loging in through CAS, they are returned to the project page

Accepting/Rejecting access requests

An admin should see a list of Requests for access on the contributors page

This list should behave much the same on a small screen as the contributors list, collapse into a card form on super small screens
Each request has the option to reject (X) or accept (+Add)
Rejecting a request removes the request from the list and emails the requesting user
Accepting a request adds the user as a contributor with the permissions/visibility selected in the row when the 'add' button is clicked

the page should be refreshed, the user appears in the contributor list with the proper permissions, and the request is removed from the list

A non-admin should not see the Requests for Access Section
When there are no requests, even an admin should not see the Requests for Access section

Edge cases to check:

A user requests access to a project, is accepted as a contributor, is removed as a contributor, and requests access again
Components should be separate of their parents. If someone requests access to a toplevel and gets rejected, they should still be able to independently request the child component
Probably others! Ah!

Unrelated-ish things to check:

Contributors page UI changes: Formerly red [Remove] button is now a gray X
That gray X becomes a default [Remove] button when the screen size is small
The facebook sharing link was acting a little funny earlier, but might be unrelated to this PR -- in any case, might be good to check that it's all a-ok

Side Effects
None anticipated as this is a pretty new feature
Ticket
https://openscience.atlassian.net/browse/PLAT-462

also one last comment I meant to write yesterday, I don't pretend to know what is happening preprints-side anymore, but we had contributors UI on that side too.  Is preprints also going to be using these gray x's as well?

@pattisdr Preprints and Reviews (which will soon have similar UI) will also use the X's. Not sure on the timeline of the preprints changes yet.
However the X's shouldn't be light gray unless they are disabled -- @sloria was that color gray intentional https://marvelapp.com/b88hg84/screen/36960899

@laurenbarker I intended for the color to be the same as Bootstrap's default button color. I didn't give much thought to disabled state, though. I'm good with changing it to the darker gray in the moderation mockup you linked.

facebook link looks OK on staging now, should be ok! I'll make a note of it tho!

There's a bit of a delay and a screen jitter when the menu is opened.

I'm not sure this is indicative of a larger issue--I'll take a closer look at the code..

@sloria HAH I know what's causing that -- there was some CSS that was messing with the .collapse transition that I removed -- putting it back should fix the jitter, I'll do that

When the menu is clicked, it doesn't appear focused, which is inconsistent and may also affect a11y (screen readers won't know which element is focused):

See the Components' meatball menu:

No major blockers. I'll get this branch up to date and merge it into a new release branch. 🚢 🇮🇹


Encode empty "html_title" if it's not found

Hey @fhamborg 👋
I've noticed that the html_title field must be encoded before it's being sent to newspaper_extractor. Also, I'm wondering if there was some reasons to not pass rss_title through the extraction ? I added it in the parameters
Changes

Encode the default html_title
Pass rss_title to pass_to_pipeline method
Some formating (using ruff)

as always, thanks for the pr :) as it's rather minor, i will push to pypi at a later point in time

Hey @fhamborg
Is it possible to push the update to Pypi plz ? This error is generating a lot of logs 😬


fix: Update admin settings permission from users when they are added or re…

Description
Update user permission when email address is added as admin email from settings page.
Fixes #11118
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manually

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

separate

Good point. I really missed that. I'll handle the case and update this PR.

@sharat87 Thanks a lot for your valuable review. I've updated the PR as per the points you mentioned. Would you please review it once again?

@sharat87 Thanks a lot for your time and patience. The PR has improved a lot for your great observations. Would you please have a look once again?

/ok-to-test sha=9b3c1c40537513997763c1c923f19491211c5c56


Browserchannel does not remove all listeners when .disconnect() is called

This issue was imported from Closure Library's previous home at http://closure-library.googlecode.com
The link to the original issue is:
https://code.google.com/p/closure-library/issues/detail?id=388

This issue is being closed as a preparation step before archiving the repository.  See the README for more detail.


Inquiry Regarding Evaluation Metrics in Your Paper

@bloc97 @jquesnelle   Dear Authors,
Firstly, I would like to extend my sincere appreciation for your remarkable work. It is truly commendable and has served as a valuable resource for the community.
Upon reading your paper, I encountered some confusion regarding the evaluation metrics employed. Specifically, in Section 4.3.1, you state: "...selected 10 random samples from Proof-pile with at least 128k tokens each and evaluated the perplexity of each of these samples when truncated at 2k steps from a sequence length of 2k tokens through 128k tokens." Could you kindly clarify what is meant by "2k steps" in this context?
Additionally, the term "Sliding window perplexity (S = 256) of ten 128k Proof-pile documents truncated to evaluation context window size" is used multiple times. However, I am uncertain how sliding window perplexity is applied if the documents are truncated to the evaluation context window size. Does it mean the documents are truncated to the maximum evaluation context window size (128k)?
Your insights and clarifications on these points would be greatly appreciated, as they might resolve some misunderstandings I have regarding the paper.
Thank you for your time and consideration.

Lets say you have one document of 160k tokens in length. We start by truncating that document to 128k and evaluate by setting our model context size to 2k, and slide it across the 128k document with a stride of S=256.
Then we do the same again but with a context size of 4k (we go up by 2k each time), again with a stride of S=256.
We do 6k, 8k, 10k, 12k, .... until we hit 128k. Of course at 128k the stride doesn't matter because you can evaluate the entire document in a single pass.


Clicking on Install update does not work

Describe the bug

Desktop (please complete the following information):

OS: MacOS 12.3.1
Monokle version: 1.6.2

This part of the app was changed in #1397, let us know if the problem persists.


Add OSC release repository in the pom files to facilitate creation of release branches

The osc-core pom files for osc-service-api, export and osc-ui only have the snapshot repository. We should include also the release repository url, similar to https://github.com/opensecuritycontroller/security-mgr-sample-plugin/blob/master/pom.xml#L12 . This facilitates the creation of release branches since updating the repositories becomes unecessary.

i would add the repositories at the https://github.com/opensecuritycontroller/osc-core/blob/master/pom.xml not at the individual pom modules.
we can clean up the repositories at the individual module level.

Fixed by #601


Generate a valid Signature for ApplyBiFunction

The ApplyBiFunction is used to wrap a BiFunction implementation which is executed at runtime and it's not currently possible to generate a valid Signature for this function using the existing logic.  The Type Parameters declared in ApplyBiFunction need to be mapped through to the Types contained in the wrapped BiFunction to create a valid Signature and enable type checking of parameters to be enforced. See gh-2268

Merged into develop


Change footer layout

Ticket: https://trello.com/c/lXpy2vZH/142-3-change-footer-to-use-two-column-layout-in-digitalmarketplace-frontend-toolkit-and-all-frontend-apps
Screenshots

http://localhost/user/login

Any idea why the frontend had its own footer.scss? I seem to recall there being a slight difference. it might have been just been fixing linting issues between the two i.e adding missing semi-colons and code style.

Any idea why the frontend had its own footer.scss? I seem to recall there being a slight difference. it might have been just been fixing linting issues between the two i.e adding missing semi-colons and code style.

There wasn't any difference, I checked with diff before removing.


Remove reference to paginating non-primary resources

Right now, the spec says: "To paginate an included collection returned in a compound document, supply pagination links in the corresponding link object." But: what corresponding link object is this talking about? The only link objects in the "included" section are for part of individual resources; they're not associated with any collections.
Even if the "included" section were to be restructured such that there were clear collections, presumably one for each path asked to be included, I don't think we'd want to paginate those collections; it should be enough to just paginate the primary resources, and only include resources related to the primary resources that are part of the current "page" (which is what the spec would do if this PR were merged). Doing otherwise could get messy, with query parameters like page[posts.author][size]. Ick.

I don't think we'd want to paginate those collections; it should be enough to just paginate the primary resources

@ethanresnick, I thought it is a feature, and quite a useful one!
For instance, suppose the API is built around a hierarchy of some items. Suppose the API is providing a method to search those items by some attribute and a custom parameter for that search method to allow clients to request all sub-hierarchy of items rooted at the matching item -- they will be returned in included. If the tree is deep, the typical number of objects in data will be much less than the typical number of objects in included. What is worse, total number of objects in data and included will be unpredictable for any given request because the match can occur at any depth of the tree. Hence, if the goal of pagination is to return consistent number of objects in response, this goal becomes unreachable.
"Doing otherwise" would provide a possibility for the API designer to handle this problem.

But: what corresponding link object is this talking about? The only link objects in the "included" section are for part of individual resources; they're not associated with any collections.

The corresponding link object is not in the included section, but rather in one of the primary resource objects. To illustrate, I've added pagination links to the home page example which allow you to fetch subsequent comments without re-fetching the included ones:
{
  "links": {
    "self": "http://example.com/posts",
    "next": "http://example.com/posts?page[offset]=2",
    "last": "http://example.com/posts?page[offset]=10"
  },
  "data": [{
    "type": "posts",
    "id": "1",
    "title": "JSON API paints my bikeshed!",
    "links": {
      "self": "http://example.com/posts/1",
      "author": {
        "self": "http://example.com/posts/1/links/author",
        "related": "http://example.com/posts/1/author",
        "linkage": { "type": "people", "id": "9" }
      },
      "comments": {
        "self": "http://example.com/posts/1/links/comments",
        "related": "http://example.com/posts/1/comments",
        "next": "http://example.com/posts/1/comments?page[offset]=3",
        "last": "http://example.com/posts/1/comments?page[offset]=10",
        "linkage": [
          { "type": "comments", "id": "5" },
          { "type": "comments", "id": "12" }
        ]
      }
    }
  }],
  "included": [{
    "type": "people",
    "id": "9",
    "first-name": "Dan",
    "last-name": "Gebhardt",
    "twitter": "dgeb",
    "links": {
      "self": "http://example.com/people/9"
    }
  }, {
    "type": "comments",
    "id": "5",
    "body": "First!",
    "links": {
      "self": "http://example.com/comments/5"
    }
  }, {
    "type": "comments",
    "id": "12",
    "body": "I like XML better",
    "links": {
      "self": "http://example.com/comments/12"
    }
  }]
}

Ahh, ok. I totally misunderstood this. I'll close this PR.


Clarification on the database Lazaridis_1kg_AJ_full [Question]

Hi,
I wish to ask some question to understand the dataset loaded ?
In the Main_PCA_Pops.m file,  loading the database using the Load_Database_final stores the genomic data into Data_

I understand that Data_ is a 5043 by 128568 numerical matrix.
May I clarify if the 5043 rows of Data_ are the samples and the annotation for the samples can be found in Labels ?
As for the 128568 columns of Data, are they the gene name ?

May I clarify if the 5043 rows of Data_ are the samples and the annotation for the samples can be found in Labels ?
Yes
As for the 128568 columns of Data), are they the gene ?
Markers (SNPs), not genes.
From: Jeremy Selva @.>
Sent: Monday, December 19, 2022 7:49 AM
To: eelhaik/PCA_critique @.>
Cc: Subscribed @.***>
Subject: [eelhaik/PCA_critique] Clarification on the database Lazaridis_1kg_AJ_full [Question] (Issue #12)
Hi,
I wish to ask some question to understand the dataset loaded ?
In the Main_PCA_Pops.m file, loading the database using the Load_Database_final stores the genomic data into Data_
https://user-images.githubusercontent.com/9066508/208363863-a5cd564e-8f80-4531-a084-bd89f59d3aa2.png
I understand that Data_ is a 5043 by 128568 numerical matrix.
May I clarify if the 5043 rows of Data_ are the samples and the annotation for the samples can be found in Labels ?
As for the 128568 columns of Data), are they the gene ?
—
Reply to this email directly, view it on GitHub https://github.com/eelhaik/PCA_critique/issues/12 , or unsubscribe https://github.com/notifications/unsubscribe-auth/ACXRSUMN7JF7HK2XFIHS45LWOAAOFANCNFSM6AAAAAATDAL6MY .
You are receiving this because you are subscribed to this thread.  https://github.com/notifications/beacon/ACXRSUNV5FPAJUGOT47YEN3WOAAOFA5CNFSM6AAAAAATDAL6M2WGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHFTDGZQU.gif Message ID: @.*** @.***> >

Thank you for the information.
I believe the first column of the numerical matrix belong to rs3094315, the second column is rs9442372 and so on.


Update Readme.md

I want to update the Readme.md file so that users can easily understand the project.
@Vin205 Please assign this issue to me..

@rajatsinghal02 Sure, I'll assign this issue to her under GSSOC'24 Extended and Hacktoberfest.

@skmirajulislam Can you assign me too?

@swatified  Please ensure that someone has already submitted a pull request for this. If there isn't one, it's important to provide better visibility on the existing PR. Otherwise, there won't be any points awarded to either of you. you've assigned

#37

Hi, I am interested in working on this project, please assign me, and I'll share my solution as soon as you ping me !!


Fix issue where just-types feature does not emit namespace/package

This issue affects C# and Go, though I have not checked other targets.
C# issue: https://github.com/quicktype/quicktype/issues/1353
Proposed C# solution: Rather than inferring from the helpers and attributes options, explicitly define namespace as an option. The fix here is logically equivalent for complete and attributes-only features.
Proposed Go solution: Always output the package.

@untitaker That would be handy for some targets, though in C# + Java's case (and probably others) would not necessarily lead to idomatic code: the entire file needs indented and usually using statements that the renderer needs to write would need to live outside of the namespace.
For these two renderers, at the suggestion of @schani, I will make a new attribute option (perhaps just-types-and-namespace) since just-types is meant more for copy/pasting.

@schani Nevermind! I was expecting a specific step but was able to find the issues by digging through the logs. Thanks

@thegoldenmule Sounds good!

I will create a new branch for this.


Set the DeploymentStrategy to Recreate

Raising a PR as I believe that this is the best way to observe the error occurring as a result of #63.
Note that I have not yet made the changes I'm proposing, I'm hoping to see this break the tests.

This PR now has a unit test. It demonstrates that -

The reaper reconcile function creates a Reaper deployment with Recreate strategy.
If the strategy is changed to RollingUpdate the reconciler sets it back to Recreate.

For some reason that is beyond me, one of the tests (not mine) is now failing. I've done a rebase against master and I haven't done anything that should cause a failure.
I did do some reflog magic which may have had unintended consequences, so I'm going to close this, re-apply all of my patches and open a new PR to get this merged.


Update the FrictionJoint default max force/torque to non-zero values

Update the FrictionJoint class's default max force/torque values to non-zero to improve the ability to understand their use.
Today the defaults are 0, so if you don't set the values to something else, the friction joint will immediately stop all motion of the joined bodies which gives a false impression of the way it should function.

Fixed in 8d4c7a6ae15f2172d8639b4906df42a74cbe015f


Allow null conditions

This isn't something we plan on doing, right?

Yeah, I don't remember why I opened this.


Respect CMAKE_INSTALL_LIBDIR in installed CMake files

Fixes #3017

 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.

I don't think the CI failures are due to this patch. Would be great to get some feedback in any case.

Merge me? The glslang equivalent was merged ( https://github.com/KhronosGroup/glslang/pull/1980 )


Investigate custom React Native environment target for Webpack

Webpack allows to pass custom target, currently we use webworker one, however while working on migration to Webpack 4 we have faced few non-trivial issues, it might be a better idea to create our custom templates for Webpack bootstrap code, which would be still based on webworker but with few changes.

Let's do this!

Something similar is already done on next branch.


Flutter doctor not working with alpine/git system in Docker

I am trying to deploy a Flutter Web project with Docker, and I would like to install a light system when setting up Flutter. The problem is that if I install node:10 (with FROM node:10) everything works fine, but if I try to use alpine/git or node:10-alpine (that are way lighter and smaller than node) the flutter doctor command does not work, with the output I am pasting below. Is there something I am not doing and I should do when using alpine/git that maybe is automatically done with node?
Steps to Reproduce

When setting up the Dockerfile, do the following steps

Start file with FROM alpine/git
Install bash and curl with RUN apk add --no-cache bash curl curl-dev
Try to add RUN flutter doctor and you will have the following log

Logs

flutter doctor -v

Building flutter tool...
/usr/local/flutter/bin/cache/dart-sdk/bin/pub: line 49: /usr/local/flutter/bin/cache/dart-sdk/bin/dart: No such file or directory
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (9 tries left)
/usr/local/flutter/bin/cache/dart-sdk/bin/pub: line 49: /usr/local/flutter/bin/cache/dart-sdk/bin/dart: No such file or directory
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (8 tries left)
/usr/local/flutter/bin/cache/dart-sdk/bin/pub: line 49: /usr/local/flutter/bin/cache/dart-sdk/bin/dart: No such file or directory
Error: Unable to 'pub upgrade' flutter tool. Retrying in five seconds... (7 tries left)
^C

Solved by using FROM buildpack-deps:stretch-scm and by installing unzip.

Anyone has a solution for the Alpine base image? I am running in the same problem when migrating from archlinux to Alpine. It shouldn't be a path problem. Dart SDK is in the path but not executable..


Improve macro hygiene

improved macro hygiene by using more fully qualified paths. Main thing was swapping trait methods called with . for fully qualified trait methods, so that users don't always need to import leptos::* / leptos_router::* for macros to work.
Didn't bother as much for fully qualified std traits since no one is working in no_std anyways
(minor bit: also reformatted some quote_spanned! bits to follow convention (no space before =>) and remove redundant variable bindings)
might need to change up some #[allow(unused_braces)] if incorrect warnings appear

updated the snapshots just to test if everything else works, I can't tell if they actually pass tho (what are the snapshots testing?)

Cool, thanks! The snapshots are there to allow us to refactor macro internals without breaking macro output. Thanks for updating them for your new output. The fact that the CI on all the examples and all the crates passes suggests that changing the output doesn't break any behavior, so updated snapshots + all green otherwise here is perfect.
I think this effectively closes #227 as well.


Incorrect update count after deleting many rows from a table (starting from driver v3.36.0)

How to reproduce:
connection.createStatement().execute("drop table if exists test");
connection.createStatement().execute("create table test (id int not null)");
for (int i = 0; i < 500; i++) {
    connection.createStatement().execute("insert into test values(" + i + ")");
}
System.out.println(connection.createStatement().executeUpdate("delete from test"));

Expected output: 500
Actual output: 501
Works fine in v<IP_ADDRESS>
Incorrect behaviour introduced in v3.36.0
With small number of rows <500 outputs correct value.
If you increase number of rows e.g. 5000 then delta between expected and actual will increase. New driver will output 5010 instead of 5000

Did you perform some investigation to understand what was happening?

@gotson, no I haven't

I added a test and it passes in CI on all environments, I cannot reproduce your issue.

I confirm that the issue no longer present in 3.39.2-SNAPSHOT (but present in current release <IP_ADDRESS>)
@gotson, do you know when new version will be uploaded to maven central?

I confirm that the issue no longer present in 3.39.2-SNAPSHOT (but present in current release <IP_ADDRESS>)

Good catch, indeed i can reproduce with that test on <IP_ADDRESS>.

do you know when new version will be uploaded to maven central?

Hopefully this week. I am working on automating the release process.

@kornilova203 <IP_ADDRESS> has been released, i will close this.


org.bluez.Error.Failed: Not Powered

Hello, thanks for the program, but I encountered an issue when using it.
After running sudo nxbt demo command, I noticed the Bluetooth was being constantly turned off and on, and eventually, I got the error below:
An error occurred while running the demo: Traceback (most recent call last):   File "/usr/local/lib/python3.8/dist-packages/nxbt/controller/server.py", line 96, in run     itr, ctrl = self.connect()   File "/usr/local/lib/python3.8/dist-packages/nxbt/controller/server.py", line 371, in connect     self.bt.set_discoverable(True)   File "/usr/local/lib/python3.8/dist-packages/nxbt/bluez.py", line 549, in set_discoverable     self.device.Set(ADAPTER_INTERFACE, "Discoverable", dbus_value)   File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 141, in __call__     return self._connection.call_blocking(self._named_service,   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 652, in call_blocking     reply_message = self.send_message_with_reply_and_block( dbus.exceptions.DBusException: org.bluez.Error.Failed: Not Powered
I am using this program on elementary OS 6.1 which is based on Ubuntu 20.04 LTS (focal) with Python 3.9.

Have you turned bluetooth on?

Have you turned Bluetooth on?

The Bluetooth was powered on and can detect devices normally, but it will be constantly turned off and on until the terminal throws an error.


Express set of packages actually used in result/lock

Follow up on #35

Packages are now listed, and there's a method exposed to return them. Good 'nuff.


Soft shift should not be implemented in this way.

https://github.com/Zhaoyi-Yan/Shift-Net_pytorch/blob/master/models/soft_shift_net/innerSoftShiftTripleModule.py#L43-L48
It seems not correct. Because it can only handle pixel-to-pixel shift, not patch.

I will try to implement it tomorrow.

Hello Yan,
Yeah for now. It is an accelerated version for pixel to pixel shift. I will extend it later on ;)


Minimal example

Operating System: Windows 10
Node Version: v8.11.1
NPM Version: 5.8.0
webpack Version: 4.6.0
webpack-serve Version: 0.3.2
Browser: Chrome Version 66.0.3359.139 (Official Build) (64-bit)

This issue is for a:

[ ] bug
[ ] feature request
[ ] modification request
[X] Question/Improvement request see #92

Folder structure
dist\output.js
src\app.js
Index.html
package.json
webpack.config.js
Code
src/app.js
// file src/app.js
alert("Hello Word");

CLI Command
See the package.json below
  $ npm run live

webpack.config.js
const path = require('path');

module.exports = {
    entry: {
      index: [path.resolve(__dirname, 'src', 'app.js')]
    },
    mode: 'development',
    output: {
      filename: 'output.js'
    }
  };

package.json
{
  "name": "testserve",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "webpack",
    "live": "webpack-serve ./webpack.config.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.6.0",
    "webpack-cli": "^2.1.2",
    "webpack-serve": "^0.3.2"
  }
}

Expected Behavior
Load and execute the code on output.js
Actual Behavior
When navigate to http://localhost:8080 the browser log
404 NotFound for dist\output.js
How Do We Reproduce?
See above
Note
I understand that webpack-serve do not output nothing to dist folder and compile in memory I see #92 , but how to setup a minimal working config ? You can add on README ?

@m4ss1m0g please see the issue template for support options, and that is what you are seeking here.

👉🏽 Need support, advice, or help? Don't open an issue.
Head to StackOverflow or https://gitter.im/webpack/webpack.

there are a litany of examples in the tests as well that you can reference.

I disagree.
Good software must provide a minimum working example on the README page.
This is my opinion.

Here is a minimum working example: https://github.com/webpack-contrib/webpack-serve/blob/master/test/fixtures/basic/webpack.config.js. Feel free to add it to the README via a Pull Request


Demo recording with dpkdir does not store package names

We may want to at least store package basename.
When recording a demo (for example with plat23 map) with data being loaded from dpkdir, I have to do set fs_extrapaks "map-plat23 unvanquished" to be able to load the demo, otherwise required files like map bsp and game config files are not found.
On the contrary, when recording a demo from a released game, when playing demo from main menu, required packages are loaded.
I have no idea how such package names are loaded in demos.

Or maybe it's because I record with devmap, I don't know, but in the end the demo isn't usable without fs_extrapaks hacks.

Well there's no checksum for a dpkdir, so there's no way to know if we're loading the right thing.
I'm tempted to suggest that recording a demo from a dpkdir should be an error, but that would testing annoying. It should print a warning at least.

Having a warning is a good idea (and I would already know where lives the code if there was already one!), both when storing and when reading, telling the user such demo is not reliable.
But I would prefer storing a package list without version string (with the risk the one being loaded is to old/too new) than to store nothing.


Add patient preferences to no-PHI view for Metabase user

Related Issue or Background Info
#1680
Changes Proposed

Join patient_preferences onto the no-PHI view for person

Additional Information
Screenshots / Demos

Checklist for Author and Reviewer

[ ] The migration works as expected and the view contains all expected data

UI

[x] ~Any changes to the UI/UX are approved by design~
[x] ~Any new or updated content (e.g. error messages) are approved by design~

Testing

[x] Includes a summary of what a code reviewer should verify

Changes are Backwards Compatible

[x] Database changes are submitted as a separate PR

[x] ~Any new tables that do not contain PII are accompanied by a GRANT SELECT to the no-PHI user~
[x] Any changes to tables that have custom no-PHI views are accompanied by changes to those views

[x] ~GraphQL schema changes are backward compatible with older version of the front-end~

Security

[x] ~Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)~
[x] `Any dependencies introduced have been vetted and discussed~

Cloud

[x] ~DevOps team has been notified if PR requires ops support~
[x] ~If there are changes that cannot be tested locally, this has been deployed to our Azure test environment for verification~

Sorry to be the slowpoke here! I would recommend running this through test to make sure the test metabase instance works, since we can't otherwise test before we go to prod.

Metabase looks good!


Devices package: on gamepad button - 1 down and 1 up events are reversed

Seems to be due to the values of _1Down and _1Up.
The reversal occurs in devices\devices.cpp and devices\enums.d.ts.
Related definitions in core look OK.
devices\devices.cpp
    //% block="1 down"
    _1Down = MES_DPAD_BUTTON_1_UP,
    //% block="1 up"
    _1Up = MES_DPAD_BUTTON_1_DOWN,

devices\enums.d.ts
    //% block="1 down"
    _1Down = 10,  // MES_DPAD_BUTTON_1_UP
    //% block="1 up"
    _1Up = 9,  // MES_DPAD_BUTTON_1_DOWN

Fix in 0.12.15

@pelikhan thanks for lightening quick fix, but I can't seem to get it to work.
I'm trying it on beta (pxt.microbit.org version: 0.12.15, Microsoft MakeCode version: 0.12.77, C++ runtime version: v2.0.0-rc9).
I had a look in Project Settings / Explorer and it looks like devices.cpp has the assignments right now but enums.d.ts is still wrong and wasn't changed by commit "swap 1 down / 1 up".
Or is there something I'm not doing when I import my hex?

Thanks @pelikhan . It works now.


Make it possible to not include reverse edges

Reverse edges are optional in Doctrine (so all entities don't have them) and crowd the generated graphs, so it is handy to be able to disable them.

Hello, do you intend to merge this PR ? I am very interested in that feature. Thank you !


Setting Box2DPhysicsBody.enabled will emit "enabled_state_changed" signal, unlike awake property

This is because we do not set prev_enabled_state in set_enabled. This may be favorable for some people, but it is not consistent with the behavior for sleeping state (which aligns with the intended Godot physics behavior to not emit the signal when manually modified).

Okay so when writing this I totally forgot why we even have the signal, which is to update fixture debug draw. However, from an application dev perspective this signal still does not make any sense to use. Perhaps this could be refactored to not use outward-facing signals.


Add scoop

Scoop is a popular command-line installer for Windows. This PR replaces the existing !scoop for www.scoop.it because the website appears to be low-traffic.

I'd prefer keeping the old bang if possible, but changing the trigger to something else like scoop-it. The other option is leaving the old one as-is but giving this new one an unused trigger (is sco taken?)

I added scoop-it as suggested.


import various msprime.DemographyDebugger functionality

There's lots of super cool stuff in msprime.DemographyDebugger. In particular the possible_lineage_locations() and coalescence_rate_trajectory() methods (and associated methods) are a very natural fit for inclusion in demes. Msprime is GPL, so we'd need to explicitly relicense some parts more permissively.
$ git blame demography.py -L800,1600 -c | cut -f2 | sed 's/(//' | sort -u
Graham Gower
Jerome Kelleher
     peter

I'm fairly sure Aaron's also an author of this stuff, so I'm not sure why his name doesn't appear (maybe there are other names missed by git blame too).

Are you talking about copying the code in @grahamgower or importing msprime to get the functionality? If it's the former, I wouldn't get too hung up on the licensing issues...

Copying the code. Yeah, I don't expect any problems (authors/copyright holders can relicense as they wish), but I didn't want to give the impression that this was being ignored. It can be a real issue in other projects.

Having numerical algorithms in demes is probably not ideal. Users can import a demes model into msprime, so I'm going to close this.


Plugin is triggering simply by opening my bank

Every time I open my bank, the plugin sees that I have souls in there says I crafted it and made profit, when I'm not actively crafting any souls

A fix has been submitted, just waiting on RuneLite team to approve.


Add support for the nasm assembler

Hopefully adding support for it shouldn't be overly intrusive.

I'm going to close this since I don't think it's something we're going to want to add here. It's always possible to call nasm directly in a build script and I don't think that this crate would really offer too much over doing that.

The nearly-orphaned nasm-rs crate duplicates a good deal of the same logic present in cc-rs so I was planning to move the nasm-specific bits and avoid it since we have to use nasm for x86 and as for arm.


Documentation on shap.GradientExplainer

I would appreciate if there would be more documentation on the shap.GradientExplainer function.
Where are the indexes coming from (here from the example) and what do they mean?
shap_values,indexes = e.shap_values(map2layer(to_explain, 7), ranked_outputs=2)
How is this working for a binary classification?

Happy to add more there if it is helpful. What parts of the description in help(explainer.shap_values) is confusing/I should improve?

With help(e.shap_values) you mean this: https://shap.readthedocs.io/en/latest/# ?
But on this documentation I cannot find any specific doumentation for the shap.GradientExplainer.
I am also very much interested if this would work for a binary image classification.
Regards.

Ah, I see. help() is the python documentation function that prints docs for any object. ReadTheDocs was not including GradientExplainer and so I have not fixed that. thanks!

Great, thanks for adding the documentation.


Make duration strings use rounding

Currently, it floors everything, so 47 hours turn out as "1 day", which is confusing for everyone. It was also inconsistent with Punishments#checkLockExpiration(), which does regular rounding. Locks showed up as "2 days" and roombans as "1 day" despite roombans lasting longer.

Maybe this should be an option so it doesn't mess with /uptime

/uptime doesn't pass a precision to toDurationString(), so rounding would not be in effect anyway (because it's displayed in full length). I suppose having it as an option wouldn't hurt, but I can't really imagine a situation where rounding down everything would be preferred?

Oh right, yeah this is fine then my bad.


Question: Support for sparse embeddings?

Hi, I was wondering whether is would make sence to support models which, in addition to dense vectors, also support sparse and colbert. For example, BGE-M3 works well under infinity for dense vector retrieval. However, it would require some changes to the inference process to additionally obtain sparse vectors such as shown here:
https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/BGE_M3/modeling.py#L352-L355
I wonder if for such case, it's feasible to add extra config parameters in the CLI or that would require too much changes to the core logic of the model during startup?

The most staigtforward way to do this at this moment would be to:

fork BGE/m3
Add a “trust_remote_code=True” - ship the code above
See if the postprocessing (e.g. normalization) influences the new embedding model.

If you end up getting it done - I would love to feature it here!
Also if you have
I personally think the results from BGE-m3 paper are a bit to hastly - the performance does not reach high enough level for a paradigm change.

same question now

Hi @michaelfeil , sorry for the late reply. I actually ended up implementing a very basic and manual version of sparse embeddings for BGE-M3, but it is so slow and occupy so much GPU vram that I just switched to use  the simple bm25 in elasticsearch for lexical search instead haha.

Hi, I was wondering whether is would make sence to support models which, in addition to dense vectors, also support sparse and colbert. For example, BGE-M3 works well under infinity for dense vector retrieval. However, it would require some changes to the inference process to additionally obtain sparse vectors such as shown here: https://github.com/FlagOpen/FlagEmbedding/blob/master/FlagEmbedding/BGE_M3/modeling.py#L352-L355
I wonder if for such case, it's feasible to add extra config parameters in the CLI or that would require too much changes to the core logic of the model during startup?

Hi, can support for colbertv2.0 ?

@sunzx8
Why are you using threading.Lock? This is harmful for performance & the opposite of how its meant to be.
Please call multiple of these from multiple threads.
future: "Future" = self.register.embed(
            sentences=texts, model_id="model/BAAI/bge-m3/main"
        )

Defer this until you actually need the embedding.
emb_result = future.result()

@sunzx8 Why are you using threading.Lock? This is harmful for performance & the opposite of how its meant to be.
Please call multiple of these from multiple threads.
future: "Future" = self.register.embed(
            sentences=texts, model_id="model/BAAI/bge-m3/main"
        )

Defer this until you actually need the embedding.
emb_result = future.result()

Thanks for the quick reply, do you have the code for the best practices in multiple batch cases? I wrote one myself, but found that batch>1 gets stuck
here's my code
`
from typing import List, Tuple
import time
from transformers import AutoTokenizer
from models.models import TokenNumExceedException, MODEL_DIM
from embed import BatchedInference
from concurrent.futures import Future
class BgeM3InfinityModel():
def init(self):
self.tokenizer = AutoTokenizer.from_pretrained("/data/upload_files/embedding_worker/model/bge-m3", use_fast=False)
self.register = BatchedInference(
model_id=["/data/upload_files/embedding_worker/model/bge-m3"],
engine="torch",
device="cuda",
)
def encode(self, texts: List[str], tickets: int = -1) -> Tuple[List[List[float]], List[int], bool, int]:
    start_time = time.time()

    future: Future = self.register.embed(
        sentences=texts,
        model_id="/data/upload_files/embedding_worker/model/bge-m3"
    )

    emb_result = future.result()
    self.register.stop()
    endtime=time.time()

    result = [item.tolist() for item in emb_result[0]]

    return result,int((endtime-start_time) * 1000)

def get_name(self):
    return 'BAAI/bge-m3/infinity'

def get_dim(self) -> int:
    return MODEL_DIM.LARGE.value

from typing import List, Tuple
from concurrent.futures import ThreadPoolExecutor
import numpy as np
from tqdm import tqdm
class ThreadedInference:
def init(self, model: BgeM3InfinityModel, num_threads: int = 4, batch_size: int = 32):
self.model = model
self.num_threads = num_threads
self.batch_size = batch_size
def _process_batch(self, texts: List[str]) -> Tuple[List[List[float]], List[int], bool, int]:
    """处理单个批次的文本"""
    return self.model.encode(texts)

def process_texts(self, all_texts: List[str]) -> List[List[float]]:

    batches = [
        all_texts[i:i + self.batch_size]
        for i in range(0, len(all_texts), self.batch_size)
    ]

    all_embeddings = []

    with ThreadPoolExecutor(max_workers=self.num_threads) as executor:
        futures = [
            executor.submit(self._process_batch, batch)
            for batch in batches
        ]

        for future in tqdm(futures, desc="Processing batches"):
            embeddings, time_cost = future.result()
            all_embeddings.extend(embeddings)
            print("time:",time_cost)
    return all_embeddings

def main():
model = BgeM3InfinityModel()
threaded_inference = ThreadedInference(
    model=model,
    num_threads=4,
    batch_size=32
)

texts =   ["this page aims to give you an overview of milvus by answering several questions. after reading this page"]
texts=texts*100
# print(texts)
embeddings = threaded_inference.process_texts(texts)

print(f"处理完成，共获得 {len(embeddings)} 个嵌入向量")

if name == "main":
main()
`

Ohh, thanks! @michaelfeil . I did hear a lot about BM25 hence asked.


Adding new concept macros to parametric types?

I want to implement some simple vector-math (just adding arrays or vectors for now).
So I would need to create concept-macros like +, which defines a function for the specified type.
The type should have to implement some specific concept, like being able to create iterators.
Also the elements of the Iterator type would have to implement the + function.
Would I need to implement some parametric concept macro like (HasIterator Addable)?
Is this even possible? Or how would this be done?

I already made some simple working version (as long as I don't use it from other packages) without type-checking,
https://github.com/porky11/planet0s/blob/working/src/sequence-math.dt#L22
(If you find something useful in my project, feel free, to add it to your repo)

On Sat, Sep 10, 2016 at 02:19:08PM -0700, Fabio Krapohl wrote:

I already made some simple working version (as long as I don't use it from other packages) without type-checking,
https://github.com/porky11/planet0s/blob/working/src/sequence-math.dt#L22
(If you find something useful in my project, feel free, to add it to your repo)

An example of how to do this with a function expansion:
(import cstdio)
(import macros)
(import stdlib)
(import array)
(import concepts)
(import assert)
(import algorithms)

(using-namespace std.macros
(using-namespace std.concepts
  (def-concept Addable (refines Type) (T)
    (let ((success \ true))
      (concept-assert
        (exists-fn mc (qq (uq T) + (uq T) (uq T)))
        T "+ is not defined over this type")
      success))

  (def-concept-macro + extern ((T Container))
    (assert-concept (value-type (nullptr (uq T))) Addable)
    (using-namespace std.macros
    (qq do
      (import unistd)
      (def + (fn extern (retval (uq T)) ((a (uq T)) (b (uq T)))
        (let ((size \ (size a)))
          (and (!= (size a) (size b))
            (do (fprintf stderr "containers are not of equal size\n")
                (abort)))
          (let ((ab \ (begin a))
                (bb \ (begin b))
                (ob \ (begin (@ retval)))
                (ae \ (end a)))
            (for true (!= ab ae) (do (setv ab (successor ab))
                                     (setv bb (successor bb))
                                     (setv ob (successor ob)))
              (sink ob (+ (@ (source ab))
                          (@ (source bb)))))))
        (return))))))

  (implement Addable float)
  (instantiate Array float 2)
  (instantiate + (Array float 2))
))

(def main (fn extern-c int (void)
  (def x (var auto (Array float 2)))
  (setf ($ x 0) 0.1)
  (setf ($ x 1) 0.2)
  (def y (var auto (Array float 2)))
  (setf ($ y 0) 0.3)
  (setf ($ y 1) 0.4)
  (setv x (+ x y))
  (printf "%f %f\n" (@$ x 0) (@$ x 1))
  0))

This uses the 'concept-assert' macro from the 'concept-defs' module,
as well as the 'assert-concept' macro from the 'algorithms' module
(not great names).  '+' should be checking that the iterator for 'T'
implements 'OutputIterator', but cannot at the moment, because there
is no 'iterator-type' macro for containers.  This is because the
expectation was that most concept macros and expansions would take
iterator arguments instead.  (It's not difficult to add these macros
to the core libraries, and there's no problem with doing so, it's just
that they don't currently exist.)


Job Posts CRUD page

Created a CRUD page for the job_post table in the MySQL DB, with full view/edit/delete funcionality. Also fixes minor issues related to CRUD for the table elsewhere, and adds this page to the navbar. Reused CSS from the BACKEND_DEBUG page, will need fixing by Front-End later.

Job posts page reviewed and all is ready to be mergerd


What is the role od guardian module?

Hi,
Trying to understand the code, I want to know what the role of the guardian module is. What does it specifically do?

Guardian - A new safety module that performs the function of an Action Center and intervenes should Monitor detect a failure.
link

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


ASB-267: acceptance tests amended as per new routes

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket: