Block incompatible Xcode version updates to CI

The Xcode version we use currently in CI is 14.3.1. Xcode 14.3.1 requires macOS 13+. Basically all of our CI bots, though, are on macOS 12.6.
Surprisingly, most everything works despite the incompatibility. However some things, such as opening Xcode, don't work and cause issues.
To mitigate this, we should add presubmit tests or a recipe step that check if the Xcode version is compatible with the macOS version to warn us before upgrading the Xcode version.

@vashworth did you already send a PR for to solve this?

@vashworth did you already send a PR for to solve this?

No I haven't


Why do we need to enable XSynchronization?

The call xlib::XSynchronize(dpy_control, 1); in src/linux/listen.rs is necessary to pass tests, but I can't find any documentation indicating that it should be. In particular https://www.x.org/releases/X11R7.6/doc/libXtst/recordlib.html does not mention it. In fact the only documentation I could find on XSynchronize seems to indicate that synchronization will tank performance!
In particular, disabling XSynchronize repeatably causes the listen_and_simulate test to fail with
X Error of failed request:  XRecordBadContext
  Major opcode of failed request:  146 (RECORD)
  Minor opcode of failed request:  5 (XRecordEnableContext)
  Context in failed request:  0x4e00001
  Serial number of failed request:  10
  Current serial number in output stream:  10

Do you have any idea why this error happens? I think it might have to do with Xlib not being thread-safe (listen_and_simulate uses 2 threads), but that's really only a guess.

Hmm can't tell you for sure, I took inspiration from here: https://github.com/nibrahim/showkeys/blob/master/tests/record-example.c which was linked from there : https://stackoverflow.com/questions/20823894/xcb-record-x11-extension-example.
I don't think there is another valid reason except I saw it everywhere that used XRecord. There are other ways to capture events than XRecord, but XRecord follows more closely the callback paradigm which is why I chose it !

I took inspiration from here

A comment in the stack overflow answer was really helpful! We shouldn't be enabling Synchronous mode like xlib::XSynchronize(dpy_control, true) because (I think) that makes the X server synchronous forevermore. You should be blocking once for the server to complete all requests with xlib::XSync(dpy_control, 0).
I think that when the X server gets requests, it processes them asynchronously, so if synchronization is disabled, the call to xrecord::XRecordCreateContext hasn't been processed on the X Server when xrecord::XRecordEnableContext is called (in the listen() code).
Regardless, I removed the call to XSynchronize, then fixed the test failure by placing xlib::XSync(dpy_control, 0) between the CreateContext and EnableContext calls.

There are other ways to capture events than XRecord

Like what? I was comparing Xlib and XCB recently...

yes, it's possible to reimplement XRecord extension probably, and XCB (I'm not sure how to compare these options).

But XSync seems better !


Variable textboxes needs double click to edit them

I think it would be an UX improvement if variables textboxes in the variables editor could be edited when clicking the textbox once.
Right now double click or click and enter is needed to access them.

I feel like keeping the double click would make it fool proof to accidental edits


use forge tag check instead of string matching

Solves processor not actually pulling an nbt-containing item into internal inventory during getIngredients using an nbt-sensitive crafting card.

Wrong file included, will reopen.


[FEATURE REQ] Add hook for secrets refresh in azure-spring-boot-starter-keyvault-secrets

Is your feature request related to a problem? Please describe.
azure-spring-boot-starter-keyvault-secrets features a periodic refresh of the Spring Boot Environment from the Key Vault. But the  client application has currently no way of knowing that secrets have been refreshed.
Describe the solution you'd like
Add some kind of optional hook into the refresh process. The hook could be just a client-configurable bean that is called every time secrets have been refreshed, optionally supplied with some meta-info about the refresh (but this is not strictly needed).
I would use this hook to then call Spring Cloud's EnvironmentChangeEvent, which would trigger a refresh of the config properties bound to the refreshed Key Vault secrets. The optional generic hook would avoid any dependencies on Spring Cloud, and developers could use any other mechanism they like.
Describe alternatives you've considered
Not yet fully investigated, but seeing if something like that can be done with the existing keyvault code.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Description Added
[x] Expected solution specified

@jhyot It isn't exactly what you are looking for, but Azure App Configuration supports configuration refresh which includes loading secrets from key vault.

@stliu could you help route @jhyot's request?

@jhyot , thanks for reaching out. My current plan is to implement this feature in [2022] January. And PR is welcome.

@jhyot

I have noticed that when triggering and Environment refresh with Spring Cloud, the secrets get automatically refreshed from the Key Vault and injected into the environment. I don't know how much this is "as designed" or if this is by accident.

It's not by accident, it's designed by Spring Cloud. When Environment refreshed, all PropertySource will refreshed.

In any case I could solve my exact use case by deactivating the KeyVault library refresh (setting azure.keyvault.refresh-interval=0) and using my own scheduler that triggers the Spring Cloud environment refresh.

We can achieve by these steps:

Setting azure.keyvault.refresh-interval=0
Refresh Spring Cloud context by throwing a RefreshEvent using your own scheduler. Please refer to the sample code: AppConfigurationRefresh.java. (@mrm9084, Correct me if I have any misunderstanding).


JSON Source does not exist after install

I have installed the JSON component on two servers and 3 versions of SQL (2008 R2, 2012 and 2014) and in each case the component does not exist in my data flow toolbox. The installation of all three were successful. What is the magic of installing this product?

It sounds like you're talking about a SQL Server Integration Services tool.  JSON.Net is something used from .NET languages (C#, VB.NET, F#, etc).  Unless I'm missing some really cool bit of JSON.Net functionality I think you might have opened this issue in the wrong GitHub open source project.


Get rid of mobileIngoreAutoSpace option

I have an idea for a new feature for jQuery Terminal
The option is misspelled, but the library should handle all keys on its own:
LIPS terminal integration use:
mobileIngoreAutoSpace: [',', '.', ')'],

I think it better to keep the option but use default value, just in case it need to be updated.


Whitelisted vulnerabilities should be marked as "skipped" in JUnit report

Description
When running auditjs -w file.json, the application correctly exits with status 0 if it encounters vulnerabilities present in the whitelist file.
The JUnit report doesn't follow the same logic and marks whitelisted vulnerabilities as failures.
Example
When file.json contains:
[
<PHONE_NUMBER>
]

And I run auditjs -r -w file.json against a project containing a vulnerable version of brace-expansion, the resulting report contains:
<?xml version="1.0" encoding="UTF-8"?>
  <testsuite name="auditjs.security.scan_node_modules" errors="0" tests="482" package="test" id="" skipped="0" failures="1">
<!-- passing test case entries ...  -->
    <testcase name="brace-expansion">
      <failure message="Found 1 vulnerabilities. See stacktrace for details.">Details:

                        [
  {
    "id":<PHONE_NUMBER>,
    "title": "Regular Expression Denial of Service (ReDoS)",
    "description": "> brace expansion versions before 1.1.7 are vulnerable to Regular Expression Denial of Service attacks.\n> \n> -- [nodesecurity.io](https://nodesecurity.io/advisories/338)",
    "versions": [
      "<=1.1.6"
    ],
    "references": [
      "https://github.com/juliangruber/brace-expansion/issues/33",
      "https://github.com/juliangruber/brace-expansion/pull/35",
      "https://github.com/juliangruber/brace-expansion/pull/35/commits/b13381281cead487cbdbfd6a69fb097ea5e456c3",
      "https://nodesecurity.io/advisories/338"
    ],
    "published":<PHONE_NUMBER>978,
    "updated":<PHONE_NUMBER>170,
    "depPaths": [
      "/gulp-minify/gulp-util/through2/uglify-es/minimatch/brace-expansion"
    ]
  }
]
      </failure>
    </testcase>

Expected result
The expected result would be a JUnit report that marks whitelisted issues as "skipped". Using the example above, the expected result would be:
<?xml version="1.0" encoding="UTF-8"?>
  <testsuite name="auditjs.security.scan_node_modules" errors="0" tests="482" package="test" id="" skipped="1" failures="0">
<!-- passing test case entries ...  -->
    <testcase name="brace-expansion">
      <skipped message="8402848607 is in the whitelist"/>
    </testcase>

Changes:

The testsuite attribute counts change from skipped="0" failures="1" to skipped="1" failures="0"
The testcase element contains a <skipped> element rather than <failure>.

Upon further investigation, I believe this issue is - at least in part - caused by the simplified whitelist format.
https://github.com/OSSIndex/auditjs/blob/7b14b2203e100715aec3aaf6ccced0d606184a24/audit.js#L369-L378
In the simplified format, the prepareWhitelist function incorrectly assumes whitelist is an array of hashes (line 376).

Thank you for the very descriptive report.
I am looking at the issues now. It looks like there is some broken logic in the counts which needs repairing. I am resolving this first, I will then look to the "skipped" testcase element.

I think the counts should be right now. The testcase element will take a little longer.


[Graph] performance stats improvement

The performance graph is inspired by https://github.com/lwardlegit/mtgbuild/blob/master/src/App.js#L71
I search in the oracle text for some keywords (see 'search' key) to increment a counter for each performance stat (see 'key' key)
Here is my search map at the moment, note that RegExp are supported :

{ search: 'draw', key: 'draw' }
{ search: 'token', key: 'token' }
{ search: 'search', key: 'fetch' }
{ search: 'add {', key: 'mana' }
{ search: 'mana', key: 'mana' }
{ search: 'at the beginning of', key: 'process' },
{ search: 'at the end of', key: 'process' },
{ search: 'when this', key: 'process' },
{ search: 'lifelink', key: 'life' },
{ search: /gains? ?[X\d]* life/, key: 'life' },
{ search: 'tap target', key: 'control' },
{ search: 'extra turn', key: 'control' }
{ search: 'return target', key: 'control' }
{ search: 'destroy target', key: 'control' }

This list can be improved, by changing any of them or adding new searches or new key performances, feel free to comment so we can discuss about it.
Example: Abzan Beastmaster has the following oracle text:

At the beginning of your upkeep, draw a card if you control the creature with the greatest toughness or tied for the greatest toughness.

This card will increment performances 'process' and 'draw' because it matches 'at the beginning of' and 'draw'
up-to-date version is stats.functionalities
Gives this kind of render :

probably not useful to keep this ticket in its actual state as it will be obsolete once #22 is implemented


Update README.md

A preview environment was automatically created via Qovery.
Click on the link below to follow its deployment and use it.
:point_right: [PR] test - Update README.md - 2023-05-15T12:20:58Z
Another comment will be posted when deployments are terminated

Your preview environment has been successfully deployed !
Click on the link below to open your service:
:point_right: front-end
:point_right: gitpod

/qovery preview all

Your preview environment failed to be deployed !
Click on the link below to check the deployment logs.
:point_right: [PR] test - Update README.md - 2023-05-15T12:20:58Z


add a way to have multiple outputs to the same address

supporting 3 different structures of passing in the $outputs;
[address => value, ]
[[address, value], ]
[['address' => address, 'value' => value], ]

@afk11 can you merge this :) ? I have another PR coming that depends on this ...

Sure thing - thanks for this!


Local Testing Framework: Add stagedLedgerEmitted to GraphQL

@figitaki @aneesharaines Is this still necessary, or has a suitable workaround been found?


Update live with current master

Docs Build status updates of commit 225791e:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/IIS.Administration-docs, working directory: W:\mui5-s, target branch: live, target branch commit: 292ce232551cf3ed9f0faffeaed1e947d4ee9a78, source commit: 225791e1b7c98133f66b982bf4a28e95832e8b68.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 58c531f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

IIS-Administration/api/files.md
:bulb:Suggestion

Details

IIS-Administration/api/installing-features.md
:bulb:Suggestion

Details

IIS-Administration/api/request-tracing.md
:bulb:Suggestion

Details

IIS-Administration/api/scope.md
:bulb:Suggestion

Details

IIS-Administration/api/sites.md
:bulb:Suggestion

Details

IIS-Administration/configuration/appsettings.json.md
:bulb:Suggestion

Details

IIS-Administration/index.md
:bulb:Suggestion

Details

IIS-Administration/security/access-tokens.md
:bulb:Suggestion

Details

IIS-Administration/security/integrated/authorization.md
:bulb:Suggestion

Details

[Error] Publishing of document 'IIS-Administration/api/iis.administration.swagger.json' failed at SafeOpenReadStream with relative path: IIS-Administration/api/iis.administration.swagger.json. Error: Could not find a part of the path 'E:\approot\build\%_op_cacheFolder%\IIS-Administration\angebyhf.nj2\mmmezoyj.zy5'.
[Error] An exception occurred during the build process. Please check the raw log and retry building your content again. If the issue persists, please open a ticket in http://SiteHelp and include the URL of publishing report as well as below information: One or more errors occurred..

IIS-Administration/api/files.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/installing-features.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/request-tracing.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/scope.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/sites.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/configuration/appsettings.json.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/index.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/security/access-tokens.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/security/integrated/authorization.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 58c531f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

IIS-Administration/api/files.md
:bulb:Suggestion
View
Details

IIS-Administration/api/installing-features.md
:bulb:Suggestion
View
Details

IIS-Administration/api/request-tracing.md
:bulb:Suggestion
View
Details

IIS-Administration/api/scope.md
:bulb:Suggestion
View
Details

IIS-Administration/api/sites.md
:bulb:Suggestion
View
Details

IIS-Administration/configuration/appsettings.json.md
:bulb:Suggestion
View
Details

IIS-Administration/index.md
:bulb:Suggestion
View
Details

IIS-Administration/security/access-tokens.md
:bulb:Suggestion
View
Details

IIS-Administration/security/integrated/authorization.md
:bulb:Suggestion
View
Details

IIS-Administration/docfx.json
:white_check_mark:Succeeded

IIS-Administration/getting-started.md
:white_check_mark:Succeeded
View

IIS-Administration/api/files.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/installing-features.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/request-tracing.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/scope.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/api/sites.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/configuration/appsettings.json.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/index.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/security/access-tokens.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

IIS-Administration/security/integrated/authorization.md

[Suggestion] Missing attribute: title. Add a title string to show in search engine results.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[SB-305] replace sso.auth.server.url with SSO_AUTH_SERVER_URL

https://issues.jboss.org/browse/SB-305

Otherwise, looks good to me. 👍

@metacosm good point, thanks!

Good to me too. We can merge it

@metacosm updated. I've added it to the openshift profile only. Not sure if it will be needed by the tests once they're updated to use Cube. They don't work for me at all now.
Alternatively, we could add it to the build section and enforce even for the local runs (which it is needed anyway)

Thanks!


Module review project ant

The first commit updates the file in project.ant with the correct
license headers. There are two main changesets:

the first changeset adds the headers
the second changeset fixes the failing unittests in project.ant which
show a problem in openide.util.

Thanks, looks good to me.


[NOREF] Create "testing" environment instead of using "test"

NOREF
Changes and Description

Changed references that used test as an environment to use testing instead
Created new testing environment in appconfig package to facilitate identifying when we're running tests (what used to be test)

We needed to have some modifications to our environment configuration because EASi historically (and currently) only had dev, impl, and prod environments. Therefore, an environment was created in the appconfig called test which was used to identify when the application was being run for local test (i.e. go test or cypress)
However, MINT has an environment literally named test, so the "unit testing" environment was renamed testing, and all instances of test now refer to the deployed test env, rather than the "unit testing" environment.
How to test this change

Ensure that when APP_ENV is set to test, a real connection to CEDAR LDAP is used.
Ensure that when APP_ENV is set to testing, the CEDAR LDAP mock is used.

PR Author Review Checklist

[ ] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[ ] Updated the Postman Collection if necessary.

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

Looks good from my end.  I only noticed one possible discrepancy - should we be including the local default for Faktory in testing as well?
https://github.com/CMSgov/mint-app/blob/45aaa6590de8cd47f16dbbc897e65813374fb136/pkg/server/routes.go#L254-L256

Looks good from my end. I only noticed one possible discrepancy - should we be including the local default for Faktory in testing as well?
https://github.com/CMSgov/mint-app/blob/45aaa6590de8cd47f16dbbc897e65813374fb136/pkg/server/routes.go#L254-L256

@patrickseguraoddball Good callout - @rileyanderson, do you know off-hand if we have any tests that rely on Faktory? Looks like the server_test job succeeded, so my guess is that we don't currently have anything, but maybe some of your current work might be introducing something like that?
EDIT: Also realizing - this code was created mainly to avoid Faktory from running in deployed envs (since it was crashing the app on startup)
We might just be able to change this to something like if !s.environment.Deployed(), that way local execution still works as expected.

@ClayBenson94 Not yet currently. The ticket I am working on now may introduce it but tbh i don't think we want to run Faktory processes in our tests. We mainly just want to test the functions that Faktory will call


EventBus.getDefault (). Isregistered (this) method is invalid

Eventbus.getdefault ().isregistered (this) returns false when plug-in APK (loaded by classLoader) USES eventbus.getdefault ().isregistered (this) to determine if EventBus isregistered, even if I have registered previously.

Have a look at the source code what might be the issue. You might also provide an example project reproducing this.

` public void register(Object subscriber) {
if (AndroidDependenciesDetector.isAndroidSDKAvailable() && !AndroidDependenciesDetector.areAndroidComponentsAvailable()) {
// Crash if the user (developer) has not imported the Android compatibility library.
throw new RuntimeException("It looks like you are using EventBus on Android, " +
"make sure to add the "eventbus" Android library to your dependencies.");
}
    Class<?> subscriberClass = subscriber.getClass();
    List<SubscriberMethod> subscriberMethods = subscriberMethodFinder.findSubscriberMethods(subscriberClass);
    Collections.sort(subscriberMethods);
    synchronized (this) {
        for (SubscriberMethod subscriberMethod : subscriberMethods) {
            subscribe(subscriber, subscriberMethod);
        }
    }
}`

look at this code,maybe it 's because there 's no @subscribe method in your registered class.so it won't execute the subscribe method

The original poster has not replied in a long time. Closing this.


Socialite: Eliminate dependency on old version of guzzle

Right now it looks like for Oauth1 operations, Socialite is using an outdated version of Guzzle which will not be receiving updates soon.
Reason being, I'm currently troubleshooting some cURL related issues on Google App Engine and in some situations, I'm required to fall back to stream wrappers.  Guzzle 3 unfortunately requires cURL and does not support any underlying alternative implementations.

Could you send PR to that repo to get it updated then?

Otherwise, I'm not sure what else we can do?

Maybe, I have created a ticket until it's a little more imminent for me.
We should monitor that issue in case we end up at guzzle's EOL and the work still hasn't been done.

Not sure guzzle's EOL is a massive issue though tbh. If it works, then it works. It only becomes an issue if security issues arise, though I'm sure Michael would patch them in guzzle 3 if such issues were discovered.

The problem is that socialite is using two guzzle libraries. The older one doesn't support falling back to streams.  This poses an issue on Google app engine that I'm already encountering currently.

Ping @taylorotwell.

Not much we can do about this until League releases a new tag that supports
Guzzle 6. ping @bencorlett
On Sun, Nov 29, 2015 at 6:19 AM, Graham Campbell<EMAIL_ADDRESS>wrote:

Ping @taylorotwell https://github.com/taylorotwell.
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/issues/9951#issuecomment-160413146.

It's on the way. :)


Supabase - Add better cleanup

Describe what should be investigated or refactored
Identify Supabase dependencies that need to be cleaned up in the cluster when removing Supabase and remove the Cleanup Supabase step for the Supabase job in the e2e workflow in favor of using actions.onRemove.before|after in Supabase's zarf.yaml.
Additional context
https://github.com/defenseunicorns/leapfrogai/pull/380/files/f9be536e7fdfa0f8a988b4de9dc97857ec4c2a88#r1589300916

Blocked by https://github.com/defenseunicorns/leapfrogai/pull/380

Closing as duplicate to #454


Feature Blog placeholder PR: PreferAlignByUncoreCache

Description
New blog post to demonstrate the performance impact of the new PreferAlignByUncoreCache alpha feature.
KEP:
https://github.com/kubernetes/enhancements/issues/4800
PR:
https://github.com/kubernetes/kubernetes/pull/126750

Closing this PR. Will revisit feature blog when PreferAlignCpusByUncoreCache reaches beta.


[SeaTunnel #688] Support define variables

Purpose of this pull request
closes #688
Support define variables
Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] Change does not need document change, or I will submit document change to https://github.com/InterestingLab/seatunnel-docs later

cc @garyelephant @CalvinKirs

Thx for your contributions, can you provide UT?

Thx for your contributions, can you provide UT?

Done, take a review when you are free, thx.

@simon824 Hi, typesafe config has builtin variable substitution feature, so we don't need to implement again,  the only thing we need to do is integrating this feature to v2 codebase, just like v1 codebase. Please refer to v1 codebase if you are not sure about this. I will close this PR, thanks


Kubelet configurations on nodes

Description
Starting with Kubernetes version 1.27 we should now be able to pull Pod container images in parallel (https://kubernetes.io/blog/2023/05/15/speed-up-pod-startup/#parallel-container-image-pulls). This would be extremely helpful for us since our Pods create 3 containers and pull 3 images upon startup. In order to do this you have to set the Kubelet configuration field serialImagePulls to false. I was looking through Karpenter documentation and noticed a recommendation from you guys to configure Kubelet on a node using userData (https://karpenter.sh/docs/concepts/node-templates/#specuserdata:~:text=echo "%24(jq '.kubeAPIQPS%3D50' /etc/kubernetes/kubelet/kubelet-config.json)" > /etc/kubernetes/kubelet/kubelet-config.json).  I attempted doing the same thing but for the field serializeImagePulls=false. It appears to have set the field in Kublet but I don't notice any difference. From the event logs it appears to still be pulling images serially. Also, build times do not reflect any reduction in times. Any ideas or pointers on what I might be doing wrong?
Kubelet Configuration on Karpenter provisioned node:
{
  "kubeletconfig": {
    "enableServer": true,
    "syncFrequency": "1m0s",
    "fileCheckFrequency": "20s",
    "httpCheckFrequency": "20s",
    "address": "<IP_ADDRESS>",
    "port": 10250,
    "tlsCipherSuites": [
      "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
      "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
      "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
      "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
      "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
      "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
      "TLS_RSA_WITH_AES_256_GCM_SHA384",
      "TLS_RSA_WITH_AES_128_GCM_SHA256"
    ],
    "serverTLSBootstrap": true,
    "authentication": {
      "x509": {
        "clientCAFile": "/etc/kubernetes/pki/ca.crt"
      },
      "webhook": {
        "enabled": true,
        "cacheTTL": "2m0s"
      },
      "anonymous": {
        "enabled": false
      }
    },
    "authorization": {
      "mode": "Webhook",
      "webhook": {
        "cacheAuthorizedTTL": "5m0s",
        "cacheUnauthorizedTTL": "30s"
      }
    },
    "registryPullQPS": 5,
    "registryBurst": 10,
    "eventRecordQPS": 50,
    "eventBurst": 100,
    "enableDebuggingHandlers": true,
    "healthzPort": 10248,
    "healthzBindAddress": "<IP_ADDRESS>",
    "oomScoreAdj": -999,
    "clusterDomain": "cluster.local",
    "clusterDNS": [
      "<IP_ADDRESS>"
    ],
    "streamingConnectionIdleTimeout": "4h0m0s",
    "nodeStatusUpdateFrequency": "10s",
    "nodeStatusReportFrequency": "5m0s",
    "nodeLeaseDurationSeconds": 40,
    "imageMinimumGCAge": "2m0s",
    "imageGCHighThresholdPercent": 85,
    "imageGCLowThresholdPercent": 80,
    "volumeStatsAggPeriod": "1m0s",
    "cgroupRoot": "/",
    "cgroupsPerQOS": true,
    "cgroupDriver": "systemd",
    "cpuManagerPolicy": "none",
    "cpuManagerReconcilePeriod": "10s",
    "memoryManagerPolicy": "None",
    "topologyManagerPolicy": "none",
    "topologyManagerScope": "container",
    "runtimeRequestTimeout": "2m0s",
    "hairpinMode": "hairpin-veth",
    "maxPods": 118,
    "podPidsLimit": -1,
    "resolvConf": "/etc/resolv.conf",
    "cpuCFSQuota": true,
    "cpuCFSQuotaPeriod": "100ms",
    "nodeStatusMaxImages": 50,
    "maxOpenFiles": 1000000,
    "contentType": "application/vnd.kubernetes.protobuf",
    "kubeAPIQPS": 50,
    "kubeAPIBurst": 100,
    "serializeImagePulls": false,
    "evictionHard": {
      "memory.available": "100Mi",
      "nodefs.available": "10%",
      "nodefs.inodesFree": "5%"
    },
    "evictionPressureTransitionPeriod": "5m0s",
    "enableControllerAttachDetach": true,
    "protectKernelDefaults": true,
    "makeIPTablesUtilChains": true,
    "iptablesMasqueradeBit": 14,
    "iptablesDropBit": 15,
    "featureGates": {
      "RotateKubeletServerCertificate": true
    },
    "failSwapOn": true,
    "memorySwap": {},
    "containerLogMaxSize": "10Mi",
    "containerLogMaxFiles": 5,
    "configMapAndSecretChangeDetectionStrategy": "Watch",
    "kubeReserved": {
      "cpu": "80m",
      "ephemeral-storage": "1Gi",
      "memory": "1553Mi"
    },
    "systemReservedCgroup": "/system",
    "kubeReservedCgroup": "/runtime",
    "enforceNodeAllocatable": [
      "pods"
    ],
    "volumePluginDir": "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/",
    "providerID": "aws:///us-west-2a/i-03463f35a9000c659",
    "logging": {
      "format": "text",
      "flushFrequency": "5s",
      "verbosity": 2,
      "options": {
        "json": {
          "infoBufferSize": "0"
        }
      }
    },
    "enableSystemLogHandler": true,
    "enableSystemLogQuery": false,
    "shutdownGracePeriod": "0s",
    "shutdownGracePeriodCriticalPods": "0s",
    "enableProfilingHandler": true,
    "enableDebugFlagsHandler": true,
    "seccompDefault": false,
    "memoryThrottlingFactor": 0.9,
    "registerWithTaints": [
      {
        "key": "jenkins-agent",
        "value": "true",
        "effect": "NoExecute"
      }
    ],
    "registerNode": true,
    "localStorageCapacityIsolation": true,
    "containerRuntimeEndpoint": "unix:///run/containerd/containerd.sock"
  }
}

Pod event logs:
Events:
  Type     Reason            Age    From               Message
  ----     ------            ----   ----               -------
  Warning  FailedScheduling  4m17s  default-scheduler  0/5 nodes are available: 5 node(s) didn't match Pod's node affinity/selector. preemption: 0/5 nodes are available: 5 Preemption is not helpful for scheduling..
  Normal   Nominated         4m16s  karpenter          Pod should schedule on: machine/jenkins-nonprod-sandbox-agent-spot-jpbx9
  Normal   Scheduled         3m17s  default-scheduler  Successfully assigned jenkins-nonprod-sandbox/test-pipeline-273-0l8kr-596df-05r36 to ip-10-50-0-95.us-west-2.compute.internal
  Normal   Pulling           3m16s  kubelet            Pulling image "nexus-shared.community.apiture.com:5000/apiture/community/devops/apiture-base-k8s:stable"
  Normal   Pulled            2m12s  kubelet            Successfully pulled image "nexus-shared.community.apiture.com:5000/apiture/community/devops/apiture-base-k8s:stable" in 1m3.628s (1m3.628s including waiting)
  Normal   Created           2m12s  kubelet            Created container main
  Normal   Started           2m12s  kubelet            Started container main
  Normal   Pulling           2m12s  kubelet            Pulling image "647426478431.dkr.ecr.us-east-1.amazonaws.com/docker:20.10.15-dind"
  Normal   Pulled            2m     kubelet            Successfully pulled image "647426478431.dkr.ecr.us-east-1.amazonaws.com/docker:20.10.15-dind" in 12.293s (12.293s including waiting)
  Normal   Created           2m     kubelet            Created container dind
  Normal   Started           2m     kubelet            Started container dind
  Normal   Pulling           2m     kubelet            Pulling image "jenkins/inbound-agent:4.11-1-jdk11"
  Normal   Pulled            102s   kubelet            Successfully pulled image "jenkins/inbound-agent:4.11-1-jdk11" in 17.798s (17.798s including waiting)
  Normal   Created           101s   kubelet            Created container jnlp
  Normal   Started           93s    kubelet            Started container jnlp

Observed Behavior:
Sequential container image pulls in Pod
Expected Behavior:
Parallel container image pulls in Pod
Reproduction Steps (Please include YAML):

Update Karpenter AWSNodeTemplate to update Kubelet configuration
Deploy changes

  apiVersion: karpenter.k8s.aws/v1alpha1
  kind: AWSNodeTemplate
  metadata:
    name: jenkins-agent-spot
  spec:
    amiFamily: AL2
    instanceProfile: KarpenterNodeInstanceProfile-jenkins-nonprod-sandbox-us-west-2
    subnetSelector:
      Name: "jenkins-nonprod-sandbox-private*"
    securityGroupSelector:
      Name: "eks-cluster-sg-jenkins-nonprod-sandbox*"
    userData: |
      MIME-Version: 1.0
      Content-Type: multipart/mixed; boundary="BOUNDARY"

      --BOUNDARY
      Content-Type: text/x-shellscript; charset="us-ascii"

      #!/bin/bash
      echo "$(jq '.serializeImagePulls=false' /etc/kubernetes/kubelet/kubelet-config.json)" > /etc/kubernetes/kubelet/kubelet-config.json

      --BOUNDARY--
    blockDeviceMappings:
      - deviceName: /dev/xvda
        ebs:
          volumeSize: 100
          volumeType: gp3
          iops: 3000
          throughput: 125
          deleteOnTermination: true

Versions:

Chart Version: 0.30
Kubernetes Version (kubectl version):  1.28

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

What does kubectl get --raw "/api/v1/nodes/<nodename>/proxy/configz" show for this node?

Hi @tzneal! The above kubelet config is from me running that command against the node. I just formatted the JSON.

Can you provide the pod spec for a similar pod?

Absolutely!
apiVersion: v1
kind: Pod
metadata:
  annotations:
    karpenter.sh/do-not-evict: "true"
  labels:
    name: jenkins-agent
spec:
  serviceAccountName: "default"
  nodeSelector:
    purpose: jenkins-agent
  tolerations:
    - key: "jenkins-agent"
      operator: "Exists"
      effect: "NoExecute"
  containers:
    - name: main
      image: <custom_docker_image>
      securityContext:
        runAsUser: 1000
        runAsGroup: 3000
      command: []
      tty: true
      args: []
      resources:
        requests:
          cpu: "1"
          memory: "1Gi"
          ephemeral-storage: "1Gi"
        limits:
          memory: "2Gi"
          ephemeral-storage: "2Gi"
      volumeMounts:
        - name: docker-certs-client
          readOnly: true
          mountPath: /certs/client
      imagePullPolicy: Always
      env:
        - name: POD_IP
          valueFrom:
            fieldRef:
              fieldPath: status.podIP
        - name: DOCKER_HOST
          value: tcp://localhost:2376
        - name: DOCKER_TLS_CERTDIR
          value: "/certs"
        - name: DOCKER_TLS_VERIFY
          value: "1"
        - name: DOCKER_CERT_PATH
          value: "/certs/client"
    - name: dind
      image: <docker-in-docker_image_docker:20.10.15-dind>
      resources:
        requests:
          cpu: "1"
          memory: "1Gi"
          ephemeral-storage: "1Gi"
        limits:
          memory: "15Gi"
          ephemeral-storage: "12Gi"
      securityContext:
        privileged: true
      volumeMounts:
        - name: dind-storage
          mountPath: /var/lib/docker
        - name: docker-certs-client
          mountPath: /certs/client
        - name: docker-certs-ca
          mountPath: /certs/ca
    - name: jnlp
      image: "jenkins/inbound-agent:4.11-1-jdk11"
      resources:
        requests:
          cpu: "100m"
          memory: "256Mi"
          ephemeral-storage: "1Gi"
        limits:
          memory: "15Gi"
          ephemeral-storage: "15Gi"
      volumeMounts:
        - mountPath: "/home/jenkins/agent"
          name: "workspace-volume"
          readOnly: false
  imagePullSecrets:
    - name: default
  volumes:
    - name: dind-storage
      emptyDir: {}
    - name: docker-certs-client
      emptyDir: {}
    - name: docker-certs-ca
      emptyDir: {}
    - name: "workspace-volume"
      emptyDir:
        medium: ""

Thanks, wanted to check if any were init containers or if they were all main containers.

 I did see in the notes it said if init containers were present they would still need to happen prior (not in parallel) to the main containers. Which of course will increase Pod creation time.

It's not really called out well in the docs, but this appears to be for multiple pods only and not parallel pulls for images within the same pod.

Interesting! So, do the Pods have to be on the same node, or can the images pull in parallel across nodes? I guess I read the docs wrong thinking this was parallel container pulls within a single Pod (which would make a lot of sense).

Same node, the images are stored locally on the node.


Retail re-build without activiation

@tomspilman Is it possible you could do a quick rebuild of Torsion codebase that you used for v1.1.392 Final without the activation/ignition parts in-place for people like this guy? As it'll be a while before the current repository is able to build successfully anytime soon and don't want anybody to be left out in the cold, so to speak, in the meantime.
Thanks much appreciated.

I can try to do that... could be tricky with it all dependent on a really old version of VS.  I'll try to get to this over the weekend.


Is this accepted on App Store?

Hi! First, congrats for the initiative!
I just need a webview on my IOS app, what's the chances to use GD ViewController on my app to display my webpage and the be accepted on app store?
Thanks!

The problem might be not with GDViewController but with your app features. If it's just web page with no additional functionality Apple's review team might decline the app.
See https://developer.apple.com/app-store/review/guidelines/


Prater logs - ignore block when PARENT_UNKNOWN

Describe the bug
During Prater genesis I see this log
2021-03-23 15:22:45 [NETWORK]         debug: gossip - Block - ignore code=BLOCK_ERROR_PARENT_UNKNOWN, parentRoot=

Do we keep this block for latter of do we throw it away? If so how would we get it eventually if it's a legit block?

we still send that block to chain https://github.com/ChainSafe/lodestar/blob/master/packages/lodestar/src/network/gossip/validator.ts#L85 and later on it becomes a pending block in the db.
At the same time it'll issue beacon_blocks_by_root to other peers using an unknown ancestor root, once we got that block we'll probably be able to process the original block if it's legit.

When a block from gossip has not a known parent we have to throw the error two times right?

First on gossip validation
Then again in the chain on receiveBlock

That seems like doing unnecessary work for an outcome that is already known. Would it be worth it to find another approach?

The 1st throw is for internal handle of gossip validator - we don't care much from other modules, while the main throw is from the chain module, it's the official one and the necessary one in order for other modules to handle onBlockError if they want to.
So I think we should keep it as is.


Donation/integrate widgets

What:
Add widgets for donation within corresponding home sections
Why:
We need to offer people ways to donate
How:

Add the developed donation widgets
Update some aesthetics for small resolutions
Update configuration and readme instructions for env variables
Fix minor typo on chapters dropdown
Add support for widgets to use className

Media:

Disclaimer. we still need to update accordingly in order to support donation_type and fully verify integration with membership application.

Should we change the copy from the first image to something like Become a member instead of Donate Monthly?

Should we change the copy from the first image to something like Become a member instead of Donate Monthly?

Let's find out today in our sync! 👍
Thanks for bringing this up.

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


Python 2 and 3 dual compatibility

Addressed the following issues to allow for python 2 and 3 dual compatibility:

Python 2 doesn't accept mutable objects (like empty lists) as default function arguments.
Python 2 requires handling of nested exceptions differently.
Python 2 doesn't allow fixed arguments after either *args or **kwargs
Pickling is very specific to the python Kernel.

Additionally, fixed truncation and reshaping bugs in tensor.truncated_svd and modified the .gitignore file to ignore build files from installation.

The .gitignore file seems to contain a lot of user-specific stuff. This should probably be cut down.


Feature per file build time

Description: Add checkbox that shows per file total build time. This is an aggregate of all function build times.

LGTM :)


[mapbox] Android: update to SDK v4.2.2

This also adds new bindings for the new dependencies: Mapbox.JavaServices and Mapbox.Android services.

Merged manually


TPV config file - documentation should mention the name of the file?

Does the tpv configuration file need a specific name? It is not mentioned here: https://total-perspective-vortex.readthedocs.io/en/latest/topics/tpv_by_example.html
I see in https://www.youtube.com/watch?v=4l7mVHGm_8A that tpv_config.yml is used. Is this the required name?

No specific name is required, all config files listed in job_conf.yml will be loaded in order: https://total-perspective-vortex.readthedocs.io/en/latest/topics/configure_galaxy.html


Ncut demo

Description
[Tell us about your new feature, improvement, or fix! If relevant, please supplement the PR with images.]
Checklist
[It's fine to submit PRs which are a work in progress! But before they are merged, all PRs should provide:]

[ ] Clean style in the spirit of PEP8
[ ] Docstrings for all functions
[ ] Gallery example in ./doc/examples (new features only)
[ ] Unit tests

[For detailed information on these and other aspects see scikit-image contribution guidelines]
References
[If this is a bug-fix or enhancement, it closes issue # ]
[If this is a new feature, it implements the following paper: ]

I am not sure if you intended this. I remember your comment on my blog. My blog code my be outdated.
You can see this example to use the latest ncut code
http://scikit-image.org/docs/dev/auto_examples/plot_ncut.html


Allow value translations for submit button

Support for submit button translations:
{{submit valueTranslation="pirate.submit"}}

Thank you for submitting this PR, but it's not necessary anymore.
Most of the code of the library was rewritten to be compatible with Ember 1.13. Now you don't need to use the suffix Translation to define the translated text. You can use the helper of your library of choice.
For example, if you are using the addon ember-i18n you can do:
{{submit value=(t "pirate.submit")}}

You can get the most recent version of ember-easy-form on the branch 1-0-stable or as an ember-addon here.


Implement favourites API

https://docs.joinmastodon.org/methods/favourites/

The API has already been implemented.


octoscan: 0-unstable-2024-08-25 -> 0.1.0

Diff: https://github.com/synacktiv/octoscan/compare/refs/tags/v0-unstable-2024-08-25...v0.1.0
Description of changes

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/)
24.11 Release Notes (or backporting 23.11 and 24.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.

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

1 package built:

octoscan

I will stick to watch the repo and do the updates as needed for now.


Add experimental binder build

Pull request information

Status: Ready to merge
Kind of changes: Add a logo and a link to an experimental Binder build of the master. The build is executed per the specification detailed in the dockerfile linked here.
Code affected: README.md

Description

The Binder build enables running online any jupyter notebooks that do not require opening an external GUI. For now, this includes Tutorial 01 (after changing sumo-gui to sumo) and Tutorial 03.
Features:

Run tutorials without local installation.
Binder build is automatically synced with the master as it develops. Every sync will take about a few hours to complete.

Pull Request Test Coverage Report for Build 3636

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.287%

Totals

Change from base Build 3631:
0.0%

Covered Lines:
8298

Relevant Lines:
9090

💛  - Coveralls

Why doesn't the GUI work? Can this be resolved?

Since the notebooks are hosted on a headless remote server, it is unlikely that the GUI will work without significant hacking. Binder by design does not support this kind of use case.

alright, we should look into this. Ideally I'd be able to run these with the gui on, but either way it's an exciting feature.


Set offset from bottom ?

Is there an option to set space from bottom ?

@craftpip Do you found the option?


Make a helper function to squash/unsquash all axes  (except some) into a single batch axis

lots of JAX stuff works with only a single batch axis, and other custom kernels are easier to write if there's a single batch axis. On TPU, this is basically free (assuming the batch axes aren't at the beginning)

fixed in dev. It's called haliax.core.flatten_all_axes_but


Fix memory leak

Change Description
Hello, this fixes leaking SED instances if they still exist when calling the PhotoZ class destructor (this is the case when running lephare with pz-rail-lephare). The relevant leaks, shown by the address sanitizer:
Direct leak of<PHONE_NUMBER> byte(s) in 5360810 object(s) allocated from:
    #0 0x2b20a2157d77 in operator new(unsigned long) /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x2b20d6e0a224 in PhotoZ::read_lib(std::vector<SED*, std::allocator<SED*> >&, int&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<int, std::allocator<int> >, int&) /lustre/t1/cl/lsst/tmp/henrique.almeida/lephare/src/lib/photoz_lib.cpp:561

Direct leak of 77133056 byte(s) in 219128 object(s) allocated from:
    #0 0x2b20a2157d77 in operator new(unsigned long) /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x2b20d6e09dd1 in PhotoZ::read_lib(std::vector<SED*, std::allocator<SED*> >&, int&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<int, std::allocator<int> >, int&) /lustre/t1/cl/lsst/tmp/henrique.almeida/lephare/src/lib/photoz_lib.cpp:565

(...)
Direct leak of 1162304 byte(s) in 3302 object(s) allocated from:
    #0 0x2b20a2157d77 in operator new(unsigned long) /opt/conda/conda-bld/gcc-compiler_1654084175708/work/gcc/libsanitizer/asan/asan_new_delete.cpp:99
    #1 0x2b20d6e09472 in PhotoZ::read_lib(std::vector<SED*, std::allocator<SED*> >&, int&, int*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::vector<int, std::allocator<int> >, int&) /lustre/t1/cl/lsst/tmp/henrique.almeida/lephare/src/lib/photoz_lib.cpp:567

[ ] My PR includes a link to the issue that I am addressing

Solution Description
Completed the destructor with the remaining de-allocations.
Code Quality

[ ] I have read the Contribution Guide
[x] My code follows the code style of this project
[x] My code builds (or compiles) cleanly without any errors or warnings
[ ] My code contains relevant comments and necessary documentation

Project-Specific Pull Request Checklists
Bug Fix Checklist

[ ] My fix includes a new test that breaks as a result of the bug (if possible)
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

New Feature Checklist

[ ] I have added or updated the docstrings associated with my feature using the NumPy docstring format
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[ ] I have added unit/End-to-End (E2E) test cases to cover my new feature
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

Documentation Change Checklist

[ ] Any updated docstrings use the NumPy docstring format

Build/CI Change Checklist

[ ] If required or optional dependencies have changed (including version numbers), I have updated the README to reflect this
[ ] If this is a new CI setup, I have added the associated badge to the README

Other Change Checklist

[ ] Any new or updated docstrings use the NumPy docstring format.
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[ ] I have added unit/End-to-End (E2E) test cases to cover any changes
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

thanks @hdante it seems very reasonable.

I made the changes to get precommit hooks passing. I was partly curious to see how that would work with a forked repository.

Thank you everyone,


Allow for monthsShown to be either next or previous to selected, or to default before maxDate.

Expected behavior
When I use monthsShown={2} and maxDate={today}, I would like to be shown current month and previous month
Actual behavior
Current month and next month are shown.

I'd rather just have it be based on what integer is passed to monthsShown. We'd need to add support for negative integer and 0 becomes the 'current' month. By default it would include 0-n where n is the number provided, but you could also provide an array tuple (array of two integers) to explicitly define exactly which month range to show.
Some examples

monthsShown={0} - default, show the current month
monthsShown={1} - show the current month and next month
monthsShown={-1} - show the current month and previous month
monthsShown={[1,2]} - show the next month and the month after that
monthsShown={[-2,-1]} - show two months ago and the previous month
monthsShown={[-1,1]} - show previous, current and next month

Just an idea!!

any news? :(

when using this flag with monthsShown and selectsRange, on Date select I am going to the previous month. is there any feasible solution

@siva-osv did you come up with a solution? I've faced this issue and can't figure out how to fix it.

Hi, @siva-osv Were you able to find a solution to this?

@Sakshi-Zeni using both showPreviousMonths and focusSelectedMonth worked for me

facing same issue here 😢


Release pipeline validation should ensure partner handoff artifacts are identical to GH release

This includes things like the tarballs (file names), release.json, tags, etc.

Closing as this should be covered by https://github.com/dotnet/source-build/issues/4131


[Feature Request] Provide additional folder options for the Drop-in Folder

Provide a second optional folder where assets are moved into once installed.

Won't fix, as we do not plan to organize the user files more then necessary.


Junit Test Report for Circle CI Compatibility

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
I want to be able to display my test results with circle ci but the results need to be in junit format.
Describe the solution you'd like
A clear and concise description of what you want to happen.
In other testing frameworks, such as jest in nodejs there are "test-reporters" that can export results in a particular format. https://www.npmjs.com/package/jest-junit
I think adding the option to spit out the results with a command line arg would be awesome.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
There really isn't an alternative for circle ci.
Additional context
Add any other context or screenshots about the feature request here.
I am not concerned if all the information is converted into the junit report (such as stack trace, vars... etc). I really just want the name of each test that passed and which failed.

Good idea!

I am not concerned if all the information is converted into the junit report (such as stack trace, vars... etc). I really just want the name of each test that passed and which failed.

That should not be quite hard IMHO.


Phone is unresponsive and warm when running TetherFi

I don't know the best way to diagnose this problem, but I'm seeing my phone (Moto G7 Power) become very unresponsive (and warm to the touch) while running the wifi services using TetherFi.  Even just unlocking the phone takes a long time.

Hi, this was a bug in an older version of TetherFi
A new version was released yesterday, version 24. Please update.

Please let me know if updating to version 24 fixes your performance issues. Thank you!

Will close if no response in 2 days, please use version 24, thank you!

I was indeed running an old version, and I have not seen it happen since upgrading, but I haven't really used it that much.  That said, I wasn't closing the bug out of consideration of people filing duplicates.


(too) many ways to get the number of hits

“There are lots of ways to get the number of hits” and even after removing the duplicate (PR will come shortly) we have several remaining:

GetNumTubesHit()
GetNcherenkovhits()
GetCherenkovHits()->GetEntries()

and

GetNumDigiTubesHit()
GetNcherenkovdigihits()
GetCherenkovDigiHits()->GetEntries()

Can we add comments or documentation to make it clear when to use which of these three? From looking at the code, that is not obvious to me.

My understanding is that 2/3 are equivalent, showing the actual number of hits. 1 is different, showing the number of unique PMTs that have been hit.
Very simple example - PMT 0 hit twice. Method one gives answer as 1; methods two/three give the answer as 2.
But I think documentation improvements are never a bad idea

That’s what I thought from the method names, too. But when I run a simple test (50 MeV electron at origin) and analyse the result with read_PMT.C, all three methods return the same number; which is not what I expected.
To add to my confusion, I just discovered that in doc/DetectorDocumentation.pdf on p. 18, both GetNumTubesHit() and GetNcherenkovhits() are described as “number of tubes with a true hit”.

Looking at WCSimEventAction::FillRootEvent()
Hits

GetNumTubesHit() filled with WCDC_hits->entries() - the number of hit phototubes
GetNcherenkovhits() incremented with a loop over WCDC_hits - will also be the number of hit phototubes
GetNcherenkovhittimes() incremented with a loop over WCDC_hits, and a loop over that PMTs' hit times - will be the total number of hits

Digits

GetNumDigiTubesHit() - incremented with a loop over WCDC, and a loop over that PMTs' digits within that gate - will be the total number of digits in the gate
GetNcherenkovdigihits() - incremented with a loop over WCDC, and a loop over that PMTs' digits within that gate - will be the total number of digits in the gate

(The GetEntries() methods are trivial alternatives to the GetNcherenkov*() convenience methods)
The names are confusing, so would suggest

Make GetNumDigiTubesHit() do what the method name says
Possibly adding InGate to the name of the digit-related methods (but of course these are called from WCSimRootTrigger, which is already split into 'gates', so not strictly required)
Possibly remove GetNcherenkovhits()? And rename GetNcherenkovhittimes() -> GetNcherenkovhits(). This will require a lot of variable/method renaming in WCSimRootEvent...

What do people think?

All these methods count both the number of (PMTs hit by) Cherenkov photons as well as the number of (PMTs with) dark noise events, right? So even having “Cherenkov” in the method names is a bit confusing, and I would suggest renaming GetNcherenkovhittimes() to GetNumHits().

Quick note: I’ll be at a summer school from 4th September and might be inclined to spend an evening or two renaming the variables while I’m there. @eosullivan , could you take a look at this before then and let us know what you think?

@JostMigenda, sure, I'll look this over and get back to you.

I agree with cleaning up this stuff in principle. A couple of comments:

I don't like the idea of changing a function to return a different thing, since if someone is using this in their macro they might not realize that the value they are returning now has a different meaning. Deprecate GetNumDigiTubesHit() and create a newly named function that returns the number of PMT hits that were digitized.
Let's make sure to document things better than the existing code. There should be inline explanations, a comment in the sample ROOT macros, and an update to the doc/DetectorDocumentation.pdf
Finally, renaming things in the code seems simple, but mistakes can cause problems. Make sure you validate your changes where possible.

In terms of documentation, don't forget #99 - adding the comments with doxygen syntax now will be useful for the future


Updated Quickstart for consistency

Fixes #2043
Updated all cases of the Repository-ID in the Quickstart to example-repo and all cases of the Default Branch to main to match the naming convention in the Integration tab.

Added @YaelRiv & @peacing as reviewers.


Bugfix turf.along jumps to last point

Occurs when a distance is requested that is between the
last two points in the line string. Rather than properly
interpolating, along just jumps to the lat/lng of the last
point in the LineString.

Nice @CloudNiner, thanks!


Use pyproject.toml

I think that the community at large is shifting towards pyproject.toml, and our template should have this as a starting point.
@da1910 and @MaxJPRey, would be excellent if you guys could get to this at some point in the near future.

@greschd Let's use flit for now. Potentially, we can switch latter to Poetry. It seems that flit is the simplest way for packaging.

Resolved in #6 by using poetry. We can change back to flit as needed.


remove application when delete from corresponding integration

@ggebel I created a test app in the azure account called warren-test-app2 and if you use the azure integration key, the application should show up in our Applications page.
Acceptance Steps:

Go ahead and delete the app from azure.
Wait for about a minute and the refresh the Applications page and you should see that the app is removed from the page.

@wfernandes I see the app in my list, but I don't have permissions to delete it. Can you do that in the morning and let me know, then I'll refresh the Applications page

It's also interesting that my terminal log shows some other entries:

@ggebel Apparently my warren-test-app was still around but it wasn't showing up on the Applications page. I had to surprisingly use the top "Search resources" bar to find the app.
Also, I'm sure you already know this but just to confirm, the reason why warren-test-app wasn't showing up in the applications page is because that app didn't have a Homepage URL. Apparently, the Admin app filters out the applications without a Homepage URL.

Thanks @wfernandes , I didn't know why the app did not show up on my screen. So, to clarify, the orchestrator finds warren-test-app but does not display it in the Application page. Does that entry get stored in my local database, or is it just an info message that shows up in the log?


catch this in FeatureDefinition validation

failed: stripe: req_zLSbxY6FtxGAct type:invalid_request_error param:tiers message:You may only specify one of these parameters: tiers, transform_quantity.: feature:addvehicles@plan:ad@5

Also, take note of this in Model Builder's support for quantity transforms

Can have a single tier, that's fine, or a flat rate, but not multiple tiers.

Fixed on b3a2be3


Revert "TEST: make and use a fipsinstall script"

Unfortunately, this won't work on MacOS because of system integrity
measures on that platform, which clears DYLD_LIBRARY_PATH before
starting a sub-process executable.
Ref: https://developer.apple.com/library/archive/documentation/Security/Conceptual/System_Integrity_Protection_Guide/RuntimeProtections/RuntimeProtections.html
This reverts commit ae6b654b669638882a6ddce012ff55adc7cf6a82.

Hmmm, shouldn't this be urgent?

It should.

I'll merge it later this afternoon

Agreed, urgent.

Merged.
1e78a50f5a9d4874e910a3b42f10c176197aea88 Revert "TEST: make and use a fipsinstall script"


Vega-lite 2.3.0

Hello!
Are you planning to continue updating the plugin or as it is included in kibana it will be released with newer versions of it?
I have some issues related to the version of vega-lite, that are working with their editor but not with kibana. It is possible to upgrade the version of vega-lite of the plugin without having to update all? Something like drag and drop the vega-lite new version on the same plugin folder?
Also, thank you very much for creating that plugin that makes my life happier!

Kibana 6.3 will ship with the latest Vega & VL libs -- https://github.com/elastic/kibana/pull/17314
I do plan to release updates for a bit longer, in my spare time, but it is becoming increasingly more difficult because Kibana's API keeps changing, and it is fairly difficult to support multiple Kibana versions in the same code base.

Also, I just released another version for 6.0 and 6.1 https://github.com/nyurik/kibana-vega-vis/releases/tag/v1.1.2

Thank you @nyurik!


Compare entity tag

Sorry for being annoying, this is just refactoring and performance optimization.
Instead of parsing If-Match header to a HashSet we can make in-place comparison.
Thus we can avoid of generation of garbage.

Thanks. Applied manually so I could tweak some of the Javadoc and code comments.


MGDOBR-147: Create basic test suite for Shard operator integration tests

Signed-off-by: Karel Suta<EMAIL_ADDRESS>MGDOBR-147
Initial implementation of Shard operator integration tests.
The tests focus specifically on operator functionality, the BridgeIngress images were replaced with dummy ones as original images require Kafka - is currently not available for CI tests.
@r00ta  Currently integration tests aren't added to parent module list as the integration tests are executed by default there. Running this module without prepared environment will cause test failures. Would it have more sense to add the module into module list, allowing tests to be executed only when parameter/profile is activated?
Please make sure that your PR meets the following requirements:

[x] Your code is properly formatted according to this configuration
[x] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[x] All new functionality is tested
[x] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

Hey @sutaakar

@r00ta Currently integration tests aren't added to parent module list as the integration tests are executed by default there. Running this module without prepared environment will cause test failures. Would it have more sense to add the module into module list, allowing tests to be executed only when parameter/profile is activated?

Yes I think it would be good to add it to the parent module and configure the maven surfire plugin to run those tests only if a property/profile is specified.

@r00ta Done, tests are enabled using profile cucumber.
I have switched test execution to Failsafe plugin to align maven phase as the tests are integration tests.


[WIP] Apply access control decorator to HTTP v1 annotated service classes

Modifications:

Do access control for every APIs.
Update metadata when do a CRUD operation for a project.

To-Dos:

Build metadata if no metadata exists.
Make detail specifications about access control, and then implement it.

Please review ProjectServiceV1 class first especially how to apply MetadataService to the existing annotated services. I will apply it to the other service classes in a same way. :-)

Codecov Report

Merging #113 into master will increase coverage by 0.4%.
The diff coverage is 69.29%.

@@            Coverage Diff            @@
##           master     #113     +/-   ##
=========================================
+ Coverage    61.1%   61.51%   +0.4%
=========================================
  Files         254      257      +3
  Lines        8678     8736     +58
  Branches     1005     1004      -1
=========================================
+ Hits         5303     5374     +71
+ Misses       2759     2756      -3
+ Partials      616      606     -10

Impacted Files
Coverage Δ

.../server/internal/admin/service/ProjectService.java
22.22% <ø> (ø)
:arrow_up:

...r/internal/admin/decorator/ProjectMembersOnly.java
50% <0%> (ø)
:arrow_up:

...raldogma/server/internal/api/ContentServiceV1.java
87.71% <100%> (+5.76%)
:arrow_up:

...dogma/server/internal/api/RepositoryServiceV1.java
100% <100%> (+32.72%)
:arrow_up:

...traldogma/server/internal/api/CommitServiceV1.java
95.65% <100%> (+12.31%)
:arrow_up:

...rnal/admin/authentication/CsrfTokenAuthorizer.java
66.66% <100%> (ø)
:arrow_up:

.../server/internal/api/HttpApiResponseConverter.java
87.5% <100%> (ø)

...er/internal/admin/decorator/ProjectOwnersOnly.java
100% <100%> (ø)
:arrow_up:

...dogma/server/internal/admin/model/ProjectInfo.java
76% <100%> (ø)
:arrow_up:

...ernal/admin/decorator/ProjectAccessController.java
88.88% <100%> (+25.25%)
:arrow_up:

... and 20 more

Continue to review full report at Codecov.

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

I will send a PR again later. :-)


Option to "Discard" or "Keep Best" when Stopping

Stopping can strand monsters on bad builds since we don't automatically retry a stopped monster.  We should give users the option to discard or keep the best (so far).  Perhaps we can offer to let them keep a previous loadout if it's on the build.

Call it "revert to previous loadout" and only enable it if there is one to revert to...

Should also give the option to continue (vs. stopping at all).


add cli, add method QRCode.Write(), update readme

Hi @skip2 ,
I add a command-line tool qrcode, which will be built into $GOPATH/bin/ when installing this package by go get. The command can generate QR code and immediately display using imagemagick command "display":
qrcode hello word | display

A method Write method is added for type QRCode so we can write to more output stream:
 func (q *QRCode) Write(size int, out io.Writer) error {}

README.md is also reedited mostly in Markdown format and updated for the CLI.

From the travis-ci log, it should not be the issue of code.

Try removing the "release" build from the .travis.yml. I think that line's just wrong, there's no go tag called "release", similar to here:
https://github.com/travis-ci/travis-ci/issues/3076

How about now?

This looks good, thanks! :)


Re-enable proof-cache

This PR updates the proof-cache and re-enables the check in CI.

!ci-build-me

@mrmr1993 could you also add details on how exactly ERROR_ON_PROOF works: when the check will be executed and how will it be reported by CI?

could you also add details on how exactly ERROR_ON_PROOF works: when the check will be executed and how will it be reported by CI?

It's in the README in the txn snark tests.


Update search form

The search form should be updated.
Layout:

[ ] Condense form to use horizontal whitespace and fit onto page without scrolling
[ ] Visually delineate search form from background
[ ] Fix JS issues that prevent drug/gene context switching
[ ] Allow form expanding to additional filters for "Advanced Search"

Features:
Quick Filters

[ ] Clinically actionable genes
[ ] FDA approved drugs
[ ] Anti-neoplastic (if possible)
[ ] Immunotherapies

Advanced Filters

[ ] Consensus searching (interactions with a certain score)

how about

druggable genome
drug resistance

as categories for filtering drug -> gene searches on?

Bug makes landing page form look bad after merging in rails update:

Also, info menu is now mostly off-screen:


[Improve]Trivial improvements

What changes were proposed in this pull request
Issue Number: close #xxx

Brief change log
Trivial improvements
Verifying this change

This change is a trivial rework / code cleanup without any test coverage.
This change added tests and can be verified as follows:

Does this pull request potentially affect one of the following parts

Dependencies (does it add or upgrade a dependency):  no

LGTM

Thanks @caicancai


Wrong return type

Where you have the method:
public static Task Focus(this ElementReference elementRef, IJSRuntime jsRuntime) {     return jsRuntime.InvokeAsync<object>(         "exampleJsFunctions.focusElement", elementRef); }
I think  you need to return ValueTask<object>

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

ID: 49807900-0d56-e23c-1aef-d79099caeffb
Version Independent ID: feff434f-912c-0985-d575-4a23a629057d
Content: ASP.NET Core Blazor JavaScript interop
Content Source: aspnetcore/blazor/javascript-interop.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @DrGriff ... This is a duplicate of https://github.com/aspnet/AspNetCore.Docs/issues/14739. Engineering will look at that shortly and get back to us.
The approach shown in the topic was approved by engineering on several reviews going back into Blazor's beta releases. When the 3.0 was released and Blazor Server went into general availability, this topic was reviewed by engineering along with the rest. They didn't request a change on that review either.
Keep an :eye: on #14739, and we'll see what they say and work it from there. Thanks for commenting.


fix the require statement in the node example

presuming the user did npm install aparrish/pronouncingjs, this is what the require should look like.
Thanks for this module! I would have no clue what to do with the CMU dictionary without it :sunglasses:

whoops, good catch!


Fitting 3D model

Hi,
First of all so thanks for sharing your useful code. I'm going to fit 3d model of face into webcam stream in real-time. In the first frame, I've used of your SDM to find facial landmarks. Then I've passed its output to your Eos to construct 3d model of face. For other incoming frames I find facial landmarks again. Then transform the model to correct scale, position and angle. I've used of the Rendering parameters (from fitting::estimate_orthographic_camera) for model transformation. My Opengl code to renderScene is as follow:
void renderScene(void) {
       -----------------------------
	//Capture current frame
	-----------------------------
	RenderingParams = FindLandmarks_EstimateCamera(curFrame);
	yaw_angle = glm::degrees(RenderingParams.r_y);
	pitch_angle = glm::degrees(RenderingParams.r_x);
	roll_angle = glm::degrees(RenderingParams.r_z);
	trans_x = RenderingParams.t_x;
	trans_y = RenderingParams.t_y;

	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

	-----------------------------
	//render  background image
	-----------------------------

	// set camera matrix
	setCamera(camX, camY, camZ, 0, 0, 0);
	// set the model matrix to the identity Matrix
	setIdentityMatrix(modelMatrix, 4);

	glRotate(roll_angle, 0.0f, 0.0f, 1.0f);
	glRotate(yaw_angle, 0.0f, 1.0f, 0.0f);
	glRotate(pitch_angle, 1.0f, 0.0f, 0.0f);

	OrthoFrustum(RenderingParams.frustum.l, RenderingParams.frustum.r, 	RenderingParams.frustum.b, RenderingParams.frustum.t, 1, 1000);

	-----------------------------
	//render  model
	-----------------------------
	glutSwapBuffers();
}
void OrthoFrustum(float l, float r, float b, float t, float n, float f) {
	float aux[16];
	setOrthoFrustum(aux, l, r, b, t, n, f);
	multMatrix(modelMatrix, aux);
	setModelMatrix();
}

void setOrthoFrustum(float *mat, float l, float r, float b, float t, float n, float f)
{
	setIdentityMatrix(mat, 4);
	mat[0] = 2 / (r - l);
	mat[5] = 2 / (t - b);
	mat[10] = -2 / (f - n);
	mat[12] = -(r + l) / (r - l);
	mat[13] = -(t + b) / (t - b);
	mat[14] = -(f + n) / (f - n);
}

I have problem with speed. It is so slow which I can't see its transformation is correct or no. I found that it becomes slower and slower over time. I don't know if I'm in right way?  Can I use these projects for real-time purpose? Is my Opengl code to transformation correct?
Regards,
Morteza

Hi Morteza,
It runs at around 10 fps on my laptop without using OpenGL, and everything is definitely real-time capable. Are you compiling in debug-mode?
Try to uncomment extract_texture(), that's the slowest part of everything.
You can use glm::ortho instead of creating your matrices manually:
auto ortho_projection = glm::ortho(rendering_params.frustum.l, rendering_params.frustum.r, rendering_params.frustum.b, rendering_params.frustum.t);
I don't have problems with the code getting slower and slower. I regularly run it for several minutes and longer, and it works steadily at real-time performance. It must be an issue on your end.

Thanks for your reply and help. I'm working on it. I'll inform you the results soon.

Hi Patrik,
Thanks again for your help. I've solved it. It was my mistake as you said. I've been divided your main function into two sub functions and define variables in global domain. I've been forgotten to clear variables at the first of these functions. So it cause to grow their values and program becomes slower and slower over time.
It run at around 10 fps on my system now. Its is great but I need to increase the fps in my work. What is your idea about using SDM tracker? Can it improves the speed? Could you please give me some advises to improve the speed?
Regards,
Morteza

Hi Morteza,
Glad you solved the issues in your code!
Regarding getting more than 10fps: Can you try and uncomment extract_texture(), and see how fast it runs? That's the slowest part of everything. Do you need that?
Cheers,
Patrik

Thanks Patrik. I've constructed 3d model of face in the first frame and I've just transformed it in other frames and I didn't call extract_texture() again. So it is not important for fps. I'm trying to decrease number of landmarks. I don't know how much it affect on accuracy but I'll test it. Any other idea to increase fps would be appreciated.
Regards,
Morteza

I see. Well, the way to go is run a profiler. One general rule of program optimisation is to always run a profiler to tell you where the hotspots are - our intuition is very often wrong. I'm sure if you tell me the hotspots, I'll have some ideas on how to improve it! :-)

So thanks Patrik. OK. I'll do it and inform you the results.

Hi Patrik,
I've attached profiler report.

A lot of the time is spent in the HOG feature extraction of the landmark detection. This coincides with my own measurements. There's not sooo much we can do about that, except to parallelise it, it could run it in parallel for each landmark, so we could use 4, 8 or even more cores.
However what's a bit odd is ~50% of the samples are in opencv_objdetect.dll. Are you running V&J each frames? It seems that is what is making everything slow in your case!

Thanks for your quick response. Yes, I run V&J on each frames now. I've read about Lucas-Kanade tracking. Is it good for tracking? Have you any other suggestion?
About HOG feature extraction, is faster alternative algorithm? So thanks for your time.

You can actually just use our landmark detection for tracking! I recently trained two new models which are a lot better than the one in the repository, and everything works even better when not running V&J each frame. I'll put all that stuff in the repository, but I'm quite busy until January, here you go in the mean-time:

42-point model
68-point model

The tracking-loop looks like this:
	cv::VideoCapture cap(0);
	if (!cap.isOpened()) {
		return EXIT_FAILURE;
	}
	Mat frame;
	bool have_face = false;
	rcr::LandmarkCollection<cv::Vec2f> current_landmarks;
	for (;;) {
		cap >> frame; // get a new frame from camera
		if (frame.empty()) { // stop if we're at the end of the video
			break;
		}
		// You may want some check here if you're still tracking a valid face, and if not, set have_face = false
		if (!have_face) {
			// Run the face detector and obtain the initial estimate using the mean landmarks:
			vector<cv::Rect> detected_faces;
			face_cascade.detectMultiScale(frame, detected_faces);
			if (detected_faces.empty()) {
				continue;
			}
			// rescale the V&J facebox to make it more like an ibug-facebox (it should also/still be square):
			cv::Rect ibug_facebox = rescale_facebox(detected_faces[0], 0.85, 0.2);
			current_landmarks = rcr_model.detect(frame, ibug_facebox);
			have_face = true;
		}
		else {
			// We already have a face. Track from the landmark bounding-box.
			auto enclosing_bbox = get_enclosing_bbox(rcr::to_row(current_landmarks));
			enclosing_bbox = make_bbox_square(enclosing_bbox);
			current_landmarks = rcr_model.detect(frame, enclosing_bbox);
		}
// Do fitting etc.

and:
// V&J to ibug: scaling = 0.85, translation_y = 0.2 // moves down, in percent of original facebox
cv::Rect rescale_facebox(cv::Rect vj_facebox, float scaling, float translation_y)
{
	const auto new_width = vj_facebox.width * scaling;
	const auto smaller_in_px = vj_facebox.width - new_width;
	const auto new_tl = vj_facebox.tl() + cv::Point2i(smaller_in_px / 2.0f, smaller_in_px / 2.0f);
	const auto new_br = vj_facebox.br() - cv::Point2i(smaller_in_px / 2.0f, smaller_in_px / 2.0f);
	cv::Rect ibug_facebox(new_tl, new_br);
	ibug_facebox.y += vj_facebox.width * translation_y;
	return ibug_facebox;
};

You just need to add some criteria to stop and reinitialise the tracking, for example when the bounding-box is <= 40 pixel or you could run V&J every 100 frames or so.
Note that this code will not work with the model that is on the repository currently, it will diverge, because the initialisation is done slightly different.
As I said all this will end up in the repository, hopefully in January :-)

Also about the HOG features, you could use LBP or something faster, but you'd have to re-train (and re-optimise) the model. IMHO HOG is quite fast already and the easier way is just to parallelise it.

Sooooo thanks for your kindly help. I've tested it. I've some problem with it. There is not exist definition of "make_bbox_square" function. I've commented it and it works with 68-point model but 42-point model cause this error: "kernelbase.pdb not loaded."
Another question: I've seen you mentioned in issue#19 of superviseddescent If we're initializing with the previous frame, the landmarks will be fairly close to the true location and we should re-train a model with a different initialization strategy. Is this 42-point model and 68-point model trained using that method?
Again and again so thanks for your time.

You're welcome. Here's the missing function:
cv::Rect make_bbox_square(cv::Rect bounding_box)
{
	auto center_x = bounding_box.x + bounding_box.width / 2.0;
	auto center_y = bounding_box.y + bounding_box.height / 2.0;
	auto box_size = std::max(bounding_box.width, bounding_box.height);
	return cv::Rect(center_x - box_size / 2.0, center_y - box_size / 2.0, box_size, box_size);
};

"kernelbase.pdb not loaded." is not an error of the program, it just means certain debug information wasn't found. Try to find out the real error message, I believe it should work :-)
Your question regarding superviseddescent issue#19: The two new models I linked to go a little bit into that direction, they're still trained with bounding-box initialisation, but they're a lot better. I don't think the training method mentioned in that issue can give much better performance.

Thanks Patrik. It works great now.
I've only two other questions. [ last questions :-) ]
1- I need to increase the speed for my work so I should reduce the number of landmarks. Could you please  guide me how can I change previous training code to include this method?
2- I need to extend this program to include profile view too. Has it potential of it? Can I reach this goal by training with profile view instances?
So Thanks.

Cool! :-)

I've just modified rcr-train basically to load ibug faceboxes, trained from these, rescaled the mean, and then trained on a lot of the ibug images. I'll commit the code to the superviseddescent repo in the future but in the meantime, if you're interested you can drop me an email and I can send you my modified .cpp file. You can find my address on my homepage.

"This program" refering to eos, yes, definitely. Refering to superviseddescent, I'd say "yes" too, it scaled very nicely to more images (for example from Helen). I'm not sure about profile, but it can definitely handle a lot more pose!

Thanks :-)
I appreciate your time. Your comments were so helpful for me.
Wishing you all the best of luck,
Morteza


Add validation to github CI and upgrade vulkan sdk to latest

default to debug for debug non-android builds
add graphics pipeline to github CI builds since it is under active development.

Somewhat related: it looks like we always have PPX_BUILD_XR enabled, which make part of the code path unchecked.

Yeah, we can add that to one or more of the existing CI checks. I can address that separately, and also probably add a flag to enable debug so we don't have to recompile


Do not exit and re-enter main event loop during shutdown

On master (1ef34ee25ed34b2b092f15bf3dca5c0508092829) during shutdown QApplication exits the main event loop, then re-enter again.
This PR streamlines shutdown process by removing the need to interrupt the main event loop, that is required for #59.
Also, blocking QDialog::exec() calls are replaced with safer QDialog::show(), except for SendConfirmationDialog as that change is not trivial (marked as TODO).
The QDialog::open() was not used because the actual modality mode (application modal or window modal) of a dialog depends on whether it has a parent.
This PR does not change behavior, and all touched dialogs are still application modal.
As a follow up, a design research could suggest to make some dialogs window modal.
NOTE for reviewers: quitting app while a dialog is open (e.g., via systray icon menu) must work fine.

Updated 09e84de6bbe550d7e1cc3d56efbded73de36dc38 -> 77a926101d91c4e4c0cead97272d99dbc18285b5 (pr336.02 -> pr336.03, diff):

addressed @jarolrod's comment
fixed bugs

Rebased 77a926101d91c4e4c0cead97272d99dbc18285b5 -> 0f2fff335a28cc287a1e31f9131d1ce1dc8a4739 (pr336.03 -> pr336.04) on top of the recent CI changes.

Added a note for reviewers to the OP.

Updated 0f2fff335a28cc287a1e31f9131d1ce1dc8a4739 -> 2ad7b4d100fbf41d4d7904e6fbeeec39597c9201 (pr336.04 -> pr336.05):

addressed @promag's comment
rebased on top of the recent GUI changes (signal-slot connection etc)

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

Updated 2ad7b4d100fbf41d4d7904e6fbeeec39597c9201 -> b441b47b046e9952a6bbc582dc5fa6044961573b (pr336.05 -> pr336.06):

rebased due to the conflict with #4
addressed @promag's comment

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

Rebased b441b47b046e9952a6bbc582dc5fa6044961573b -> d6dd44c69428b641609c2564ed39b97fdef7be92 (pr336.06 -> pr336.07) due to the conflict with #381.

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".

Rebased d6dd44c69428b641609c2564ed39b97fdef7be92 -> 950ed3cb529f78255614f2ffa148b04c77e61c2d (pr336.07 -> pr336.08) due to the conflict with #399.

Rebased 2407f0d7e0771d6edbaba0b25510cf0448ad2563 -> 94c395dd815f69c244044a0e772ea443a1b46c8c (pr336.09 -> pr336.10) due to the conflict with #398.

Concept ACK

Updated 94c395dd815f69c244044a0e772ea443a1b46c8c -> 451ca244db8bc71ffc3cc9982d025f144cc8f3bc (pr336.10 -> pr336.11, diff):

addressed @promag's comment

@shaavan

tACK 2407f0d
Tested on Ubuntu 20.04 (Qt version 5.12.8)
I tested all the commits and didn’t observe any changes in functionality.

Would you mind re-reviewing this PR after the recent changes?

Would you mind re-reviewing this PR after the recent changes?

Let me take a look!

Code review and lighly tested ACK 451ca244db8bc71ffc3cc9982d025f144cc8f3bc

@hebasto Can we revert the changes made in this pull request?

@prayank23

@hebasto Can we revert the changes made in this pull request?

I'm working on https://github.com/bitcoin/bitcoin/issues/23790

@prayank23

Can we revert the changes made in this pull request?

Blocking synchronous dialogs are evil for responsible GUI. Only broken part was reverted in #509.

Blocking synchronous dialogs are evil for responsible GUI. Only broken part was reverted in #509.

Compiling PR branch. Will test and comment in PR. Thanks.


Add sphinx comment for variant annotation search

The client API documentation is improved with variant annotation docstring.

Good improvement, thanks @david4096. +1.
Merging docs PR.


Refactor split evaluator

Instead of performing per-block scan, perform a segmented scan using the entire GPU. We simulate segmented scan using a fancy scan operator. This refactor will help balance work and raise GPU utilization.
Original idea by @trivialfis
WIP, as some tests are failing.

Can someone help me fix MultiClassesSerializationTest.GpuHist? All the other tests in gtest are passing.

Let me take a look later today.

Failing test from the JVM package:
- XGBoostRegressor should make correct predictions after upstream random sort *** FAILED ***
  34 was not less than 3.4000000000000004 (XGBoostRegressorSuite.scala:69)

That's a test saying the result should have a good match with the exact tree method.  I removed the constraint in https://github.com/dmlc/xgboost/pull/7214 to get the test pass but haven't investigated the cause yet.

Reproduced the failing gtest. I think there are still some issues with this PR, compared the result between master and this PR with this simple script:
import numpy as np
import xgboost
import ctypes

np.random.seed(1994)

kRows = 2048
kCols = 100

X = np.random.randn(kRows, kCols)
y = np.random.randn(kRows)

dtrain = xgboost.DMatrix(X, y)

bst = xgboost.train(
    {"tree_method": "gpu_hist"},
    dtrain,
    num_boost_round=10,
    evals=[(dtrain, "validation_0")],
)

master
[0]     validation_0-rmse:1.01426
[1]     validation_0-rmse:0.93217
[2]     validation_0-rmse:0.89363
[3]     validation_0-rmse:0.85061
[4]     validation_0-rmse:0.81075
[5]     validation_0-rmse:0.77508
[6]     validation_0-rmse:0.73942
[7]     validation_0-rmse:0.71745
[8]     validation_0-rmse:0.69094
[9]     validation_0-rmse:0.67619
rework-evaluation
[0]     validation_0-rmse:1.01243
[1]     validation_0-rmse:0.93273
[2]     validation_0-rmse:0.90907
[3]     validation_0-rmse:0.89448
[4]     validation_0-rmse:0.94705
[5]     validation_0-rmse:0.95018
[6]     validation_0-rmse:0.93193
[7]     validation_0-rmse:0.92086
[8]     validation_0-rmse:0.96244
[9]     validation_0-rmse:0.99594

@trivialfis Thanks for the simple Python script. I managed to fix the bug that was failing the Python script. (The bug had to do with setting the threshold fvalue incorrectly when performing the backward pass.)

Another small counterexample, where categorical data don't yield the same result as its one-hot-encoded version:
from sklearn.preprocessing import OneHotEncoder
import numpy as np
import xgboost as xgb

label = np.array([5, 11, 9, 11, 5, 6, 5, 4, 7, 6])

cat = np.array([[0, 1, 1], [2, 3, 2], [3, 0, 3], [3, 3, 1], [3, 0, 1],
                [1, 2, 0], [1, 3, 0], [0, 1, 2], [0, 2, 2], [0, 1, 1]])

enc = OneHotEncoder()
onehot = enc.fit_transform(cat).toarray()
rounds = 2

parameters = {"tree_method": "gpu_hist",
              "predictor": "gpu_predictor",
              "max_depth": 1}

m = xgb.DMatrix(onehot, label, enable_categorical=False)
xgb.train(parameters,
          m,
          num_boost_round=rounds,
          evals=[(m, "Train")])

m = xgb.DMatrix(cat, label, enable_categorical=True)
xgb.train(parameters,
          m,
          num_boost_round=rounds,
          evals=[(m, "Train")])

Output:
[0]	Train-rmse:5.24927
[1]	Train-rmse:4.13486
[0]	Train-rmse:5.24927
[1]	Train-rmse:4.12286

Another small counterexample, where categorical data don't yield the same result as its one-hot-encoded version:
import pandas as pd
import numpy as np
import xgboost as xgb

def make_categorical(
    n_samples: int, n_features: int, n_categories: int, onehot: bool
):

    rng = np.random.RandomState(1994)

    pd_dict = {}
    for i in range(n_features + 1):
        c = rng.randint(low=0, high=n_categories, size=n_samples)
        pd_dict[str(i)] = pd.Series(c, dtype=np.int64)

    df = pd.DataFrame(pd_dict)
    label = df.iloc[:, 0]
    df = df.iloc[:, 1:]
    for i in range(0, n_features):
        label += df.iloc[:, i]
    label += 1

    df = df.astype("category")
    categories = np.arange(0, n_categories)
    for col in df.columns:
        df[col] = df[col].cat.set_categories(categories)

    if onehot:
        return pd.get_dummies(df), label
    return df, label

rows = 10
cols = 3
rounds = 2
cats = 4

onehot, label = make_categorical(rows, cols, cats, True)
cat, _ = make_categorical(rows, cols, cats, False)

parameters = {"tree_method": "gpu_hist", "predictor": "gpu_predictor"}

m = xgb.DMatrix(onehot, label, enable_categorical=False)
xgb.train(
    parameters,
    m,
    num_boost_round=rounds,
    evals=[(m, "Train")]
)

m = xgb.DMatrix(cat, label, enable_categorical=True)
xgb.train(
    parameters,
    m,
    num_boost_round=rounds,
    evals=[(m, "Train")]
)

Output:
[0]	Train-rmse:5.24927
[1]	Train-rmse:4.13486
[0]	Train-rmse:5.24927
[1]	Train-rmse:3.97093

The correct output is as follows, using the code from the master branch:
[0]	Train-rmse:5.24927
[1]	Train-rmse:4.13486
[0]	Train-rmse:5.24927
[1]	Train-rmse:4.13486

I managed to fix all failing tests in gtest. Fingers crossed.

One last test to fix, this time from multi-GPU side:
____________________ TestDistributedGPU.test_early_stopping ____________________
    @pytest.mark.skipif(**tm.no_cupy())
    @pytest.mark.skipif(**tm.no_dask())
    @pytest.mark.skipif(**tm.no_dask_cuda())
    def test_early_stopping(self, local_cuda_cluster: LocalCUDACluster) -> None:
        from sklearn.datasets import load_breast_cancer
        with Client(local_cuda_cluster) as client:
            X, y = load_breast_cancer(return_X_y=True)
            X, y = da.from_array(X), da.from_array(y)

            m = dxgb.DaskDMatrix(client, X, y)

            valid = dxgb.DaskDMatrix(client, X, y)
            early_stopping_rounds = 5
            booster = dxgb.train(client, {'objective': 'binary:logistic',
                                          'eval_metric': 'error',
                                          'tree_method': 'gpu_hist'}, m,
                                 evals=[(valid, 'Valid')],
                                 num_boost_round=1000,
                                 early_stopping_rounds=early_stopping_rounds)[
                                     'booster']
            assert hasattr(booster, 'best_score')
            dump = booster.get_dump(dump_format='json')
            assert len(dump) - booster.best_iteration == early_stopping_rounds + 1

            valid_X = X
            valid_y = y
            cls = dxgb.DaskXGBClassifier(objective='binary:logistic',
                                         tree_method='gpu_hist',
                                         n_estimators=100)
            cls.client = client
            cls.fit(X, y, early_stopping_rounds=early_stopping_rounds,
                    eval_set=[(valid_X, valid_y)])
            booster = cls.get_booster()
            dump = booster.get_dump(dump_format='json')
>           assert len(dump) - booster.best_iteration == early_stopping_rounds + 1
E           assert 1 == 6
E             +1
E             -6

tests/python-gpu/test_gpu_with_dask.py:388: AssertionError

I believe I fixed all the tests that I've seen to fail so far. Hopefully no more issues. Fingers crossed.

All tests have passed.

Codecov Report

Merging #7197 (d8b7d75) into master (475fd1a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7197   +/-   ##
=======================================
  Coverage   82.76%   82.76%
=======================================
  Files          13       13
  Lines        4061     4061
=======================================
  Hits         3361     3361
  Misses        700      700

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 475fd1a...d8b7d75. Read the comment docs.


Improper submodule ref for eta-parser

Hi,
Is this maintained? It doesn't even compile on my computer.
$ git submodule update --init --recursive
# error: Server does not allow request for unadvertised object d41ce1a55f84314dc07edd0aad315319450ac00c
# Fetched in submodule path 'eta-parser', but it did not contain d41ce1a55f84314dc07edd0aad315319450ac00c. Direct fetching of that commit failed.

@Sir4ur0n Try out the use-eta-parser-intellij-gen branch, that should resolve the issue. See PR #22.

I managed to build it and run it using ./gradlew :plugin:runIde but simply importing the eta-init project from the tutorial brought my CPU to 700% 😄

@Sir4ur0n Would you mind opening that as a separate issue including the steps you took to import the project? You might also want to check the IntelliJ logs and report any stack traces you see relating to typelead.

Shouldn't this issue be closed only when the PR is merged?

@Sir4ur0n Can you file a new detailed issue on how to reproduce the CPU usage issue?


Song title that's the same as the album title will be downloaded as full album

When downloading, I've noticed something very strange, let's say you have an album titled [TITLE], generally a lot of these albums will contain a song with the same title. But when this link is used with the program it will actually instead of downloading just that [TITLE].mp3 song, will download the entire [TITLE] album and combine it into a single .mp3. I've noticed this on multiple occurrences. If this can be solved that'd be amazing, I love this tool very much.

This might be hard to fix but can you provide some examples where album name and song name are same? I'll try to find a way.

Yeah, just as a minor example of this, for example when you view the entire album for At The Gates' At War With Reality on Spotify and copy/paste all of the open.spotify links into the list.txt for a batch execution, when it hits the song with the same title, At War With Reality, instead of downloading the song it justs downloads the entire album into a single .mp3

Chances to download entire album instead of a single track should have been much lowered than what it used to be. A lot of improvements were made to how the tool matches the song on YouTube.
I can't reproduce this with "At The Gates - At War with Reality" (https://open.spotify.com/track/19JwdNrMXnm2pVepX3KvfO) anymore either.
Closing this issue.