Use SHAP with custom class neural network

Hello,
I'm trying to explain the behaviour of a custom neural network using SHAP (the class of the custom neaural network is called foo and have a method predict that have as parameter np.array to masquerade the output).
The structure of the neural network is:
Layer (type)                    Output Shape         Param #     Connected to
input_1 (InputLayer)            [(None, 72, 57, 34)] 0

one_hot_encoder (OneHotEncoder) (None, 72, 57, 55)   0           input_1[0][0]

learnable_background (Learnable (None, 72, 57, 63)   32832       one_hot_encoder[0][0]

sequential (Sequential)         (None, 72, 57, 512)  32768       learnable_background[0][0]

dense_1 (Dense)                 (None, 72, 57, 1)    513         sequential[0][0]

input_2 (InputLayer)            [(None, 72, 57, 1)]  0

multiply (Multiply)             (None, 72, 57, 1)    0           dense_1[0][0]
_                                                                                input_2[0][0]
As u can see this network have 2 input layer (one of the two is connected to the last layer and it is intended to exclude few points from the 57*72).
With shap 0.36.0 and TF 2.1.0 i have an issue trying to apply the DeepExplainer and KernelExplainer to this model because the neural network is wrapped in a custom container class and DeepExplainer seems not able to recognize the model type
code for DeepExplainer:
explainer = shap.DeepExplainer(model_, [background, target_1])
error:
AssertionError: <class 'foo'> is not currently a supported model type!
and i'm not able to use KernelExplainer as well because the method does not want a list as input.
Code:
explainer = shap.KernelExplainer(model_.predict, [background, target_1])
error:
AssertionError: Unknown type passed as data object: <class 'list'>
Can u help me to solve this problem? Do you need some additional information?
Thanks

Hi Simb94,
Extending DeepExplainer might be a bit more complicated.  If you wanted to try out KernelExplainer, I believe it expects data to be a 2D array.  This means that even deep models that use images as inputs don't work naively.  Instead, you can just transform data to be 2D (nsamples, nfeatures) and define a prediction wrapper that transforms a given sample into the format your model expects and then calls predict (here's an example).


Additional cleanup for repeated reinstall of ansible roles

Repo from php role messes up apache installation:
apache2-mpm-prefork : Depends: apache2 (= 2.4.7-1ubuntu4.9) but 2.4.18-1+deb.sury.org~trusty+2 is to be installed
apt-cache output:
apache2:
Installed: (none)
Candidate: 2.4.18-1+deb.sury.org~trusty+2
Version table:
2.4.18-1+deb.sury.org~trusty+2 0
500 http://ppa.launchpad.net/ondrej/php5-5.6/ubuntu/ trusty/main amd64 Packages
2.4.7-1ubuntu4.9 0
500 http://mirrors.digitalocean.com/ubuntu/ trusty-updates/main amd64 Packages
2.4.7-1ubuntu4.5 0
500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
2.4.7-1ubuntu4 0
500 http://mirrors.digitalocean.com/ubuntu/ trusty/main amd64 Packages
Can be reproduced by repeated install of Jenkins playbook(whether due to other installation errors, or during upgrade from previous Cibox version).

ok to test

@temoor-gilmutdinov thank you for patch!


HTTPError: 400 Client Error: Bad Request for url: https://api.cloudflare.com/client/v4/zones

I'm configuring dehydrated with CloudFlare but getting following error.
I  would be very happy if anyone can quick help.

ENV- Python-3.5

+ CloudFlare hook executing: deploy_challenge

Traceback (most recent call last):
 File "/opt/dehydrated/hooks/cloudflare/hook.py", line 206, in <module>
   main(sys.argv[1:])
 File "/opt/dehydrated/hooks/cloudflare/hook.py", line 203, in main
   ops[argv[0]](argv[1:])
 File "/opt/dehydrated/hooks/cloudflare/hook.py", line 167, in create_all_txt_records
   create_txt_record(args[i:i+X])
 File "/opt/dehydrated/hooks/cloudflare/hook.py", line 105, in create_txt_record
   zone_id = _get_zone_id(domain)
 File "/opt/dehydrated/hooks/cloudflare/hook.py", line 82, in _get_zone_id
   r.raise_for_status()
 File "/usr/lib/python3/dist-packages/requests/models.py", line 940, in raise_for_status
   raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.cloudflare.com/client/v4/zones?name=space

The fix for this is to do this.
Change https://github.com/kappataumu/letsencrypt-cloudflare-hook/blob/master/hook.py#L21
To:  import tld
And change: https://github.com/kappataumu/letsencrypt-cloudflare-hook/blob/master/hook.py#L79
To: tld = tld.get_fld('htt://' + domain)

FYI: this repo is abandoned by its owner, but there is a maintained fork that does not have the mentioned issue:: https://github.com/walcony/letsencrypt-cloudflare-hook .  Feel free to open an issue in that repo if you find a problem.

I have this same problem with https://github.com/walcony/letsencrypt-cloudflare-hook, and issues are not enabled on that repo!

I enabled Github Issues on that repo, can you create an issue there?  https://github.com/walcony/letsencrypt-cloudflare-hook/issues/new/choose

Thanks @YasharF for that! It is working fine for me without any changes (just swapped old version with yours).


Card: Michael "The Badger" Dodge (#232)

I went through several iterations here before it was all working, so lmk if this is not the best way to do things. In particular:

Should the needed pull be listed as a cost? Manually calling handlePull() in the body of the handler just gave me the value of the pulled card, I couldn't find any other way to check the suit.
Is thenExecute() needed? It wasn't clear to exactly what it does, I added it while fixing a bug with the unbooted dudes calculation (but the bug was actually elsewhere, I'm pretty sure).

thenExecute is used after an event, if you want to perform something only after the event has been executed.


adapt breaking changes of dapr 1.0.0.rc.1

Dapr v1.0.0-rc-1 introduced following breaking change:

The following annotations are no longer supported:

dapr.io/id
dapr.io/port
dapr.io/protocol

Instead, use the following:

dapr.io/app-id
dapr.io/app-port
dapr.io/app-protocol

This PR fixes the renamed annotations when deploying with Tye to k8s.

Looks like a test needs to be updated in this PR. Generate_DaprApplication

Looks like a test needs to be updated in this PR. Generate_DaprApplication

@jkotalik I've fixed the failing test, but now the OSX build fails in IngressStaticFilesTest with an internal server error.

Looks like a flaky test.

Yeah, the second run succeeded 👍


Make it possible to use Spark 2 with Java 7 again

My projects cannot go to Java 8 yet, but still I would like to use Spark 2 as I believe Spark 1.1 will no longer see updates.
The changes necessary to make it compatible are trivial, without affecting the ability to use Lambdas in Java 8 code.
Please have a look at it, I'd be happy to donate the changes, but I realize that this change affects the setup significantly.
Commit message below:
move tests to a separate module to be able to run it with a different language level within IDEA

com.sparkjava:tests runs on java 8 to make use of lambdas
IDEA does not support different language levels for code and tests, so it has to be in separate modules

changes to spark-core are trivial, just making some variables final as per Java7 requirements

+1

+1

+10086

This is almost two years old, it's realistically not going to happen... Hopefully there are fewer people locked to Java 7 out there now.


When recording from texture with camera running, the camera turns black and stutters in the first few frames

It seems like the camera device is being reset at the start of recording, along with some stuttering

Hey @ctrlaltdel85 can you share an example video showing this bug? And what version of VideoKit are you on?

https://user-images.githubusercontent.com/54692686/219899998-39e88fdd-4470-41dd-95b0-5d517a67e7f2.mp4
This is a video taken with VideoKit 0.0.9 with Unity 2022.2.6 on MacOS. The black doesn't happen on the iPhone, but instead I get a noticeable 0.5 second stutter. I'm currently working on ways to skip the video playback to start at a certain point, unless you think the stutter can be fixed.

Oh a stutter at the very start of your first recording typically happens because the OS is provisioning the hardware encoder. It is impossible to avoid this, and it should only happen on your very first recording. Can you confirm whether it happens in subsequent recordings?
Also, that's a cool bar you're at 😎

The UI stutters for a moment in subsequent recordings but the recording seems fine. Does the stutter only happen when the camera is enabled? I'm thinking of creating a tiny recording at the start of the app to initialize the recorder.
Btw I'm at the cafe above the comedy cellar in NYC!

The UI stutters for a moment in subsequent recordings but the recording seems fine. Does the stutter only happen when the camera is enabled? I'm thinking of creating a tiny recording at the start of the app to initialize the recorder.

I'll add this to the VideoKitRecorder so you don't have to.

Btw I'm at the cafe above the comedy cellar in NYC!

 I'm in NYC too, let's meet up :D . I'll DM you on Discord.

Also @ctrlaltdel85 back to the original issue, I think this might stem from the fact that you're recording from a texture. Just to confirm: are you assigning the recording texture before you start recording? In the next update, we'll be requiring this.

This should be fixed in VideoKit 0.0.10.


TCP port 5760 not receiving routed messages

For some reason in latest I'm not receiving any mavlink messages on the local TCP port anymore. Connection establishes successfully, but nothing is received afterwards.

Ah sorry, I am getting the messages, except my mavlink_parse_char() function is no longer returns valid message. I'll debug further on my side.

@broody do you know the last version in which it was working?

@lucasdemarchi It was working on v01.00.04, let me double check this.

that version of BSP was not actually using mavlink-router

Quick test here on my computer with a pixhawk connected to a usbserial:
Change examples/heartbeat-print.py to use TCP:
mav = mavutil.mavlink_connection('tcp:' + sys.argv[1])

Start mavlink-router:
./mavlink-routerd -e <IP_ADDRESS>:14550 /dev/ttyUSB0:921600

running the example I get:
./examples/heartbeat-print.py <IP_ADDRESS>:5760
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}

Also works with a test config file:
$ cat /tmp/test.conf
[General]
TcpServerPort=5760
ReportStats=false

[UartEndpoint flightstack]
Device = /dev/ttyUSB0
Baud = 921600

./examples/heartbeat-print.py <IP_ADDRESS>:5760
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}
HEARTBEAT {type : 2, autopilot : 3, base_mode : 81, custom_mode : 0, system_status : 3, mavlink_version : 3}

I just flashed v01.00.04 and remember now, it includes mavlink-routerd but it's the version without the local TCP port or conf file enabled. I had to pulled the latest mavlink-router (I think this was around March 22nd) and compile to enable local TCP port.
Thanks for the test examples, I'll give these a try.

@broody you may find #75 useful for debugging

Ah it's working now. It was because I was using the v1.0 protocol. Looks like I need to use v2.0.


Add the —bin-path option to swift build

Resolves SR-5259

LGTM, one minor request.
Thanks!

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


Get http://localhost/api/habridge/version error

With the latest version (4.1.2) I attempted a GET to retrieve the bridge version number in an application which failed.
 Reason:    Not Found)
Has this GET option been altered or removed?

It is not in that location anymore, try http://localhost/system/habridge/version

Documentation fixed

No Problem, I figured the get had been changed some how as everything else I've tried using get/put/post works.


Multi-Channel Audio playback

This PR adds multi-channel audio support to MTY_Audio for Windows and macOS. The MTY_AudioCreate function has been enhanced with the ability to specify multi-channel audio parameters. All platforms have been changed to respect these parameters however proper surround sound audio will only work on Windows and macOS at the moment.

Sample = one sample of audio
Frame = one sample for each track.

To be clear, the definitions I am using (which all the APIs use) is:
Sample = the smallest unit of audio data for a single channel.
Frame = a single package of audio data that includes all channels.
So if the audio format is signed 16-bit integer and the channel count is 2 (stereo), then:
1 sample is a single 16-bit value.
1 frame consists of 2 16-bit values, one for left-channel and one for right-channel.


Arm64 support

Proposal
Whether arm is supported?
Use-Case
I want to deploy my application on ARM machines, so I need to deploy Percona XtraDB Cluster (PXC) on these machines too.
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response

hey @dalesia ,
yeah, we have it in our roadmap. As for Operator itself, we have it done. But the problem is with building PXC and other tooling on ARM.
Right now it is not supported, but we are working on it.
I'm curious about your use case - why do you need ARM? Is it because of Graviton?

hey @dalesia ,
yeah, we have it in our roadmap. As for Operator itself, we have it done. But the problem is with building PXC and other tooling on ARM. Right now it is not supported, but we are working on it.
I'm curious about your use case - why do you need ARM? Is it because of Graviton?

hey @spron-in
Because our application is deployed on an ARM machine, the application needs to connect to the k8s pxc in the same cluster。

Since the cluster repo has issues disabled, I would like to +1 here. Operator works on ARM but XtraDB Cluster doesn't. Is there anything blocking you from providing ARM64 support? I'm asking because I'm using Hetzner's ARM offerings which are very cheap for a lot of power.


gam update org fails with - NameError: name 'getUsersToModify' is not defined

The issue tracker is for reporting product deficiencies. "How do I?" questions should be posted to the discussion forum at https://groups.google.com/group/google-apps-manager. When in doubt, start at the discussion forum and return here only when instructed to do so.
Please confirm the following:

I have upgraded to the latest GAM release from https://git.io/gamreleases and I still have this issue.
I am typing the command as described in the GAM Wiki at https://github.com/jay0lee/gam/wiki

Full steps to reproduce the issue:

gam update org xxx/yyy add user john

Expected outcome (what are you trying to do?):
User moved to specific OU.
Actual outcome (what errors or bad behavior do you see instead?):
Traceback (most recent call last):
File "gam_main_.py", line 50, in
File "gam_main_.py", line 45, in main
File "gam_init_.py", line 11254, in ProcessGAMCommand
File "gam\gapi\directory\orgunits.py", line 232, in update
NameError: name 'getUsersToModify' is not defined
[27208] Failed to execute script main

You can work around this as follows:
gam update user john org xxx/yyy
Ross


Opencast won't start if a system jar with the same version is also in the deploy folder

Opencast won't start if a system jar with the same version is also in the deploy folder:
org.osgi.framework.BundleException: Bundle symbolic name and version are not unique: opencast-admin-ui-frontend:14.0.0.SNAPSHOT
	at org.apache.felix.framework.BundleImpl.createRevision(BundleImpl.java:1352)
	at org.apache.felix.framework.BundleImpl.<init>(BundleImpl.java:114)
	at org.apache.felix.framework.Felix.installBundle(Felix.java:3287)
	at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:147)
	at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundle0(BundleIdBasedRegion.java:120)
	at org.eclipse.equinox.internal.region.BundleIdBasedRegion.installBundleAtLocation(BundleIdBasedRegion.java:100)
	at org.apache.karaf.features.internal.service.BundleInstallSupportImpl.installBundle(BundleInstallSupportImpl.java:135)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.installBundle(FeaturesServiceImpl.java:1145)
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:906)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

	at java.base/java.lang.Thread.run(Thread.java:829)

This error was seen in OC 14. I'm pretty sure that this used to work, but going as far back as OC 12 still shows the same error. Probably was changed by a Karaf update a while ago. Before, Karaf would just pick one at random iirc (which isn't much better). But this means that you can't (or shouldn't) use the deploy folder to update an existing Opencast module (which I sometimes like to do to avoid an OC restart) because while this works just fine at that moment, Opencast won't start up again once shutdown for any reason. Which can be a nasty surprise.
I would like for Karaf to pick the module from the deploy folder in hat case, but not sure if that's possible and how to do it.

That doesn't seem like a bug; it seems more like intended behavior. During development, it's easy to redeploy a bundle with the Karaf console bundle:watch or bundle:install

I agree. Loading from two places could certainly result in unforeseen behavior. It wouldn't be clear which bundle would be loaded first and therefor, which bundle would “win”. You could easily end up with one version the first time and with the other version after a restart.

Sure, but this was actually kinda useful for production as well, and I'm pretty sure this used to work. Right now the behavior is kind of weird, bc it works fine until somebody restarts Opencast, and then the service won't start anymore. :/

Ah, I was to fast with replying. :D @lkiesow I agree that we don't want to go back to Opencast basically throwing the dice for which module version to use. I think the most reasonable expectation right now is that the module in the deploy folder would win.

You could update the bundle in the system folder and force a reload.

Yep, that's what I usually do and recommend when I want to update a bundle without updating the version.

You could update the bundle in the system folder and force a reload.

Can I do that without restarting Opencast? :eyes:

If you have access to the Karaf console, yes.

If you have access to the Karaf console, yes.

I currently don't - any idea how to do that on a server without restarting Opencast to run the start script directly? :D (:turtle:  all the way down...)

You can enable the remote console which can be accessed via SSH. https://karaf.apache.org/manual/latest/#_sshd_server

You can enable the remote console which can be accessed via SSH. https://karaf.apache.org/manual/latest/#_sshd_server

Interesting, I thought this was more difficult. Though I wonder if it's a good idea to turn this on in a production system...
Back to topic: I still maintain that accepting a bundle with the same version in the deploy folder initially and only falling over dead when restarting later is kind of blegh. :D


Activity. "was downloaded via public link" activity looks as spam

ocis 6.5.0
web. 10.3.0
related: https://github.com/owncloud/ocis/issues/10295
Steps:

admin creates space (or folder) and uploads inside 10 .png and .txt files
admin creates public link to space/folder
public opens link -> makes refresh page twice or more
admin opens activity

Actual: hundreds of activities that public downloads file

If we could destinguish a notification type and the affected resource, the clients could "condens" the view, ie by displaying "file foobar.png was downloaded 15 times".
According to @kulmann the activity identifier is missing in the activity data. Please add that  @micbar. After that, @bkulman please build a more condensed view.

the problem here is that activity generates for GET preview and HEAD preview request

admin adds 5 .png files to folder and creates public link to folder
public opens link (admin gets 5 activity for HEAD preview request, and 5 activities for GET preview request)
public opens file detail (+1 activity again)
public opens one .png file in the image preview (+5 activity again)
public refresh page (+10 activities again)

Total: 26 activities that file.png was downloaded via public link WylawZkpQWBVlpe.
Public hasn't downloaded the file once.

Public hasn't downloaded the file once.

This isn't correct. When you open a public link (or refresh it) the file WILL be downloaded from the webclient. You don't have the effect when opening a folder.

"file foobar.png was downloaded 15 times".

This is probably the best option. Not sure if aggregating frontend or backend side is better. Probably both has its (dis-) advantages.

IMHO was downloaded in user context that is pressing the download button for the resource and getting file in file system?

I agree. But the server only sees the request to download the file, not the user pressing the download button. This is only happening on the client side.

Hm when I share an image with a public link and then open the link in a private window I can see an actual GET request to the full image, but I had to search the UI for the actual download action. So in theory we can differentiate thumbnail and actual download requests.

Decision

Fix it or
Disable it if the fix exceeds the time slot

Public hasn't downloaded the file once.

This isn't correct. When you open a public link (or refresh it) the file WILL be downloaded from the webclient. You don't have the effect when opening a folder.

We have an open issue for this behavior: https://github.com/owncloud/ocis/issues/10231


Have EnvFile own the path with PathBuf instead of borrowing

What's the story on this PR?

@stratact I'll include it for now, though I'll want to have this fixed to compile with rustc 1.24.1 ASAP.

Roger!


[SPARK-15327] [SQL] fix split expression in whole stage codegen

What changes were proposed in this pull request?
Right now, we will split the code for expressions into multiple functions when it exceed 64k, which requires that the the expressions are using Row object, but this is not true for whole-state codegen, it will fail to compile after splitted.
This PR will not split the code in whole-stage codegen.
How was this patch tested?
Added regression tests.

Test build #59041 has started for PR 13235 at commit 4fcd0c7.

Test build #59041 has finished for PR 13235 at commit 4fcd0c7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59041/
Test PASSed.

Thanks! Not sure if I understand it correctly, but what happens when the whole-stage codegen generates code longer then 64k? Because I thought about fixing this issue by passing some of the variables to the generated functions (but was not sure how to do that exactly).

hm this pull request outlines a problem with whole stage codegen, i.e. it is too convoluted at the moment and needs cleanup. Looking at the diff it is difficult to understand why this fixes a problem. We should still fix it, but really refactor and clean things up soon.

It looks like #12351 is the same issue about whole stage codegen with splitExpressions.

@ueshin yes. but #12351 is based on some assumptions and seems too complicated. So it is not merged.

Test build #59679 has started for PR 13235 at commit 8ffe73e.

LGTM

Test build #59679 has finished for PR 13235 at commit 8ffe73e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59679/
Test PASSed.

Merging this into master and 2.0, thanks!


Access to uploaded files in frontend functions

Provide a download link (relative url) to uploaded files by using function get_field_file_link or get_field_file_link_version in a frontend function. They links could be used during pdf creation as dynamic content in an image tag.

Adressed with commit: https://github.com/r3-team/r3/commit/6f5fb50e83ea4ae2621450685b1678d43610ca1b


Improve global README

Complement with wiki pages, specially on:

how to use
how to test

@felipevicens
Can you drop a line or two here, about the SEC-GTW?

Hello, @felipevicens
I find the GK's READMEs really difficult to follow and produce a new installation. What do you think of just having a mention to the Docker file (at least in the top of the READMEs, to be read first)? Do we have that file available somewhere in a public place?

@jbonnet we have the Dockerfile inside each repository folder


Fix num train steps

I'm running two experiments to check if the issue has been fixed.

I'm running two experiments to check if the issue has been fixed.

Nice, waiting for the complete result.


BLE Scan Window Ignored, BLESCANPARAM

Answers checklist

[X] I have read the documentation ESP-AT Programming Guide and the issue is not addressed there.
[X] I have compiled the hello_world example Get Started with ESP-IDF and the issue is not addressed there.
[X] I have updated my ESP-AT branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

ESP-AT version
<IP_ADDRESS>
Operating System used
Linux
If you are using Windows, please specify command line type.
None
What is the expected behavior?
Scan for the window and wait the interval.
For example, AT+BLESCANPARAM=1,0,0,16000,1600
The command should scan for 1s and then wait 9s.
What is the actual behavior?
Scanning is constant without breaks.
Steps to reproduce
AT+BLEINIT=1
AT+BLESCANPARAM=1,0,0,16000,1760
AT+BLESCAN=1,0
Then, look at the scan results.
Build or installation Logs
This issue is new to ESP-AT v<IP_ADDRESS>
In v<IP_ADDRESS>, the ESP would scan for 1 second and wait 9, then repeat.
The behavior seems like the window is equal to the interval (AT+BLESCANPARAM=1,0,0,1760,1760)

More Information
Happens on multiple devices.

AT+GMR response:
AT version:<IP_ADDRESS>(s-c31b833 - ESP32 - Jun  7 2024 03:48:17)
SDK version:v5.0.6-dirty
compile time(70ff5889):Jun  7 2024 04:46:00
Bin version:v<IP_ADDRESS>(WROOM-32)
OK

I have also seen this issue on v<IP_ADDRESS> with the ESP-WROOM-32
It is clear that both the scan interval and scan window are only applied when the BLE module is de-initialised (AT+BLEINIT=0) then initialised as a client again (AT+BLEINIT=1) or the module is rebooted (AT+RST) and then BLE re-initialised.

On v<IP_ADDRESS>, applying the scan parameters while BLE is de-initialized returns an ERROR
TX: AT+BLEINIT=0
RX: OK
TX: AT+BLESCANPARAM=1,0,0,16000,1760
RX: ERROR
TX: AT+BLEINIT=1
RX: OK
TX: AT+BLESCANPARAM=1,0,0,16000,1760
RX: OK

@Peter-B4321 to work around this issue you will need to apply the new parameters, then de-initialise BLE before initialising it again.


Turn Off text selection in website

Turn Off text selection in website
text selection has to be turned off

@sk66641 I would like to work on this issue. I am a GSSoC Contributor

i want to work on this project .please assign me

@sk66641 Assign this too if he is inactive.

@SuhainaFathimaM
Could you please give an update over this issue as it has been pending for over two weeks?

@thevijayshankersharma
issue assigned

@thevijayshankersharma
@SuhainaFathimaM has sent a PR #281 for this issue now as she was busy in their exams & also there was a mistake from my side as i didn't see @rohir1132yadav has commented earlier asking for the same.

@thevijayshankersharma
For this, i've assigned level3 to your PR #267

@thevijayshankersharma For this, i've assigned level3 to your PR #267. If you have any additional issues, feel free to reach out.

No, not a problem.


Fix Xcode console

Fix Xcode console. Also it adds a new static method on Process class: getEnv(). I used it to know if the RELP was opened on Xcode or not.
Closes #554 (and a topic in #553)

I realize this PR is not really about this, but I think it's still worth pointing out:

Gets the value of an environment variable. Returns a blank string if the environment variable does not exists.

That's not the right way to do this. An environment variable may exist and be set to an empty string. With this API it's impossible to distinguish it from a non-existent variable. I propose a dict-like object API instead, much like Python's os.environ.

Considering how argument passing is done, getEnv should be part of Process and not platform. But if we go a little bit deeper in the rabbit hole, Process should have a method returning an object to the process env. That object would implement a minimal map behavior, and restrict key value pairs to strings only. That way we could have access to the real process env, and if the notion of process is extended, it can return a non system object representing the env.
For the other REPL fix, I'm not sure it is the right approach. Technically I would say that what you wrote is the SimpleRepl.
Not sure how correct it is, but I think refresh should be disabled when !stdin.isRaw while the ANSI code should be protected by a variable representing the level of supported ANSI terminal features.
Since I'm pretty sure Xcode implementation seems too dumb to have grabbed a terminal handle, or at least fake it correctly enough, we could disable the isRaw setting by env at construction, in a single consolidated code. Easier said than done, but terminal interaction always implies dirty hands and too many conditionals....

@mhermier In addition of disable the refresh, we still need print the >  to have a difference between line typed by user and line of a result.
And, the history still doesn't work, and I really haven't any idea how to fix it (or maybe is better simply disable it).
Since the Xcode console has this differences, I think that is better it has a different class.

@Akaricchi @mhermier I did what you suggested:

[x] getEnv now returns a map with the format [key: value], like Python's os.environ
[x] Moved the getEnv static method to Process class
[x] Disabled history on Xcode console

This method really should called getEnv? Or it should be rename it to a better name?
I didn't find any way to returns a map by C API, then I created a Wren function to map the array with environment values to a map.

Considering what the API looks around, and prior art environ or environment sounds a better name then getEnv to me.
You should to do it manually the way compiler does. Creating the map add calling something like _addCore (which should really be renamed to append)

I agree with @mhermier about calling it either environ or environment (and no parentheses in the signature). Ideally, the returned object shouldn't be a real map with an actual copy of the entire environment. Instead, I'd make it a map-like object with the same API, so that Process.environ["foo"] calls getenv("foo"), Process.environ["foo"] = "bar" calls setenv("foo", "bar"), etc. But that warrants a separate pull request at this point.

Agreed with Alexey.
One minor subject that may need a separated discussion, how to handle
software/fake process in general and it's environment in particular, to
stay in the subject of this thread. I would say it should use a plain map,
to be able to pass strings/lists/maps/images/any kind of resources. This
would remove one of the most annoying barrier I have with any shell/program
intercommunication.

@Akaricchi @mhermier I did what you suggested:

[x] Renamed getEnv to environ
[x] No parentheses in the signature

And is better that additional discussions in another pull request.


Not sure if its working correctly...

firstly I dont see a reader ID and reader GUD.  is that normal???
second,

when I put a generic tag to the reader, I get an error and no tag ID.  To be honest that doesnt surprise me!
Ill do a separate message about the other issue I have that I cant see anywhere else.

Lack of ID is not normal at least, those would be assigned during pairing but that would be due to issue #116 that you opened
The nfc error can be ignored, it's just because i'm sending a homekey command to it and the card responds with an error as indicated by the last message.
The tag id is only published to the mqtt topic "hk auth", it's only printed on console when it is set to debug level.

that makes sense and fixing the pairing did then get it working correctly.


auto1111 extension

when I launch photoshop it gives me this. What should I do to fix that? (generating images doesn't work probbably because of this)

follow this: https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin/issues/380#issuecomment-1732440185

But I can't find this auto1111 extension downloader or checker or something, i ran this ccx file, then added --api argument in webui user file, run webui user and webui, opened photoshop and still I can't generate anything, this error is still here

omg, sorry, i'm new in github issues tab, anyway:
But I can't find this auto1111 extension downloader or checker or something, i ran this ccx file, then added --api argument in webui user file, run webui user and webui, opened photoshop and still I can't generate anything, this error is still here

the extension tab is part of the Auto1111 webui:


Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180

Porting https://github.com/cert-manager/cert-manager/pull/6854 to the release-1.14 branch:

https://github.com/cert-manager/cert-manager/pull/6854
https://testgrid.k8s.io/cert-manager-periodics-release-1.14#ci-cert-manager-release-1.14-trivy-test-controller
https://prow.build-infra.jetstack.net/view/gs/jetstack-logs/logs/ci-cert-manager-release-1.14-trivy-test-controller/1767951469450891264

To perform the upgrade I ran:
find . -name go.mod -execdir go get<EMAIL_ADDRESS>\;
make tidy

Testing
Before:
$ make trivy-scan-controller
...

    {
      "Target": "app/cmd/controller/controller",
      "Class": "lang-pkgs",
      "Type": "gobinary",
      "Vulnerabilities": [
        {
          "VulnerabilityID": "CVE-2024-28180",
          "PkgName": "github.com/go-jose/go-jose/v3",
          "InstalledVersion": "v3.0.1",
          "FixedVersion": "3.0.3",
...

After:
$ make trivy-scan-controller
...

$ echo $?
0

/kind cleanup
Bump github.com/go-jose/go-jose to v3.0.3 to fix CVE-2024-28180

/approve
/lgtm


Dashboard that will show all apps within an org and their current build progress/status

Describe the solution you'd like
A dashboard that will show all the apps within an org and their current status for if they are building/build time and also will show once it successfully builds or if it fails. Preferably with some sort of green/red color indicator so it is easy for anyone glancing up or walking by to see if there is a problem or not.
Describe alternatives you've considered
With how we are set up, we have 4 apps (which in reality is 4 configs of the same app), since everything for the builds is housed in App Center, we would have to open 4 different browser tabs and use a 3rd party tab rotator to show similar data, which even then the build screen with multiple branches can be a little tricky to tell if there's an issue or not.
Additional context
We have multiple monitors throughout the building showing dashboards of our websites pipeline status and health. We'd like to do the same for the mobile app so problems can be easily identified.

Thanks for your suggestion @svenza! I can see that being important. This is not currently on our roadmap, but we'll keep this ticket open to gauge community interest. In the meantime, I'll let @baileybrooks and @nrajpurkar comment with more details.

I believe this is possible with the current APIs - surely someone out there has made some dashboard.

The build statuses are buried deep within each app/Build/branch screen. An overview would be soooo helpful.


License for tokenizer models are unclear

Although the tiktoken tokeniser library itself is clearly presented as being licensed as the MIT license,
The license for the tokeniser encodings such as  "gpt2",  "r50k_base", "p50k_base", "p50k_edit" or "cl100k_base" are unclear.
This is particulary problematic since they are not part of this repo but hosted on external links
ex) "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"
This adds to the ambiguity.
Please state the license(or lack thereof) and (if applicable) the ToS of such encodings.

The license in this repo applies to the encoding files as well. Thanks!

Would it be possible to state that in the LICENSE file, or somewhere else which is not a GitHub issue? Thanks!


View and pdf test coverage

The Invoice->view() and Invoice->pdf() methods seem not to be covered by tests.
I figure this may be a bit complex to do:

asserting against a view without a Response
asserting against a generated pdf

Does anyone have a solution for this?

Feel free to send in a PR.


[MNT] - Update actions

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


added filters

Codecov Report

Merging #146 into develop will increase coverage by 0.06%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #146      +/-   ##
===========================================
+ Coverage    92.85%   92.91%   +0.06%
===========================================
  Files           38       38
  Lines         1246     1257      +11
  Branches        69       69
===========================================
+ Hits          1157     1168      +11
  Misses          77       77
  Partials        12       12

Impacted Files
Coverage Δ

datahub/interaction/views.py
100% <100%> (ø)
:white_check_mark:

Continue to review full report at Codecov.

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


[Question] Retry Flaky Tests

Hello again!
I'm running into some flakiness with some of my tests.
I can individually retry some tests but I'm wondering is there a way to set a global retry for tests that fail?
Thanks in advance.

Hello,
If you use Atata with NUnit please take a look at https://testingrepository.com/retry-failed-tests-in-nunit/.

Thanks again!


As an NUS undergraduate student planning to take master at NUS, I want to know the requirements, so that I can apply successively.

Will not be implementing this.


extend header for 'update attachment' detailed list under CMS List

extend header for 'update attachment' detailed list under CMS List

done


Easily downloadable binaries

We need to make the thing easy to install for users who dont' necessarily want to build the code.  I think this means (1) creating a docker container of the global controller for those comfortable with docker and (2) publishing raw binaries for popular platforms (os x, linux, windows, x86, arm).

Migrated to https://trello.com/c/VzeqEeTP


Indicate alumni in automated email

A substantial proportion of replies to the weekly automated email to authors are people telling me 'so-and-so is no longer a Janelian'. It would be great if the email indicated whether someone is an alumni, to our knowledge.

I presume you mean the once-a-week email to authors, right?
Can you give me some examples or cc me on some of the replies you've gotten?


g_metrics pointer is leaked

We dynamic allocate it in src/ninja.cc:600, but I don't see we ever deleting it anywhere.

If this issue has been on the books since 2012, is there a way to mark it resolved or
not worth fixing?

I suspect that this is an explicit wontfix. I recall seeing in at least one place in the ninja codebase that it prefers to simply exit than to do any cleanup, since the OS will free the allocated memory much easier than the program will.
@jhasse thoughts?

yes


[Bug]:  tool response will be wrong when tool_caller‘s  llm_config include stream=True and n > 0

Describe the bug
when set stream=True and n > 0 in llm_config.
OpenAIClient.create will raise an exception cause type != "function"
The debug variables like:

Steps to reproduce
import os
from autogen import ConversableAgent, UserProxyAgent

tool_caller = ConversableAgent(
    name="tool_caller",
    llm_config={
        "config_list": [{"model": "gpt-4o", "api_key": os.getenv("OPENAI_API_KEY"), "cache_seed": None, "n": 3, "stream": True}],
    },
    human_input_mode="NEVER",
    system_message="You are a calculator. Use your tools to solve tasks for users.",
)

user_proxy = UserProxyAgent(
    name="user",
    system_message="a human admin",
    human_input_mode="NEVER",
    max_consecutive_auto_reply=0,
    code_execution_config=False
)

def add(a: int , b: int) -> int:
    """
    add two numbers
    """
    return a + b

user_proxy.register_for_execution(name="add")(add)
tool_caller.register_for_llm(name="add", description="add two numbers")(add)

user_proxy.send("what is 1 + 2?", tool_caller, request_reply=True)
chat_messages = tool_caller.chat_messages[user_proxy]

print(1)

Model Used
gpt-4o
Expected Behavior
every choice should has it's own tool call response
Screenshots and logs
No response
Additional Information
No response

Maybe you should use choice.index instead of tool_calls_chunk.index


chore: update runtime version and fix workflow error

PR Details
chore: update runtime version and fix workflow error
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[x] My code follows the code style of this project.
[x] I have updated changeset
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 9 committers have signed the CLA.:white_check_mark: caohuilin:x: targeral:x: yimingjfe:x: xuchaobei:x: chenjiahan:x: spencerHT:x: KyrieLii:x: zhoushaw:x: zllkjcYou have signed the CLA already but the status is still pending? Let us recheck it.


Delete doesn't work great with chisel mappings.

Component
Chisel
Have you ensured that all of these are up to date?

[X] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (5b7e4cb 2023-12-02T00:21:00.501921838Z)
What command(s) is the bug in?
chisel
Operating System
Windows
Describe the bug
Hello team Delete doesn't work great with chisel mappings.
Here is the proof:
chisel
Welcome to Chisel! Type `!help` to show available commands.
➜ mapping(address => address) public token2token;
➜ token2token[address(1)] = address(2)
Type: address
└ Data: 0x0000000000000000000000000000000000000002
➜ token2token[address(1)]
Type: address
└ Data: 0x0000000000000000000000000000000000000002
➜ delete token2token[address(1)]
➜ token2token[address(1)]
Type: address
└ Data: 0x0000000000000000000000000000000000000002

Currently expressions without a semicolon (;) at the end don't get saved in the session. If you add ; in the delete line it should work.

Currently expressions without a semicolon (;) at the end don't get saved in the session. If you add ; in the delete line it should work.

Yeah it works if we do delete token2token[address(1)];


Port sendgrid api from the old app

This is one of the main components for sending mail from the old app.
I have broken down the very long spec into several smaller specs
organised by the instance methods.

This is really good, and the splitting up of the specs is great :+1:
How much of a pain would it be to break this up into a few commits, though? There are a couple of clear blocks of things I can see:

Remove unnecessary documentation comments
Use WebMock to block connections to the web during tests
Port the Sendgrid code from the old app. (Although I might consider making that a note in the commit message, rather than the title. The important thing is that we're adding Sendgrid support, its source is secondary, or will be, to someone working on this in ~18 months…)

I do still kinda wish we could maintain some of the longer-term provenance of the code from the old app, but I suppose that's kinda the point… (And cherry-picking the commits will be an absolute nightmare.)

@SteveMarshall I thought about it and decided to err on the side of brevity.
As soon as I finish with this machine rebuild, I'll pull it down, split it apart and see how neatly I can break it out.

This is looking muuuuch better, @tatyree. One suggestion though: Extract rather than Deprecate might be clearer?

This looks a really solid refactor, @tatyree :clap:
A couple of things I was wondering, though:

How does this behave when running the app locally? Will we be able to step through the entire flow without having Sendgrid credentials configured?
Is there a way to check Sendgrid is up, for when we add a health check? (Probably we'll want to add that later, when we actually put the health check together, rather than building it now, of course…)

@SteveMarshall it will step through the workflow as well as the previous version did.  That one skipped the yield if the credentials weren't present.  This one rescues and logs all errors and returns false (an error is raised if api_user or api_key aren't set).

@tatyree :+1: So long as we can carry on through the flow locally, I'm happy.


[nrf noup] tfm: Enable bootloaders in TF-M regression tests

Enable bootloaders in the TF-M regression test suite. Run NS and S test cases separately as there is not enough flash.
Signed-off-by: Joakim Andersson<EMAIL_ADDRESS>

If this configuration requires NCS to work (sdk-zephyr is not enough) than why not adding it to the nrf/samples? I guess code redundancy and possibility of getting out of sync with the base? Will target_sources() pointing towards original zephyr sample do the trick? I am not a fan of samples/tests pointing outside of  their directory since it makes debugging harder but I already have to live with it;)
@carlescufi zephyr vs nrf manifest issue ^^

If this configuration requires NCS to work (sdk-zephyr is not enough) than why not adding it to the nrf/samples? I guess code redundancy and possibility of getting out of sync with the base? Will target_sources() pointing towards original zephyr sample in CMakeLists.txt do the trick? I am not a fan of samples/tests pointing outside of their directory since it makes debugging harder but I already have to live with it;) @carlescufi zephyr vs nrf manifest issue ^^

@PerMac While that might work for this change there is a similar issue here: https://github.com/nrfconnect/sdk-zephyr/pull/93, it is the same problem, but not having this means that we won't be able to run this sample/test in sdk-zephyr manifest.
If we continue with your suggestion then it sounds like we should just completely disable this sample/test in sdk-zephyr and just rely on the sdk-nrf variant of it.
Note that having this in sdk-nrf is not a problem when it comes to the application sources of this since this is a special sample and all of the application source files actually reside in trusted-firmware-m repository.

@PerMac @carlescufi We will then copy these samples as tests in sdk-nrf and add our own configurations there.
https://github.com/nrfconnect/sdk-nrf/pull/9149

This PR is deprecated by the approach in 9149


Added a Translation Feature

You can know translate languages

I'll have to clean this up a bit, but it looks good!


Confusion over docs concerning from/to arguments

A large portion of the docs make it seem like Models are used in the from/to
        join: {
          from: 'Person.id',
          to: 'Person.parentId'
        }

        modelClass: Animal,
        join: {
          from: 'Person.id',
          to: 'Animal.ownerId'
        }

In other places it seems like the table names themselves are used
      modelClass: Person,
      join: {
        from: 'animal.ownerId',
        to: 'person.id'
      }

After hours of bafflement I finally succeeded with the table names only.
Can we get some clarification?

You can get confirmation by reading the documentation. The documentation for the RelationJoin object clearly states that table names should be used.

Ok in my defense I was watching tv, but from the users point of view, do you not agree that if the user sees over 20 examples that look just like this
        modelClass: Animal,
        join: {
          from: 'Person.id',
          to: 'Animal.ownerId'
        }

And as you point out, about 10 thousand lines down in the documentation (not exaggerating much)

The from and to properties of the join object define the database columns through which the models are associated.

Which itself is a little cryptic.  Why could you not refer to a "database column" as Model.column?
And on top of that, when I see "Person", or "Animal", I would never think of those as table names because its common practice these days (probably thanks to rails) to name your tables in the plural way.

I was trying to point you to the the (only) place where the properties from and to are documented in the API documentation. This place

The relation column in the owner table. Must be given with the table name. For example ...

In the future, I'd suggest that you see the API documentation of the method/object/class/whatever when something is confusing.

And on top of that, when I see "Person", or "Animal", I would never think of those as table names because its common practice these days (probably thanks to rails) to name your tables in the plural way.

Not sure if that's a common practice, but I agree that using the same table and model name is unnecessarily confusing. I'll change the table names to lowercase plural versions of the model name.

@koskimas I've noticed a slowly, but steadily increasing amount of "documentation" related requests coming up. The least I can do is help this project out by helping to improve the docs when/wherever you or others see fit. Feel free to tag/mention me if you want me to have a go at anything that comes up. That way your time can be spent working on the code.

Thanks @newhouse! I'd love your help, but I don't like to assign stuff to anyone. I'll tag the documentation issues with the docs tag and you can select whatever you like when you have time. Just add a comment and I'll know you're working on it.


Objective-C detected even if no Objective-C files in repo

Hello,
My repo https://github.com/Skylark13/AVSwitcher gets flagged as containing mostly Objective-C.
The languages bar says: Objective-C 83.8% , C 13.6% , C++ 2.6%
However, if I click on the language bar to get to the Code section, on the left side, what I see is:
C++ : 8 files
C : 4 files
XML : 2 files
Markdown : 1 file
Text : 1 file
And actually, if in the language bar I click on Objective-C, I get to a page that says We couldn't find any code matching "" (where if I click on the C++ part of the language bar I get to a page that has the C++ files displayed already.
I could use .gitattributes to set the record straight, but from the previous paragraph I think it's actually a bug in linguist or the github web UI.
Thanks in advance.

I too have this problem with my project here: https://github.com/saxbophone/libsaxbospiral - It's all C, no Objective-C at all. The header file it is detecting as Objective-C is here: https://github.com/saxbophone/libsaxbospiral/blob/53c05689827253c973d08f9bb9609d117ada22c0/saxbospiral/serialise.h

I ran the last released version of Linguist against your repository:
$ linguist
81.67%  Objective-C
13.25%  C
5.08%   C++

Objective-C/C/C++ misclassifications are tracked at #1626.
The We couldn't find any code matching "" error is a caching bug. It has already been reported to<EMAIL_ADDRESS>several times but you can ping them to fix your repository.


linuxKernel.packages.linux_6_12.evdi: add support for kernel >= 6.12

This PR:

Add support for Kernel 6.12
Fix https://github.com/NixOS/nixpkgs/issues/344058

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg build linuxKernel.packages.linux_6_12.evdi


Fix reffered name of PREVIOUS_MONTH to inDates

As described in Readme.

Hi @kizitonwose!
I don't think this change can really broke any tests ;)

I don't think this change can really brake the tests ;)

Yep, don't worry about it, probably just emulator issues. Will re-run the tests.


Items disappear immediately when programmatically scrolling PagingView

I'm trying to control a PagingView with buttons by changing the page binding parameter. The problem is that for some reason, the item that will go outside the screen disappears immediately. When I scroll with the trackpad, everything works fine. Here is a video showcasing the problem.

Here is the code I used to test this:
import SwiftUI
import SolidScroll

struct ContentView: View {
    let colors: [Color] = [.cyan, .indigo, .gray, .pink, .purple, .teal, .blue, .yellow]

    @State var currentPage: Int = 0

    let config: PagingViewConfig

    init() {
        var config = PagingViewConfig()
        config.direction = .horizontal
        config.size = 100
        config.margin = 0
        config.spacing = 20
        self.config = config
    }

    var body: some View {
        VStack {
            PagingView(config: config, page: $currentPage, views: colors.map { color in
                Rectangle()
                    .foregroundColor(color)
                    .frame(width: 100, height: 60)
            })
            .frame(height: 80)

            Text("Current page: \(currentPage)")

            HStack {
                Button {
                    withAnimation(.spring()) {
                        currentPage = max(0, currentPage - 1)
                    }
                } label: {
                    Label("Prev", systemImage: "chevron.backward")
                }

                Button {
                    withAnimation(.spring()) {
                        currentPage = min(colors.count - 1, currentPage + 1)
                    }
                } label: {
                    Label("Next", systemImage: "chevron.forward")
                }
            }
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

In order to scroll PagingView with animation, please use the approach with SolidScrollViewProxy.setContentOffset(_:animated:completion:) which is listed in the example for SolidScrollView in the README.md. It also works for PagingView, just retrieve the proxy from the preferences.

This solved the issue, thank you. I guess I just didn't read the docs careful enough.


Namespacing

This extension should really follow the convention that it returns an object with its API, and only registers a single function per core and per collection with the same name as the extension.
e.g.
cy.viewutil().search(...);

cy.$('#foo').viewutil().highlight();

Otherwise, your extension can collide with other extensions or new APIs added to the core.

@maxkfranz I made the requested changes. If there is no problem we can close the issue.

Looks good 👍


Set MTU for gitpod, fixes #3766

The Problem/Issue/Bug:

#3766
requests an altered MTU in gitpod context. Normally this is not something ddev would have to be involved with.

How this PR Solves The Problem:
Conditionally set the MTU.
Manual Testing Instructions:
@shaal please include testing instructions.
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

Testing instructions:

Open a Gitpod workspace
ddev ssh
x=1; while [ $x -le 50 ]; do wget https://www.drupal.org; x=$(( $x + 1 )); sleep 0.5s; done
(the line above runs wget https://www.drupal.org 50 times in a loop)
Confirm it doesn't halt

Does this meet your needs as it is @shaal ?

I used @shaal 's test instructions and it seems fine. Waiting for his OK.

Thanks for testing!
As above, the only way I know to do this is to hard-wire an interface name to query for MTU, and that seems even more fragile than hard-wiring the 1440.


use auto bucket lookup type

Resolves #1199
change default lookup type from path to auto, it may cause the previous butcket configuration to be unavailable, but I think auto can cover most cases.

Please update the documentation at docs/spec/.

Thank you for your advice

I also approve use auto lookup,  Amazon S3 is planning to deprecation path type

https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#path-style-access

I have removed BucketLookup: minio.BucketLookupPath, which will use the default initialization value BucketLookupAuto. I believe that when there are no fields in the API that can be configured, using minio's default initialization value should be enough.


Fix: Default Session Path will be overwritten

[test]

i think this is failing because softwarecollections is currently down.  will try it again later.

[test]

[test]

sorry for the delay, thanks for the fix!


[ESPN] Add extractor for WatchESPN videos

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
This is an extractor for "WatchESPN" videos, i.e. anything on this page not listed as ESPN+. All applicable videos require TV provider and are probably geolocked to United States. As a consequence, the base ESPN extractor has been updated to not match WatchESPN URLs and its WatchESPN tests have been removed.
This pull request should be fully functional as-is but it could use the following improvements:

Addition of a test to check that ESPN+ videos raise the appropriate error. I tested this on my own but I am not sure how to codify this as a test within yt-dlp.
Additional metadata to return (e.g. description, dates, etc.). Accessing such information requires calls to a different API pointer which I didn't bother to code in.
It would be useful if one of the more veteran yt-dlp devs could check that I am following appropriate style/abstraction guidelines.

There is no specific issue raised for this (except for possibly this one on youtube-dl) but I feel adding this extractor would be immensely useful considering that:

ESPN is a very popular platform with replays available of many major sporting events and other TV shows, for those with access to ESPN through their cable TV provider.
Before about August, such videos could only be downloaded by opening up the video and snooping for the playlist m3u8.
Since August, ESPN has updated their platform so that only dash DRM videos play. Downloading an unprotected video required making modifications to the snooped URL, which had to be done quickly as the authorization expires quickly. Now, with this extractor, unprotected HLS streams are returned by default, saving many steps for anyone wishing to download these videos.

Not really sure why the tests are failing, but it looks like maybe because a valid URL for WatchESPN, e.g. https://www.espn.com/watch/player/_/id/6eee6cb0-1795-49e3-84ea-766b517e0309, is also matching the ESPNArticle extractor regex? Could someone please confirm this before I go toy around with that other extractor?

Yes. No URL should match 2 extractors. If it is difficult to fix with regex, define a suitable function

@ischmidt20 thank you for your work on this extractor as well as the other sports ones :)
I would like to ask that ESPN+ be included if possible, can make a formal site request if needed, but yt-dlp is able to download those streams if you pass it the correct information. Would be great to make it less manual if possible.
I've seen it posted about on youtube-dl 16359 as well as reddit but the process I've followed to manually do it is within browser using an authenticated account:

Grab the m3u8
Obtain the POST token response that comes from https://espn.api.edge.bamgrid.com/token
Using that access_token that is received to add it to the yt-dlp command headers using --add-header 'authorization:XXXX'

@IONECarter I would love ESPN+ to be included too! I've started some cursory research on it and will try to devote more to it once this PR is merged. Thank you for sharing that pathway to get the key authorization header—the real challenge will be figuring out the right data to send to make that POST request to /token in the first place. Then hopefully once we have that, we can send the same data to the other API call to get the actual m3u8 URL (see discussion in the most recent resolved conversation).
I don't mind either way but from the devs' perspective it would probably be better if you opened up a formal issue so we can continue discussion there and keep this PR focused on the extractor for the non-ESPN+ streams.

So at the risk of contradicting what I said earlier, I think I have figured out the ESPN+ extractor (using cookies). However, there is still the issue #2307 that would prevent the extractor from fully working. So what we can do is either merge what we have now for the non-ESPN+ streams while we wait on the other issue, or I can add in ESPN+ commits and we can wait to merge both until that other issue is fixed.

imo, adding espn+ to this PR is better, but either is fine tbh. Just let me know which one u want to do

All for keeping it within one PR. I still have to touch up the code a bunch and will add commits once I get that taken care of

OK, ESPN+ added. Extractor should be fully functional (with exception of aforementioned postprocessor issue), so all that remains are style/abstraction checks and optionally adding metadata to return.

@pukkandan Just updated the tests, hope everything is sufficient now? Please let me know if anything else needs to be changed!

Add the tests back and confirm my changes didnt break anything

Sorry for the hiatus on this, it's been a busy semester! Not sure why the GitHub tests are failing now, it looks like something do with old compat code? In any case the extractor definitely works (and I've been using it myself the past few months), so I think it's about time it gets merged in to the project

Thanks, looks like the tests pass now

pls verify my changes

The ESPN+ extractor still works but for the non-ESPN+ (the ones that use MVPD auth), I get a

ERROR: POST data should be bytes, an iterable of bytes, or a file object. It cannot be of type str.

Looks like it works now, just needed to swap the `.encode1


powershell and json files - Try #2

Description
I have added 4 new files.
src/bicep/bicepKickoff.ps1
src/bicep/parameters.json
src/bicep/examples/newWorkload/workloadKickoff.ps1
src/bicep/examples/newWorkload/parameters.json
The first parameters file will allow you to set all of the parameters for the primary 4 tiers as well as workload tier(s) to be created with the bicepKickoff.ps1 powershell script.
The script will only use the parameters that are not empty in the json file to kick off the bicep files. it will also create the new "deploymentVariables" file
The second parameters file and powershell script are for the workload tiers in case you need to create more workload tiers after the initial setup has been completed. This will also create the new "deploymentVariables" file by providing the name of the deployment for the primary tiers.
The data in both JSON files for the workload tiers are setup so that you can create an array of data to create as many as needed.
Issue reference
The issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR out of the following list:

[ ] All acceptance criteria in the backlog item are met
[ ] The documentation is updated to cover any new or changed features
[ ] Manual tests have passed
[ ] Relevant issues are linked to this PR

Closing in lieu of additional planning and modifications.


Change the name of the keyring save command-line argument.

What type of PR is this?
/kind cleanup
What does this PR do / why we need it:
Tweaks the command-line argument for saving keyring tokens to make it more in line with the other names.
Have you updated the necessary documentation?

[X] Documentation update is required by this PR.
[X] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes #?
How to test changes / Special notes to the reviewer:

/test v4.5-integration-e2e

platform issue
/retest

/lgtm
/approve


global options

dephell -h only gives -h as a global option
> python3 -m dephell --help
usage: __main__.py [-h]
                   [{autocomplete,deps add,deps audit,deps check,deps convert,deps install,deps licenses,deps outdated,deps sync,deps tree,generate authors,generate config,generate editorconfig,generate license,generate travis,inspect config,inspect self,inspect venv,inspect gadget,jail install,jail list,jail remove,jail try,package downloads,package install,package list,package purge,package releases,package remove,package search,package show,project build,project bump,project test,venv create,venv destroy,venv run,venv shell}]

Manage dependencies, projects, virtual environments.

positional arguments:
  {autocomplete,deps add,deps audit,deps check,deps convert,deps install,deps licenses,deps outdated,deps sync,deps tree,generate authors,generate config,generate editorconfig,generate license,generate travis,inspect config,inspect self,inspect venv,inspect gadget,jail install,jail list,jail remove,jail try,package downloads,package install,package list,package purge,package releases,package remove,package search,package show,project build,project bump,project test,venv create,venv destroy,venv run,venv shell}
                        command to execute

optional arguments:
  -h, --help            show this help message and exit

commands:
  autocomplete          Enable DepHell commands autocomplete for current
                        shell.
  deps add              Add new packages into project dependencies.

Many of the commands support these config and console output options, and likely other options.
They should be global options which can be seen with dephell -h, and should be accessible via dephell -c foo.cfg --nocolor cmd subcmd
Configuration file:
  -c CONFIG, --config CONFIG
                        path to config file.
  -e ENV, --env ENV     environment in config.

Console output:
  --format {short,full}
                        output format.
  --level {DEBUG,INFO,WARNING,ERROR,EXCEPTION}
                        minimal level for log messages.
  --nocolors            do not color output.
  --silent              suppress any output except errors.
  --filter FILTER       filter for JSON output.
  --traceback           show traceback for exceptions.
  --pdb                 run pdb for critical exceptions.

Probably :thinking:


pythonPackages.mrbob: fix build

Motivation for this change
Tests broke on Hydra as the checkPhase wasn't configured properly. By
explicitly relying on nosetests and injecting LC_ALL into the
checkPhase the tests work again.
The license (bsd3) according to LICENSE distributed with the upstream
package wasn't specified in the meta section which could've caused legal
issues.
The expression has been moved into its own file to reduce the length and
complexity of pkgs/top-level/python-packages.nix.
See https://hydra.nixos.org/build/70689499/log
See #36453
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@dotlambda fine now?

@Ma27 Thanks for fixing so much stuff!

Backported in cde1f31f28cff9cf0a471d9ef0ba7c9b69e7b340


checking for undefined in nextProps so we don't clear out the current page

539dc9202e03287d0f378024ad19b09c630582a7 added a currentPage prop that introduced a subtle bug. When componentWillReceiveProps is called without a currentPage prop, the state for currentPage was set to undefined, which then fails in paginator.jsx with "Must pass a currentPage argument to Paginator".
By leaving the state alone when the currentPage prop isn't present, we avoid this failure.

Can you add a test covering this as well?

Sure thing, might take a few days.

@glittershark Test added. It was a little tricky to try and trigger componentWillReceiveProps in a unit test, but I think this is a pretty understandable and straightforward way to do it. I tried to adopt the conventions of some of the other tests. Let me know what you think.

Yep, this is fine. Thanks for the PR!


Fix propTypes for Link

The docs specifically mention href is optional for Link, but it's marked as required in the component PropTypes. Also, children is a required prop.

Deploy preview for gestalt ready!
Built with commit e79d25d665ed99f70c730ebac2e9f04c081edb70
https://deploy-preview-117--gestalt.netlify.com

Awesome! Thanks for the changes.

Closing this out in favor of the bigger cleanup in #226


Add microseconds mode

Please make it possible to do microsleeps. I would like to use this to microsleep 100uS intervals
timer.setMode(kModeMicroseconds);
timer.setTimer(5000);  // 5 milliseconds

The clocks that I set up are for milliseconds and can't do micro's and not all the Teensy's have the same clocks to use. It might be possible but not something I'm going to support in the near future but I'll keep this issue open to look at it at least.


pls someone help me

i used build guide for windows and guess what when i'm running in windows 2000 its says its not win32 app help me pls

You need to run it on a modern version of Windows and then connect via a browser in Windows 2000


Update skunk-circe, skunk-core to 0.6.1

About this PR
📦 Updates

org.tpolecat:skunk-circe
org.tpolecat:skunk-core

from 0.2.3 to 0.6.1
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.tpolecat" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.tpolecat" }
}]

labels: library-update, early-semver-major, semver-spec-minor, version-scheme:early-semver, commit-count:1

Superseded by #46.


Adds fetch of NFTs for Soul Signs page

Although this works, this is not what was intended.
Each nft card is a fixed square, the NFT rendered inside is coming from an iframe, making it difficult to resize
the 3 rows take SIGNIFICANT amount of time to complete loading, with arweave breaking or refusing to fetch many times.
The page is visibly slow while everything loads and fails when reloaded or hard-refreshed
Screenshots

/signatures page

scrolled down on /signatures

/signed/<address> page

I'm fetching only for 5 items currently

[ ] change graph api endpoint
[ ] generate images on the page (instead of fetching)


ARMv7 targets

It would be great if it is possible to add ARMv7 targets such as:
armv7-unknown-linux-musleabi
armv7-unknown-linux-musleabihf

@spvkgn Are these ok?
https://github.com/musl-cross/musl-cross/releases/tag/20240911-next


Inverted Aim

Would love to use this cheat, but I'm one of those rare people who use inverted mouse in CS:GO and the aim in this cheat fucks up when that setting is on. How to fix?

keep the issue open, most of us are busy and can't immediately respond.
something you could probably try is finding all references to the mouse delta and inverting them (multiply by -1)

keep the issue open, most of us are busy and can't immediately respond.
^ unless you solved it, if you did please comment what you did to help people in the future.
something you could probably try is finding all references to the mouse delta and inverting them (multiply by -1)

Sorry, this was meant to be posted on another github, somehow I ended up here when osiris already works with inverted mouse. Thank you though, your advice might work on the other cheat


Solr image has Medium and High CVEs

Hi,
We are using the official solr:6.5 image for our project and ran the clair-scanner_linux_amd64 to scan for vulnerabilities and found about 90 total vulnerabilities with several medium and high.
Example: CVE-2017-12424, CVE-2017-10989, CVE-2017-14062 etc.
Wanted to check if these have been patched (i ran the scanner on later solr:7.2 and found same number of vulnerabilities) or what would be correct approach to patch these vulnerabilities.
Regards
Subhankar

Hi Subhankar
Please file issues for Solr in https://github.com/docker-solr/docker-solr, not in this repository.
The way the docker-solr image is put together, is that we take the official docker java image, add Solr, and a few scripts. So if security vulnerabilities exist in the java image (or, more likely in the buildpack that it is based on), report them at the docker library, although in all probability they are at the mercy of their upstream distribution providers too. If there are issues in Solr, report them at the Solr project. If there is a security problem with the packaging provided by docker-solr, then file a github issue on https://github.com/docker-solr/docker-solr.
None of the three examples you provided have anything to do with solr or the docker-solr packaging, and are outside our control.

Which I see you already did, https://github.com/docker-solr/docker-solr/issues/171


Clean up old unused files and messy directory structure under /home/openforis on machiavelli and keynes

This is done


cranelift(x64): Swap operands to save AVX instruction encoding size

For XmmRmiRVex-format instructions, when the opcode is commutative, the first operand is one of xmm{0..7}, and the second operand is one of xmm{8..15}, then we can swap the operands to save a byte on instruction encoding.
Note for the reviewer: it would be good to double check the opcodes that I've marked as commutative. I went through each of them, but getting a second pair of eyes on this would be very appreciated.

I double-checked the ops as well since I know some consider one argument signed and the other unsigned, but these all look good 👍

I double-checked the ops as well since I know some consider one argument signed and the other unsigned, but these all look good 👍

Thanks for taking a look!


Shapes 2D/3D

Please check it. I completed this issue.

Awesome contribution @TamHoChi3008 👏
Thanks for PR
wrt #47


undefined method `namespace' for main:Object (NoMethodError)

Couldn't start my server after installing resque-scheduler.
Versions:
Using resque 1.25.2
Using rufus-scheduler 3.0.9
Using resque-scheduler 4.0.0
Gemfile:
gem 'resque', :require => "resque/server"
gem 'resque-scheduler'
Stack trace:
/Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/resque-1.25.2/lib/resque/tasks.rb:4:in <top (required)>': undefined method namespace' for main:Object (NoMethodError)
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in require' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in block in require'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:214:in load_dependency' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in require'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/resque-scheduler-4.0.0/lib/resque/scheduler/tasks.rb:3:in <top (required)>' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in require'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in block in require' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:214:in load_dependency'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:229:in require' 	from /Users/Will/Google Drive/Driver Hunt/Code/driverhunt2/config/initializers/resque.rb:9:in <top (required)>'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:223:in load' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:223:in block in load'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:214:in load_dependency' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/activesupport-4.0.8/lib/active_support/dependencies.rb:223:in load'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:609:in block (2 levels) in <class:Engine>' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:608:in each'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/engine.rb:608:in block in <class:Engine>' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:30:in instance_exec'
from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:30:in run' 	from /Users/Will/.rvm/gems/ruby-2.0.0-p481@railstutorial_rails_4_0/gems/railties-4.0.8/lib/rails/initializable.rb:55:in block in run_initializers'
Here's my initializers/resque.rb:
ENV["REDISTOGO_URL"] ||= "redis://<IP_ADDRESS>:6379/0"
uri = URI.parse(ENV["REDISTOGO_URL"])
Resque.redis = Redis.new(:host => uri.host, :port => uri.port, :password => uri.password, :thread_safe => true)
Dir["/app/app/workers/.rb"].each { |file| require file }
ENV['QUEUE'] ||= ''
require 'resque/scheduler/tasks'
Resque.schedule = YAML.load_file("#{Rails.root}/config/resque_schedule.yml")
My resque.rake:
Resque tasks
require "resque/tasks"
require 'resque/scheduler/tasks'
task "resque:setup" => :environment
namespace :resque do
task :setup => :environment do
ENV['QUEUE'] ||= '*'
#for redistogo on heroku http://stackoverflow.com/questions/2611747/rails-resque-workers-fail-with-pgerror-server-closed-the-connection-unexpectedl
Resque.before_fork = Proc.new { ActiveRecord::Base.establish_connection }
end
task :setup_schedule => :setup do
require 'resque-scheduler'
# If you want to be able to dynamically change the schedule,
# uncomment this line.  A dynamic schedule can be updated via the
# Resque::Scheduler.set_schedule (and remove_schedule) methods.
# When dynamic is set to true, the scheduler process looks for
# schedule changes and applies them on the fly.
# Note: This feature is only available in >=2.0.0.
# Resque::Scheduler.dynamic = true

# The schedule doesn't need to be stored in a YAML, it just needs to
# be a hash.  YAML is usually the easiest.
Resque.schedule = YAML.load_file("#{Rails.root}/config/resque_schedule.yml")

# If your schedule already has +queue+ set for each job, you don't
# need to require your jobs.  This can be an advantage since it's
# less code that resque-scheduler needs to know about. But in a small
# project, it's usually easier to just include you job classes here.
# So, something like this:
require 'resque/scheduler/tasks'

end
task :scheduler_setup => :setup_schedule
end
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => 'resque:work QUEUE="*"''
task "jobs:work" => 'resque:work'
My resque_schedule.yml
recommended_drivers_weekly:
cron: 0 8 * * 2
class: DriverRecommendationEmailSender
args:
description: Send recommended drivers email to employers

add require 'rake' before you require the rest.

Actually an even better way would be to create a rake task in your lib/tasks folder and add:
require 'resque/tasks'
require 'resque/scheduler/tasks'
task 'resque:setup' => :environment


SSG or Hook

What's the best?
export default ({ article }) => (
  <ArticlePage article={article}/>
)

export const getStaticPaths = async () => {
  return {
    paths: [{ params: { slug: 'example-1' } }, { params: { slug: 'example-2' } }],
    fallback: false
  }
}

export const getStaticProps = async ({ params }) => {
  const article = await import(`locales/${params.slug}.json`)

  return { props: { article } }
}

or
import { useTranslation } from 'next-translate';

export default ({slug }) => {
      const { t, lang } = useTranslation()
      const article = t(`${slug}:article`, {}, { returnObjects: true })
     return (
      <ArticlePage article={article}/>
     )
}

export const getStaticPaths = async () => {
  return {
    paths: [{ params: { slug: 'example-1' } }, { params: { slug: 'example-2' } }],
    fallback: false
  }
}

export const getStaticProps = async ({ params }) => {
  const slug = params.slug

  return { props: { slug } }
}

Why?

How are you loading the translations in the second example? Is it functional?
Side note: you can color the code by adding "JSX" or "javascript" next to the opening: ///`

@omarryhan
My translation file has the slug name. The path looks like this /locales/slug.json so the translation is loaded at build as explained here in the doc
As files are JSON I don't know if I have to use the hook provided by next-translate or the original GetStaticProps from Next.js?

getStaticProps was released after this library was first created. So, the getStaticProps method is newer than  the method that involves a build step. Both methods require using the useTranslate hook though.
getStaticProps requires more boilerplate though. @aralroca mentioned in another issue that the original method (build stage method) might be deprecated in the future. So I'd stick with getStaticProps.

I prefer the second option, so in this way you can still have the namespaces declared correctly in your i18n.json.

@arnaudjnn I'm going to close this. Feel free to reopen if you still have doubts


remove 2a

remove step 2a regarding converting existing peering to peering services

@callachun : Thanks for your contribution! The author(s) have been notified to review your proposed change.

This PR duplicates https://github.com/MicrosoftDocs/azure-docs/pull/91605. I'll close it now. Thanks.


fail to apply css in scoped style

if I put these css (as described in readme) in scoped style in a .vue file, it won't work.
/* scoped */
<style scoped lang="sass?indentedSyntax">
.tooltip {
  display: block !important;
  padding: 4px;
  z-index: 10000;

  .tooltip-inner {
    background: black;
    color: white;
    border-radius: 16px;
    padding: 5px 10px 4px;
  }

  .tooltip-arrow {
    display: none;
  }

  &[aria-hidden='true'] {
    visibility: hidden;
    opacity: 0;
    transition: opacity .15s, visibility .15s;
  }

  &[aria-hidden='false'] {
    visibility: visible;
    opacity: 1;
    transition: opacity .15s;
  }
}
</style>

Don't put those in a scoped style tag, since 1) the HTML will be dynamically created and 2) it will be put on the body.


ADKNW-221 Add code, test, and doc for Adikteev adapter

https://jiratrademob.atlassian.net/browse/ADKNW-222
Related PR
TODO email address<EMAIL_ADDRESS>should be created (@vnz?)

@qpre Thanks for your detailed explanations. I've addressed your comments.

Service note: this repository isn't a fork of upstream Prebid.js (why??) so this PR is for reference only. The actual diff is located at this address: https://github.com/prebid/Prebid.js/compare/master...Adikteev:adikteev-bid-adapter


Calls to IDPException inconsistent?

Had an issue today where upgrading from 0.6.0 to 0.10.1 was causing google authentication to fail.  This by itself isn't relevant to this ticket (we had to enable the google+ api in our app), but it did get us digging around a bit, as the error message in IDPException wasn't helpful ("Unknown Error").
In AbstractProvider a BadResponseException exception is caught (in the fetchProviderData method), some data manipulation is done, then the IDPException is thrown.  Here's the code for this as of 0.10.1:
        } catch (BadResponseException $e) {
            // @codeCoverageIgnoreStart
            $raw_response = explode("\n", $e->getResponse());
            throw new IDPException(end($raw_response));
            // @codeCoverageIgnoreEnd
        }

In this particular case, $e->getResponse() returns a Guzzle response object.  When put through the explode() call, it ends up like this (xdebug enhanced output):
array (size=29)
  0 => string 'HTTP/1.1 403 Forbidden' (length=23)
  1 => string 'Vary: X-Origin, Origin,Accept-Encoding' (length=39)
  2 => string 'Content-Type: application/json; charset=UTF-8' (length=46)
  3 => string 'Date: Fri, 03 Apr 2015 17:59:09 GMT' (length=36)
  4 => string 'Expires: Fri, 03 Apr 2015 17:59:09 GMT' (length=39)
  5 => string 'Cache-Control: private, max-age=0' (length=34)
  6 => string 'X-Content-Type-Options: nosniff' (length=32)
  7 => string 'X-Frame-Options: SAMEORIGIN' (length=28)
  8 => string 'X-XSS-Protection: 1; mode=block' (length=32)
  9 => string 'Server: GSE' (length=12)
  10 => string 'Alternate-Protocol: 443:quic,p=0.5' (length=35)
  11 => string 'Accept-Ranges: none' (length=20)
  12 => string 'Transfer-Encoding: chunked' (length=27)
  13 => string '' (length=1)
  14 => string '{' (length=1)
  15 => string ' "error": {' (length=11)
  16 => string '  "errors": [' (length=13)
  17 => string '   {' (length=4)
  18 => string '    "domain": "usageLimits",' (length=28)
  19 => string '    "reason": "accessNotConfigured",' (length=36)
  20 => string '    "message": "Access Not Configured. The API (Google+ API) is not enabled for your project. Please use the Google Developers Console to update your configuration.",' (length=166)
  21 => string '    "extendedHelp": "https://console.developers.google.com"' (length=59)
  22 => string '   }' (length=4)
  23 => string '  ],' (length=4)
  24 => string '  "code": 403,' (length=14)
  25 => string '  "message": "Access Not Configured. The API (Google+ API) is not enabled for your project. Please use the Google Developers Console to update your configuration."' (length=163)
  26 => string ' }' (length=2)
  27 => string '}' (length=1)
  28 => string '' (length=0)

Which is the full response (including headers) converted to string form, then exploded on new line.  There is some useful information in this response, if the body is parsed and JSON decoded.  However, in the IDPException throw above, end() is used, which just returns the last element of this array, which is an empty string in this case.  IDPException is expecting an array with "code" and "message" keys, otherwise it just sets the exception message to "Unknown Error" which is what it is doing in this case.
Obviously, extracting the code/message keys from that JSON would be ideal here.  I'm not clear on why the response is being exploded by new line and then just the last item being retrieved to be passed as the exception message. I also don't know all possible return values of $e->getResponse() here, since I'm just looking at an isolated case, but since it's coming from Guzzle, it seems that it's safe to assume this is always going to be a Guzzle HTTP Response object?
Elsewhere in the AbstractProvider class IDPException is thrown, but appears to follow the expected use case (passing an array):
        if (isset($result['error']) && ! empty($result['error'])) {
            // @codeCoverageIgnoreStart
            throw new IDPException($result);
            // @codeCoverageIgnoreEnd
        }

Thanks for the well-researched issue, and sorry it's taken me a while to get back to it.
I can't answer why we're currently grabbing the last element with end() and passing that into IDPException. That does look wrong.
It looks like IDPException is looking for three keys in the $result array passed to it, and it can also accept a non-array, which, as you've pointed out, results in an "Unknown error." The three keys are:

code
error
message

If error is set and is not an empty string, then it becomes the exception message. Otherwise, if message is set and not an empty string, then it becomes the exception message.
That logic is where it gets tricky in the case of the Guzzle response. Unless Guzzle provides us access to the raw response body (and not as an array like you show above), then we'll need to piece together the array (indexes 14-27, in your example) and json_decode() it. At that point, the code and message values are sub-properties of the error property, which also contains an errors property that is an array of errors. I guess all we're really concerned with is are the code and message properties, so we could pass $response['error'] to IDPException safely.
However, this does not look like a proper OAuth2 auth token error response, and I'm having difficulty finding why we're looking for code and message properties in the IDPException, when there are clear error properties outlined in the OAuth2 spec. Is this because most providers don't follow the spec?
If that's the case, then we need to rethink how IDPException works and pass more control down to the individual providers. We are already splitting the providers off into separate repositories (see the Google one here: https://github.com/thephpleague/oauth2-google).
@alexbilbie, any thoughts on why these decisions were made? Anything I should beware of when changing this? Thanks!

I can't answer why we're currently grabbing the last element with end() and passing that into IDPException. That does look wrong.

Related to 57fbc1d43311430d69fd9cf187f64105caacc73e. @TomHAnderson

Actually, it looks more like it's related to https://github.com/thephpleague/oauth2-client/commit/aa58cd48cdb59fc343abc8907dbcb7380528acda. Tom's commit just moved it to a different location.

Yes, you are right. It looks like I lack the search-fu today :)

@ramsey sorry Ben, I wrote this so long ago I can't remember, it might even be a legacy from Phil's original CodeIgniter library...

@jaydiablo, going to address this in v1.0. Thanks!

Good to hear!  Thanks!

I believe our recent changes to IDPException (see #269) have taken care of this. Let me know if you think it's still inconsistent. The idea now is to let providers parse things before passing them into the exception. You may also want to check out the discussion on #263 for background on how we got to #269. :-)


Error When Uploading New Version

Every time I submit a new version of the parse-server to AWS Elastic Beanstalk, I get the following error. The server runs fine on localhost.
502 Bad Gateway
nginx/1.8.1
Any ideas? I am completely at a loss.

502 error usually means your load balancer can't connect to your app, which is a problem with your AWS config. You might be able to find help on Server Fault.

I have tried. Can someone please help me here...?

Hi @greggmojica  I'm also facing the same issue. did you find any solution?

I ended up changing the poet to 3000 in index.js


feat: draft allow data_color to take a palette function

This is a very rough draft of what data_color might look like, if the palette argument accepted an arbitrary function, mapping values -> hex colors.
Example:
from great_tables import GT, exibble

small_exibble = exibble[["date", "currency"]]
GT(small_exibble).data_color("currency", palette=lambda vals: ["#FFFFFF" if x > 0 else "#000000" for x in vals])

Note two important features of the current implementation:

the function takes a list of values, and returns a list of strings
the function must return hex strings (e.g. #FFFFFF)

I wonder if there's a nice way to work in polars expressions? The challenge is there's no this expression in polars. We could add a surrogate columns, like _this_ etc.. This would allow people to use pl.when(pl.col("_this_") ...).then(...). However, it doesn't seem ideal.....
An alternative to this might be users using GT.tab_style and passing a polars expression to style.fill() etc...
Edit: I wonder if a nice move could be...

Whenever palette is a polars expression, then
Select the columns and rows specified to data color (currently, only columns is supported) as a polars DataFrame
Run the expression on the DataFrame. The result must be...

a DataFrame of the same dimensions.
each value is a hex string or null

Use the result as the color values

(In a sense, this means that polars.selectors.all() is equivalent to a this construct)
Big questions

Does this play well with existing color palette tools? matplotlib.cm.coolwarm() and friends return an array of N_obs x 4 (rgba values). We don't necessarily need to support it, but I'm curious what else is out there!

Re: what else is out there
colorcet (seems to also be available via matplotlib. claims to provide better best colormaps for continuous data)
https://colorcet.holoviz.org/user_guide/index.html

I think it would be really great to be able to do things like this:
https://matplotlib.org/stable/users/explain/colors/colormapnorms.html
One could do that by passing a callable that handles both normalization (mapping values to [0,1]) and the color map. Maybe we want to allow that, but in general it is nice if these things are separate, so you can outsource one or the other to pre-existing collections of maps / normalization tools!

This is how I would use matplotlib normalizers + a cmap to get hex values:
from typing import Callable
import matplotlib.colors as mcolors
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

def _color_series(
    values: pd.Series,
    colormap: plt.cm,
    norm: mcolors.Normalize | Callable | None = None,
    na_color: str | None = None,
) -> pd.Series:
    """
    Color a Series of numeric values using a Matplotlib colormap and normalization.

    Parameters:
    values : pd.Series
        The Series to color.
    colormap : plt.cm
        The Matplotlib colormap to use.
    norm : mcolors.Normalize | Callable | None
        A matplotlib normalization object (e.g., Normalize, LogNorm) or a function that returns
        normalized valeus within the range [0, 1]. If None, defaults to linear normalization
        between the minimum and maximum values.
    na_color : str, optional
        The color to use for NaN values.

    Returns:
    pd.Series
        A new Series with hex color strings.
    """
    # Normalize the data
    if norm is None:  # Defaults to linear normalization between min and max
        norm = mcolors.Normalize(values.min(), values.max())
    normalized = norm(values.values)
    colors = colormap(normalized)

    # Convert RGBA colors to hex, handling NaN values
    hex_colors = [mcolors.to_hex(color) if not np.isnan(color[0]) else na_color for color in colors]

    return pd.Series(hex_colors, index=values.index)

I have also attached some example use cases to show off where they can be useful.
color_series.pdf


BLAT-like search

Expected Behavior
Is it possible to use mmseqs2 to do BLAT-like search or give result format like blat (https://genome.ucsc.edu/cgi-bin/hgBlat), how to do that if it is possible?
Best,
Kun

You can use the --format-output parameter to define your custom columns in the output format. Read more about this here.