fix(TDI-47269): CVE - update "jena-core" to 4.2.0

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-47269
What is the new behavior?
Please check if the PR fulfills these requirements

[X] The commit message follows Talend standard
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[ ] The code coverage on new code >75%
[X] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[X] Other... Please describe: CVE task.

Does this PR introduce a breaking change?

[ ] Yes
[X] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:
Backport of https://github.com/Talend/components/pull/1982 into "maintenance/7.3" branch.

Pull request test result: failure :x:


Retrieve a list of DOIs

Feature Request
We need to check all our DOIs to make sure they resolve correctly. In order to do that, we need to get a list of all our existing ones. The API has a method for that: https://support.datacite.org/docs/api-get-lists
Describe the solution you'd like
Add get_lists option to our DataCite::Client. It will need to support paginating through all the results.
What does "done" look like?
This is a rough idea:
> client = DataCite::Client.new
> results = client.get_list
> results.dois
=> [Enumerable]
> results.next_page?
=> true
> results.next_page
> results.dois
=> [Enumerable]
> results.next_page?
=> false

We could also take a more functional approach and return new results objects for each page instead of mutating it each time.
How will we know when we've successfully implemented this?
When we can loop through an entire list of all our DOIs and extract out the id, perform a GET request on the resulting url and see if it resolves.

I don't think we need this as a feature since we can get the DOIs directly through Datacite this way:
curl https://api.datacite.org/dois\?client-id\=psu.scholar\&page\[size\]\=500 | jq -r '.data[].attributes | [.doi, .url] | @csv'

Fair enough. However, this isn't automated. We might want to consider having a scheduled check of all DOIs. This could guard against public DOIs becoming unintentionally blocked. Although, I'm not sure how that could happen, it's always nice to know we're checking.


sidecar: add config reloader

Triggering of config reloads is a common sidecar need for Prometheus in
various cluster schedulers. Additionally, substituting environment
variables in the configuration is not supported by Prometheus natively
but greatly simplifies deployments.
@Bplotka
As discussed on IRC yesterday. I wasn't quite happy with existing packages as they did no hash-diff on the files aside from not supporting envvar substitution. They also had custom, k8s-centric logic on top.

Okay, I didn't know about the sub-path thing. But FWIW, I don't see a particular reason why one would use sub paths for the things we are talking about here.


⚠ Processors has degraded performance

In 41c44ca, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 111 ms

Resolved: Processors performance has improved in e41b804.


Rename ignore_nan to drop_nan

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (0b3d643) to head (e69786a).
Report is 8 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #433   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           99        99
  Lines         2502      2502
  Branches       149       149
=========================================
  Hits          2502      2502

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[data table inside selectable data table]: data table inside selectable data table is selectable

Description
when you have expandable and selectable data table and you want to have a data table in expanded row inner dt will automatically be selectable idk if this is the default behavior if yes then how can we disable it cause what if I don't need inner dt to be selectable and I also don't really see adding hide-checkbox prop for every line as a good solution cause it still produce bugs then even when hidden
here some examples and a video of how it works
if you are pressing row checkbox it will not select checkboxes on dt that is inside the expandable row

but if you will press select all it will select even the checkboxes inside the expandable row

if we try to hide checkbox on a dt that is inside the expandable row cause we don't need it and then we press select all it still will check the checkboxes of the inner dt even the checkboxes are hidden

https://github.com/user-attachments/assets/924221aa-f561-495f-a50e-7a8635584012
Component(s) impacted
data table, expandable, selectable
Browser
No response
Carbon for IBM.com version
@carbon/web-components 2.12.0
Severity
Severity 1 = The design is broken in a critical way that blocks users from completing tasks or damages the brand. Affects major functionality, no workaround.
Application/website
Any project with dt
Package
@carbon/web-components
CodeSandbox example
https://codesandbox.io/p/sandbox/5mnty4?file=%2Findex.html
Steps to reproduce the issue (if applicable)
https://codesandbox.io/p/sandbox/5mnty4?file=%2Findex.html
Release date (if applicable)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] I checked the current issues for duplicate issues

I do have a similar case, but there is a workaround. Here is a CodeSandbox example


Explorer twistie spacing and issues

VSCode Version: Code - Insiders 1.9.0-insider (d384271ffb5655cee1ddf8f93f51cd892ee2cc40, 2017-01-03T07:05:16.958Z)
OS Version: Darwin x64 16.1.0

The changes to the explorer to make it work when our Seti icon theme is enabled have some serious drawbacks. When not using icons, the spacing from twistie to label is now looking broken:

Also, the rename box is no longer filling the full width:

The changes to make it work with Seti icon theme should only be applied when an icon theme is active.
Finally, I am no longer seeing a "..." when the label overflows:

The difference is that the twistie now takes 22px instead of 16px. Is that so bad?

Yes, compared to the spacing any other application is using:

Another regression: when the explorer is narrow, no longer is a "..." drawn for the overflowing label:

@aeschli all these CSS changes in the explorer have quite a negative impact, can we not just add an invisible icon in our theme for the case where we have no icon for the folder? It seems all this was done to fix the issue with indenting files and folders properly, so let's just add an invisible folder icon?


Improve pinned message functionality

Task
1 .Pinned message should take the user directly TO the pinned msg (similar to other apps).

If we can't do (1), the link should be at least clickable for the pinned msg

@tomastiminskas is it possible when tapping a pinned msg to take the user to the actual msg? if not, I can bounty out number (2)?

@tomsmith8 the complex part is that the pinned message could not be loaded yet, since chat messages are paginated. But yeah, it should be possible. I would need to check what's the best way to accomplish that. On any case maybe we can bounty number 2 and I will take care of implementing number 1

Sweet, I'll bounty 2 out


Replace accesses to Bundle.module with .spotifyExampleContentModule. Fixes #9

Fixes #9.

It's not a super pretty solution, but here's hoping the underlying error gets fixed by Apple some time in the future and you can undo this commit.

I just tested this using the unit tests in my library and it couldn't find the bundle. Try running the "ExampleContentTests" test case (Tests/SpotifyWebAPIMainTests/Other Tests/ExampleContentTests.swift)

Perhaps we need to use Bundle.module if all other candidates fail; e.g.:
static var spotifyExampleContentModule: Bundle = {
        /* The name of your local package, prepended by "LocalPackages_" for iOS and "PackageName_" for macOS. You may have same PackageName and TargetName*/
        let bundleNameIOS = "LocalPackages_SpotifyExampleContent"
        let bundleNameMacOs = "PackageName_SpotifyExampleContent"
        let candidates = [
            /* Bundle should be present here when the package is linked into an App. */
            Bundle.main.resourceURL,
            /* Bundle should be present here when the package is linked into a framework. */
            Bundle(for: SpotifyExampleContentCurrentBundleFinder.self).resourceURL,
            /* For command-line tools. */
            Bundle.main.bundleURL,
            /* Bundle should be present here when running previews from a different package (this is the path to "…/Debug-iphonesimulator/"). */
            Bundle(for: SpotifyExampleContentCurrentBundleFinder.self).resourceURL?.deletingLastPathComponent().deletingLastPathComponent().deletingLastPathComponent(),
            Bundle(for: SpotifyExampleContentCurrentBundleFinder.self).resourceURL?.deletingLastPathComponent().deletingLastPathComponent(),
        ]

        for candidate in candidates {
            let bundlePathiOS = candidate?.appendingPathComponent(bundleNameIOS + ".bundle")
            let bundlePathMacOS = candidate?.appendingPathComponent(bundleNameMacOs + ".bundle")
            if let bundle = bundlePathiOS.flatMap(Bundle.init(url:)) {
                return bundle
            } else if let bundle = bundlePathMacOS.flatMap(Bundle.init(url:)) {
                return bundle
            }
        }
        return Bundle.module
    }()

Ok, I fixed the issue by changing
let bundleNameMacOs = "PackageName_SpotifyExampleContent"

to
let bundleNameMacOs = "SpotifyAPI_SpotifyExampleContent"

However, this suggests to me that we might need to change this too:
let bundleNameIOS = "LocalPackages_SpotifyExampleContent"

We must be through in testing this on every platform and in every possible condition (e.g., previews, release builds).

Interesting. This might have to do with how the package is included - SpotifyAPI vs. LocalPackages suggests that the author of this code had his module bound differently. That's a bummer and makes this fix a bit more difficult...


how to listen cordova's backbutton event

where can i put this code
document.addEventListener("backbutton", onBackKeyDown, false);

Hello,
You can insert in js files like src/main.js or your custom component file. It's coding logic question so i can't help more.
Have a great day!


Stale bot does not run for terraform-aws-modules org

I enabled Stale bot for the whole organization terraform-aws-modules and it does not run for more than a few days now.
Here is the config - https://github.com/terraform-aws-modules/.github/blob/master/stale.yml
I tried to reinstall the GitHub app but no luck.
Any ideas?

Sorry for the delay in my response. Yes, the problem still exists and stale bot does not run on any of https://github.com/terraform-aws-modules/ repository.
Let me know what else can I provide to help enable it?

Thanks for asking but the problem is the same (see my previous comment).

We will migrate to use GH Actions instead.


fix(ci): fix eslint dependency chain

fixes a issue that occurs if you would upgrade eslint, where the eslint-plugin-prettier is now required and a newer version of the community eslint config is required. I tested this and the validate step passes locally.

This is great. Thank you!


Off-by-one error when calculating age

The age calculation used when announcing a user's birthday appears to have an off-by-one error, leading the age to be displayed as one less than the actual age.

This probably happens because DateTime::years_since also takes the time into account, subtracting one from the years if the month, day, and time is less than those of the birthday being subtracted.
Simply subtracting the years instead of using years_since might solve the issue.

Upon closer investigation, it seems that this bug is not related to DateTime::years_since, but rather occurs because the bot looks both ahead and behind the current time when searching for birthdays to announce.
In other words, not only will birthdays that occurred within the past 15 minutes be announced, but so will birthdays that will occur within the next 15 minutes.
This creates a (common) edge case where a birthday at 00:00 on any given day is announced a few minutes before, i.e. on the previous day, leading to the age being displayed wrongly.
A proper fix for this issue would be to search backwards only.

Fixed by #9 (hopefully).


delete_undef_values required stdlib 4.2.0, dependency not set properly

Hey guys, first of all: I appreciate all the hard work you're doing here, this module is great.
I noticed a small problem when pulling from master (specifically I'm working off of: 0bbbea631780b284d36dff955716adab8c0652e0). When pulling the module via librarian-puppet it checks the dependencies in the metadata.json file. I currently have puppetlabs-stdlib 4.1.0 installed, which passed the dependency check in the metadata.json file, because that file claims your module only requires puppetlabs-stdlib version 0.1.6 or greater. However, a the new function delete_undef_values introduced in this commit requires at least puppetlabs-stdlib 4.2.0.
It seems that the metadata.json file needs to be updated to reflect that fact. I can submit a PR if you desire, I'm more than willing to do that.
Thanks!

Ah! Yes please, I did not realize that function was only available in 4.2.0 or later. Please yes a PR.


Improve RLE encoding

Right now it's really inefficient and isn't compressing nearly as much space as it ought to.

Given that I have to iterate over the entire sequence already, I can just map 0s to 'A' and 1s to 'Z' and implement forward seeking for non-numeric characters to mark the end of the length of the encoded bytes.


Add Wiki: Wynncraft Wiki

Added Wynncraft Wiki, moved from https://wynncraft.fandom.com to https://wynncraft.wiki.gg

You seem to be missing the favicon. I use this to get them, and I suggest you get yours so that it can be approved.

Added the favicon as well now


Make sure we show only tags, that match the currently filtered items

Bug/issue #, if applicable: 89482723
Summary
This PR further limits the available tags, to show only those tags, that have matches in the current list of renderable items.
Dependencies
NA
Testing
Steps:

Check the tags
Start typing in the navigator to filter out items
Assert tags are filtered with the list of items as well.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

@swift-ci test

@swift-ci test


Outbound call!

Hi,
I have an embedded CCP inside my app and I want to make an outbound call by clicking a number in the page. I was able to do this by calling Amazon Connect API. I also tried to do this with amazon-connect-streams but it didn't work. here is my code
    `connect.agent(function (agent){
           const endpoint = "+81XXXXXXXX";
           agent.connect(endpoint , {
                 queueARN : "arn:aws:connect:ap-southeast-2:XX:instance/XXX/queue/XXXX",
                 success : function(){console.log("Success call!!!!!!")},
                 failure : function(){console.log("Call failed!!!!!!!")}
          });
    });`

Output:
Call failed!!!!!!!
[ERROR]: 'createOutboundContact' API request failed: [object Object]
Can anyone help me with this issue? Thank-you

Hi.
endpoint is object, not phone number string.  So you have to make endpoint
by utility function before you call agent.connect()
example)
var endpoint = connect.Endpoint.byPhoneNumber('+81********');
hope this would be help.
2018年8月15日(水) 17:50 aliatry1<EMAIL_ADDRESS>
Hi,
I have an embedded CCP inside my app and I want to make an outbound call
by clicking a number in the page. I was able to do this by calling Amazon
Connect API. I also tried to do this with amazon-connect-streams but it
didn't work. here is my code
`connect.agent(function (agent){
       const endpoint = "+81XXXXXXXX";
       agent.connect(endpoint , {
             queueARN : "arn:aws:connect:ap-southeast-2:XX:instance/XXX/queue/XXXX",
             success : function(){console.log("Success call!!!!!!")},
             failure : function(){console.log("Call failed!!!!!!!")}
      });
});`

Output:
Call failed!!!!!!!
[ERROR]: 'createOutboundContact' API request failed: [object Object]
Can anyone help me with this issue? Thank-you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aws/amazon-connect-streams/issues/77, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ANHMELkuBgBSUyHlKk2VFbQF3FyOdVKeks5uQ-DRgaJpZM4V9xaJ
.

Awesome! Thank-you!!

Hi I'm also having the same issue. It worked for a while but then all of a sudden it stopped.
Below is our code.
const endpoint = this.connect.Endpoint.byPhoneNumber(phoneNumber);
    agent.connect(endpoint, {
      success: () => {console.log('success')},
      failure: () => {console.log('failures')}
    })

Hi, I'm trying to make an outbound call (Agent to Agent) using quick connect. In my amazon connect dial panel, I am not able to see any quick connect agent but it is available when transferring existing contact. Can anyone help on this.
window.myCPP.agent.connect(data.endpoints[qcAgentID], {
success: function(data) {
console.log("dial to quick connect - success "+data);
},
failure: function(data) {
console.log("dial to quick connect - failed");
}
});
And below is the error log.
connect-streams-min.85524545.js:1 [2020-11-26T10:51:49.585Z] [ERROR]: 'createOutboundContact' API request failed
connect-streams-min.85524545.js:1 [2020-11-26T10:51:49.586Z] [ERROR]: Failed to handle AWS API request for method createOutboundContact
amazon-connect-1.5.1-2-g1037b86.js:21229 [2020-11-26T10:51:49.585Z] [ERROR]: 'createOutboundContact' API request failed
connect-streams-min.85524545.js:1 [2020-11-26T10:51:49.586Z] [ERROR]: Failed to handle AWS API request for method createOutboundContact
amazon-connect-1.5.1-2-g1037b86.js:21229 [2020-11-26T10:51:49.586Z] [ERROR]: Failed to handle AWS API request for method createOutboundContact

@Selva-Guru - if you console.log(data) in your failure handler it will give you a bit more information about why the failure is happening.


Failed to instantiate [java.util.List]: Specified class is an interface

I'm getting the following warning
2024-02-02 | 10:46:54.394 |  WARN | main | picocli.spring.PicocliSpringFactory |
Unable to get bean of class interface java.util.List, using fallback factory picocli.CommandLine$DefaultFactory
(org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'java.util.List': Failed to instantiate [java.util.List]:
Specified class is an interface)

my guess is it's coming from the following but I'm not exactly sure.
    @Option(
            names = "-topics",
            required = true,
            split = ",",
            arity = "1..*",
            description = "List of topic names")
    List<String> topics;

I'm using
        <dependency>
            <groupId>info.picocli</groupId>
            <artifactId>picocli-spring-boot-starter</artifactId>
            <version>4.7.5</version>
        </dependency>

Thank you for raising this.
This is strange and should not be happening. I thought I had a test for this but I'll double check. I may need more details or a minimum example to reproduce the issue.

Sorry for the late response.
From the code, it looks like there is no problem.
The log simply reports that it was unable to create a Bean java.util.List, and after logging that warning, the call to the default factory succeeds in creating a concrete List instance.
Potential improvements:

The log message is confusing; the message should be clearer that while Spring was unable to instantiate a List, the library will now delegate to the Picocli factory and try again. The current message suggests that the Picocli default factory was also unable to instantiate a List, which is misleading.
Should the log level be WARN? Multi-value List and Map options will always result in these log messages being generated, so this is not a cause for concern, but business as usual. Perhaps INFO is a more appropriate log level here.


Make use of drafts

Mark everything but plugin and internal as drafts
Update navbar to use drafts as well and hide contribute, extend, blog under drafts
Update homepage to show "Coming Soon" for contribute and integrate sections when not in draft mode
Disable mailing list until marketing is consulted (might want to switch to mailchimp)

That makes the site start to look pretty presentable as a beta to me.


DPL-395-2 Track external batches (searching)

User story
As a member of the Heron team, I would like to search on reagant batches (coupled with https://github.com/sanger/General-Backlog-Items/issues/193)
Who are the primary contacts for this story
Barbora @KatyTaylor @harrietc52
Acceptance criteria
To be considered successful the solution must allow:

[x] There is somewhere in the LIMS that shows me all the reagent batches for the whole line of plates in the pipeline (think the plate summary page in SS already meets this requirement)
[x] Given a batch number of a particular reagent, I can find all plates it was used on - this should be presented in a format that is usable by your average lab member (i.e. a user interface or downloadable csv - not raw SQL)
[x] From any plate in the pipeline, I can easily find its associated 'input plate'

Dependencies
https://github.com/sanger/General-Backlog-Items/issues/193

A basic form of the search page is implemented in https://github.com/sanger/sequencescape/pull/3627
This adds a new tab, 'Search', to the Sequencescape navigation bar. It also allows prepopulation of the search terms via URL query parameters - the idea is that there could be a link where the custom metadata is displayed in Limber, 'find other labware with this metadata', or similar, that could take you to the page with the 'key' and 'value' search terms pre-populated.
The above pull request also places the new tab behind a feature flag, so the new tab can be toggled on / off as needed. The URL to control this is the normal Sequencescape base URL followed by /flipper,  and you have to be an administrator to access it.
I'm creating a new story to handle merging the multiple existing search pages into one 'Advanced Search' page.


Fix: Primer::Beta::RelativeTime does not correctly accept "month" attribute

What are you trying to accomplish?
The component Primer::Beta::RelativeTime accepts a system_argument[:month]. This was set via fetch_or_fallback method. However, there was the wrong variable used for the first parameter (the allowed values).
Integration

List the issues that this change affects.
Closes #2407
Risk Assessment

[x] Low risk the change is small, highly observable, and easily rolled back. --> I just used the correct options array instead of the default for the allowed_values
[ ] Medium risk changes that are isolated, reduced in scope or could impact few users. The change will not impact library availability.
[ ] High risk changes are those that could impact customers and SLOs, low or no test coverage, low observability, or slow to rollback.

What approach did you choose and why?

I decided to also change the defaults for the other options, to their according variables as it looked like copy-past mistake. Since all of them default to nil, it shouldn't make any difference in the result.

Merge checklist

[ ] Added/updated tests
[ ] Added/updated documentation
[ ] Added/updated previews (Lookbook)
[ ] Tested in Chrome
[ ] Tested in Firefox
[ ] Tested in Safari
[ ] Tested in Edge

Take a look at the What we look for in reviews section of the contributing guidelines for more information on how we review PRs.

Thanks @HDinger and @keithamus 👍


feat(Operator): Expose the Operator interface to library consumers

First of all, getting started with this library in a typescript project is really easy. However, I found that adding custom operators is kind of annoying now. The Observable.lift() method is publicly exposed as I would expect, but its parameter is an Operator. Since that's not directly exposed by Rx.ts, it feels needlessly hard to implement your own operators. I read the part on the wiki about defining operators (here), but it seems needlessly convoluted to me.
I would expect to be able to do this:
import {Operator,Subscriber} from "@reactivex/rxjs";

export class MyOperator<T, R> implements Operator<T, R> {
    call<T, R>(subscriber: Subscriber<T>): Subscriber<T> {
        return new MySubscriber(subscriber);
    }
}

class MySubscriber<T> extends Subscriber<T> {
    constructor(destination: Subscriber<T>) {
        super(destination);
    }
    // whatever
}

Followed by this:
import {Observable} from "@reactivex/rxjs";

var obs:Observable<string> = ...;
obs.lift(new MyOperator()).subscribe(...);

Am I missing something, or does the interface indeed needs to be exposed? I tested it locally at the change seems rather trivial.

Yep. This was an oversight.
LGTM. Thanks for this. We'll merge when we get a chance

Makes sense to me too. I'll check this in around today.

Merged with 29aa3af, appreciate @kevinvandervlist for effort.


Pipeline created using .Net when edited in UI gives Validation error and prevents from Publishing

I have created 15-20 plus activities in Pipeline programmatically using .Net . This worked like a charm. When I try to edit or modify even any smaller changes in UI directly like  dataset changes -file ,path script name changes to even pipe name changes or simple dot , it throws a validation error for each 20 activities with the message that each of these activity needs a parameter. I do have  parameters for a complete Pipe but not for individual activities. Am i missing something here?

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

ID: 1ebc0c44-b401-1f1f-2ed5-7928918e49b4
Version Independent ID: 52517770-de52-18b3-7bf6-078c18b70fe6
Content: Create an Azure data factory using .NET
Content Source: articles/data-factory/quickstart-create-data-factory-dot-net.md
Service: data-factory
GitHub Login: @linda33wj
Microsoft Alias: jingwang

Thanks for the feedback! We are currently investigating and will update you shortly.

@RoopAnymous I suggest you leave a feedback item here for greater visibility and where the community can upvote it:
https://feedback.azure.com/forums/270578-data-factory
The forums are the best place for a discussion on this issue:
https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=AzureDataFactory
If you discover any focused changes we can suggest for the documentation, add a comment here and we can reopen the issue.

Sure I would post in the forum.
Thank you for the quick response.
On Tue, 18 Sep 2018, 04:57 Jason J<EMAIL_ADDRESS>wrote:

@RoopAnymous https://github.com/RoopAnymous I suggest you leave a
feedback item here for greater visibility and where the community can
upvote it:
https://feedback.azure.com/forums/270578-data-factory
The forums are the best place for a discussion on this issue:
https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=AzureDataFactory
If you discover any focused changes we can suggest for the documentation,
add a comment here and we can reopen the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/15047#issuecomment-422203732,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM9Z48o6FL3fgS8e1ybnGaknh9-dBWlmks5ucC_IgaJpZM4WqRzH
.


Add NumberRange (#155)

I hope this is correct!

Coverage decreased (-0.3%) to 97.717% when pulling ea94be0a66674c1c66fd1e0e60890d42cb221db1 on froghopperjacob:NumberRange into 34a701f39520af5e0c13aa5b00b935bce815b274 on LPGhatguy:master.

Should I add a check for indexing something incorrectly? I don't see other tests doing that so I just wanted to make sure since this will lower the coverage.


shell: prompt configuration during project generation

Adding possibility to modify shell prompt in Kconfig and in prj.config file.
Fixes #14547.
Signed-off-by: Jakub Rzeszutko<EMAIL_ADDRESS>

@rodrigopex: fyi

@jarz-nordic Great, thank you very much! It will help a lot.

Codecov Report

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

@@           Coverage Diff           @@
##           master   #14843   +/-   ##
=======================================
  Coverage   52.48%   52.48%
=======================================
  Files         309      309
  Lines       45063    45063
  Branches    10434    10434
=======================================
  Hits        23653    23653
  Misses      16595    16595
  Partials     4815     4815

Impacted Files
Coverage Δ

subsys/shell/shell_dummy.c
37.14% <ø> (ø)
:arrow_up:

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 6dce703...a555a7f. Read the comment docs.

@carlescufi @nashif :
This one is ready, would you mind merging it?


[New game]: Meme Battle Game !!

🎮 Game Request
Game logic and basic description
It would be a 2-player Game, in which-players will battle out with each other by generating memes for some random real-life situation .
The player who generates more no.of memes on the particular situation wins the battle !!
Point down the features
Game points

Duo-player Activity
Fun
Addictive

Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @sahaycodes !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @sahaycodes ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


editorState is not stored as a Record object in Redux store

I am creating an empty editor state in my Redux reducer with this:
import { EditorState } from 'draft-js'

const defaultState = {
  editorState: EditorState.createEmpty()
}

const editor = (state = defaultState, action) => {
  switch (action.type) {
    case 'UPDATE_EDITOR_STATE':
      return Object.assign({}, state, {
        editorState: action.payload.editorState
      })

    default:
      return state
  }
}

But the editorState that is injected in the props is a plain Object:
EditorState { _immutable: {} }

So I am having errors like getCurrentInlineStyle is not a function
When I create the editorState from the constructor instead, everything is fine, I have a Record Object:
EditorState { _immutable: Record }

Am I doing something wrong with my Redux reducer ?
Thanks.

Did you manage to solve this issue? - I have run into the same thing right now, and can't seem to find any solution?

@qruzz  Yes, you must use convertToRaw when creating your default state:
import { EditorState, convertToRaw } from 'draft-js'

const defaults = {
  editorContent: convertToRaw(EditorState.createEmpty().getCurrentContent())
}


can I draw whole genome coverage from nucplot

I want to draw the whole genome coverage plot using your software nucplot,Can this function be realized? thanks~

The answer is probably no. Many genomes are millions to billions of bases and plotting that many points with any software onto a static image is not useful/feasible.
If you really need the whole genome I recommend running many jobs with sliding windows across the genome and combing those plots into some kind of PDF booklet.
If your genome is small NucFreq (chromosomes less than a few million bases) should be able to plot whole genome with no additional changes to the code.

thanks~


do_split should be False in vak prep when only train dur is specified

currently it tries to do split but then fails since splits of size zero don't have all labels

Realized that fixing this makes it possible to specify train_dur to some value and have it fail silently because there's no functionality for creating a single split (e.g. a train set with duration less than the total amount of data)
I don't want to support that kind of functionality in the command-line interface (might be worth adding later in the API though).
So instead I am adding logic to catch this condition and raise a ValueError with an explanatory error message


Long time connection

Hello
I will get a long connection time ~50ms
(local docker)
on linux

https://github.com/prisma/tiberius/issues/177#issuecomment-953469117


Add Hilbert matrix to jax.scipy.linalg

This PR implements the hilbert function which returns a Hilbert matrix of order n.

Thanks for the update - we'll need to squash the commits again. This involves rewriting your git history and force-pushing to your upstream branch. I typically do it with something like this:
$ git remote -v  # note that upstream points to the main repo and origin to your fork
origin	git@github.com:jakevdp/jax.git
upstream	git@github.com:google/jax.git
$ git branch  # confirm you're on your special_matrices branch
$ git rebase main  # rebase your commits on the current main branch
$ git reset --soft main  # undo all the commits after main
$ git commit -m "Add Hilbert matrix to jax.scipy.linalg" # re-add a single commit
$ git push origin +special_matrices  # force-push to the origin, where it will be reflected in this PR

Thank you @jakevdp. Squashed all the commits into single commit.

It looks like you still have lint errors. It will be faster if you iterate locally rather than relying on pushing changes and testing via github CI. See the pre-commit instructions here: https://jax.readthedocs.io/en/latest/contributing.html#contributing-code-using-pull-requests


Carthage support added..

Do merge if it is all right. Thanks.

Thanks I've improved the doc adding carthage support:
8a4f9550255324536dd36ce37793d4f0aa45e675
You have erroneously included the reference to your branch in your pull request :)


As a user, I want to navigate using the header or footer menus, so that I can find the content I'm looking for.

Notes for testing
Styles for header and footer are not quite complete, but functionality should be working.  Related to admin stories #5 and #6.

Header menu and main footer menu work. Contact and Directions, FAQs and Subscribe buttons appear broken--they redirect to the top of the current page, and I can't find a way to edit these in Mezzanine.

@mnaydan good observation.  The links that don't work were hard-coded in the old site and I think I left them here because I wasn't sure how we wanted to handle them.  I think FAQ is going away (because we don't actually have content for it yet) and subscribe will be changing with the change in how we're handling our mailing list.  My inclination is to make it so all of these can be edited and managed in the admin, there's just an open question with how to differentiate header and footer links.
This relates to #6 which I haven't marked as ready for testing yet because of these questions.  But perhaps this story isn't really ready to be tested until that one is complete?

The navigation from the header all works perfectly. In the footer, the navigation works on the main footer menu (for all the pages on the left side). The links to social media, however, still redirect to the top of the page as when Mary tested. (And, as when Mary tested, I can't seem to change that in Mezzanine.) Not sure if it's a mistake but there are no buttons for "subscribe" or "contact and directions."

Subscribe and Contact and Directions were hard-coded previously but I think they should be admin-managed like everything else.  Maybe we can test once I implement the content page import.
I'll add in the social media links.

Social media links work.
Contact page is managed in Admin.


Add it to Homebrew

definitely +1

Formula is submitted, waiting for them to accept it.

@klaaspieter Thank you!


Update README - Svelte Boilerplate

This PR was finalized at https://github.com/aziontech/azion-samples/pull/129


I think there is an issue with latest updates and Ubuntu 22.04.02 LTS and maybe even OpenSSL?

Hi, there!
Thank you for using SoftEther.
If you are running SoftEther VPN 4.x (i.e. Stable Edition), please read the comparison with Developer Edition at:
https://github.com/SoftEtherVPN/SoftEtherVPN#comparison-with-stable-edition
Before you submit an issue, please read the following:
Is this a question?

If the answer is "yes", then please ask your question on www.vpnusers.com.
The issue section on GitHub is reserved for bugs and feature requests.

If the answer is "no", please read the following:

We provide a template which is specifically made for bug reports, in order to be sure that the report includes enough details to be helpful.
Please use or adapt it as needed.

Prerequisites

[ ] Can you reproduce? Y
[ ] Are you running the latest version of SoftEtherVPN? Y (4.42)

SoftEther version: 4.42 on Server and Client
Component: Client, probably
Operating system: Linux/Ubuntu/22.04
Architecture: 64 bit
[In case it's a computer with known specs, such as the Raspberry Pi, you can specify it omitting the details.]
Processor: Virtual Machine, VMware, AMD Epyc Embedded on client side, AMD Epyc 64 Core on Server side
Description
I was chasing this down as a bug with the Linux client that I first thought it was a routing problem.  Confirmed that is certainly not the case.  The Windows version works fine in Windows 10 and 11. I have this Linux client implemented in many locations, but just so happens I am discovering that this fails with Ubuntu 22.04. Ubuntu 20.04 and 18.04 does not have this problem where the client is deployed (no one out there with these versions has 4.42 yet, but they vary with 4.29 and 4.38, no issues.  Ubuntu 22.04 with 4.38 does not work either).
Here is what I have disovered using OpenSSL. If I use openssl s_client -connect fqdn:443 function on a working solution, Error = 0, if I use it on the non working solution, I get this:
read R BLOCK
40A726C2C77F0000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:../ssl/record/rec_layer_s3.c:308:
This used to work, a recent update has cause this problem and I think the update is an issue on the server and client side or maybe just the server, not sure.
Expected behavior:
OpenSSL should report (from server)
read R BLOCK
read:errno=0
Actual behavior:
OpenSSL reports (from server)
read R BLOCK
40A726C2C77F0000:error:0A000126:SSL routines:ssl3_read_n:unexpected eof while reading:../ssl/record/rec_layer_s3.c:308:
And client never connects
Steps to reproduce

Deploy 22.04 Ubuntu with latest updates
Install latest SE client
Try to connect to a server

Ubuntu 22 is shipped with hardened OpenSSL, it is managed by "seclevel"
https://askubuntu.com/questions/1423215/ubuntu-22-04-how-to-set-lower-ssl-security-level
I'd say that in your case client and server have no common algorithms (indeed it can be reported better).
can you try to play with seclevel ? and probably collect tcpdump ? I hope it should have ssl handshakes and we can compare what server suggests and client requests.

Oh this is one major issue I have with both the server and client logs, btw. I wish there was a way to including more logging details, I almost didn't even catch the problem with OpenSSL as it reports the cert information just fine, its that error at the end, if you don't wait for it you wouldn't even notice it.
I think this is a server side issue and I may have a way to show that.

well, openssl itself is known to report errors in very own way ))
as you provided openssl s_client -connect fqdn:443 output, it is almost useless. ok, you know "it does not work", error does not provide any meaningful info.
I think, currently SE VPN follows that behaviour as well ))
ok, we can log error messages better. but at least we log it in the same way as openssl.

No, the logs from the client show none of that, it only states this on client and server logs:
Server Log:
2023-08-17 18:32:39.033 On the TCP Listener (Port 443), a Client (IP address ##PUBLICIP##, Host name "##PUBLICFQDN##", Port number 43667) has connected.
2023-08-17 18:32:39.033 For the client (IP address: ##PUBLICIP##, host name: "##PUBLICFQDN##", port number: 43667), connection "CID-432290" has been created.
2023-08-17 18:32:39.053 Connection "CID-432290" has been terminated.
2023-08-17 18:32:39.053 The connection with the client (IP address ##PUBLICFQDN##, Port number 43667) has been disconnected.
Client Log:
2023-08-17 18:32:07.298 VPN Connection Setting "##CONNECTIONNAME##": The connection has been either disconnected or it failed. Cause: Connection to the server failed. Check network connection and make sure that address and port number of destination server are correct. (code 1)
2023-08-17 18:32:22.300 VPN Connection Setting "##CONNECTIONNAME##": Connection operation starting (this is now 35 times).
I used OpenSSL to make sure a transparent proxy wasn't in the middle.

Switched back to my older 4.41 Windows based server, same client, still failed so it was not the issue.

Am I troubleshooting this right? If the client is using its own library for openssl, then the OS version shouldn't matter?

When I refer to adjusting openssl.conf, I mean lowering SECLEVEL to 0.
It is correct statement when you use own library, OS version should not matter.

I have adjusted the client to 0 but no change, I am applying this change to the server as well but I cannot restart those services until later.
What I mean by modifying the openssl.cnf, that will affect behavior in SoftEther?

It is hard to catch what you are doing exactly. If you are using "own" openssl libraries, then them usually do not use system wide openssl.conf. Sorry, I'm lost here

I am talking about SE vs the OS. I know I used openssl tool to find out what I did and that is the OS.  SoftEther is using OpenSSL 3.0.9, correct? In theory it should be as simple then to downgrade the client to get a connection, but that doesn't work. I have tried 4.29 and 4.38 on U22.04.
If there is an issue is it my server cert? Why does U20/18.04 work then?  I am just very confused on how to fix this other than downgrading the OS (which I can't in this case). Why would the OS even matter in this case.  Maybe my assumption of the problem is wrong but without logging details this is all I have discovered.

Sorry, what is "SE vs the OS" ?
as for logging details, you can try debug logging.
also, you can try to collect tcpdump capture between server and  client. especially interesting should be connection establishing.

as for your cert, I do not think it is an issue. I would suspect certificate at the last

SE or SoftEther and the OS in this case is Ubuntu
Sorry, I cannot seem to figure out the debugging settings for logging. I see packet captures but that happens at the VPN Members, connection never gets there.

I understand that SE stands for SoftEther and OS stands for Ubuntu. But I do not understand what is "SE vs the OS"

I assume SE is using its own openssl libraries where the OS is using whatever version of openssl is installed.
So using openssl from Ubuntu command line would be the openssl-OS, I have no details on what openssl-SE is doing other than connecting/dropping, etc.

SE may be linked against either system or its own openssl library.
you can use ldd to check that.

Working system:
ldd ./vpnclient
linux-vdso.so.1 (0x00007ffd70df3000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff94cab7000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff94c898000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff94c4a7000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff94ccbf000)
Not working:
ldd ./vpnclient
linux-vdso.so.1 (0x00007fff12390000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f96146ee000)
/lib64/ld-linux-x86-64.so.2 (0x00007f9614f47000)

seems you are using Stable edition of SE VPN, because of 4.X versioning.
I'm not familiar how it is linking against OpenSSL (most probably statically, but I do not know).
such in depth support of Stable edition is handled on vpnusers.com (you should notice that when opening an issue).
this tracker is for SE Developer edition, i.e. 5.X versions.
as for dynamic linking, for example
[ilia@fedora build]$ ldd vpnclient
	linux-vdso.so.1 (0x00007ffc01f3f000)
	libcedar.so => /home/ilia/SoftEtherVPN/build/libcedar.so (0x00007fc143788000)
	libmayaqua.so => /home/ilia/SoftEtherVPN/build/libmayaqua.so (0x00007fc1436cd000)
	libsodium.so.23 => /lib64/libsodium.so.23 (0x00007fc14365f000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fc143481000)
	libncurses.so.6 => /lib64/libncurses.so.6 (0x00007fc143454000)
	libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007fc14341f000)
	libform.so.6 => /lib64/libform.so.6 (0x00007fc14340c000)
	libreadline.so.8 => /lib64/libreadline.so.8 (0x00007fc1433b2000)
	libssl.so.3 => /lib64/libssl.so.3 (0x00007fc14330f000)
	libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007fc142e00000)
	libz.so.1 => /lib64/libz.so.1 (0x00007fc1432f5000)
	libm.so.6 => /lib64/libm.so.6 (0x00007fc142d1f000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fc14395d000)
[ilia@fedora build]$

1890-1-cap.txt
Packet capture

Sorry, I misunderstood what this meant:
"Before you submit an issue, please read the following:
Is this a question?"
I don't specifically have a question about how to use the app but rather I think I found a problem.  I guess it should state that any questions, problems or issues with 4.x should be only on vpnusers.com and not here.  I apologize for the misunderstanding.
Given where I am at here, I suspect that the 5.x client should work with a 4.x server?

yes, generally 5.X and 4.X are interoperable. Unless you met some bug or misconfiguration.
from your observation it looks like there are some incompatibilities between different builds of stable release.
generally, something like that rarely happens between 4.x and 5.x

Well, that fixed my problem, installing 5.x using the following instructions:
apt -y install build-essential cmake gcc g++ make
apt -y install git
apt -y install pkg-config
apt -y install libncurses-dev libssl-dev libsodium-dev zlib1g-dev
apt -y install libreadline-dev
cd ./SoftEtherVPN
./configure
make -C build
I had to re-create my vpn_client.config and reboot was required. And, yes, there is slightly more logging detail:
2023-08-18 17:51:28.093 The configuration file has been loaded.
2023-08-18 17:51:28.093 Connection processing for VPN Connection Setting "..." has started.
2023-08-18 17:51:28.114 VPN Connection Setting "...": Connection operation starting (this is now 1 times).
2023-08-18 17:51:28.306 VPN Connection Setting "...": SSL communication has been started. The protocol version is TLSv1.3. The encryption algorithm name is "TLS_AES_256_GCM_SHA384".
2023-08-18 17:51:28.758 VPN Connection Setting "...": SSL communication has been started. The protocol version is TLSv1.3. The encryption algorithm name is "TLS_AES_256_GCM_SHA384".
2023-08-18 17:51:28.849 VPN Connection Setting "...": Now connected. Session name: "SID-####-1742"

more logging details may be related to successful connection, while on failed connection you might get less details as well.

I think, for SSL is a common way to say "cannot establish connection" for example if algorithms differ between client and server. And client cannot know the exact reason why is cannot connect. It just tries to connect and it cannot. I never seen errors like "server wants me to use hardened ciphers which I do not support".
Still you can try to get details by capturing tcpdump. Not text log you attached, but full pcap.

Thank you for your help, I will close this as this issue is with Version 4.x


[HOLD #15358] [reportActionsCount] Optimistically add reportActionCount in requestMoney

Please see the tracking issue for more. This is held until the sixth step of the roll-out plan is merged.

@mountiny where does this fit in your queue at the moment? Should we see if anyone else is up for taking it on?

I thought of this as an easy backlog issue, its still on hold https://github.com/Expensify/App/issues/15353
but once the time comes and I wont have time for other stuff I am happy to leave this to someone else

Ah ok, great point that this is ultimately a backlog issue and on hold. That sounds like a plan.

Still on hold

Still on hold and maybe this might not even be implemented so moving to monthly

on hold and not sure whats thte state of this one so since I got a lot of things on my plate I will unassign

Closing since this solution is not needed anymore.


SHOP section issue resolved

Fixes Issue #233
https://github.com/Anushkabh/krishiconnect/assets/143149376/5a8caff3-9b7b-40cf-b37f-ef8aa531860d

Try to pull the updated code and resolve the conflicts

@Anushkabh sure, will do so

fIXES #233


New CharacterSheet for Tormenta20 - Containing changes in Attributes and adding Slot Rules

Submission Checklist
Required

[X] The pull request title clearly contains the name of the sheet I am editing.
[X ] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[X] The pull request makes changes to files in only one sub-folder.
[X] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: Tormenta20

The publisher of this game is:  Jambo Editora

The name of this game system/family is: Tormenta

[X] I have followed the Character Sheets Standards when building this sheet.

[X] This sheet has been made on behalf of, or by, the game's publisher.
[ ] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: <   >
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Changed how Attributes works: Removed Modifiers from character sheet. Now the score of attribute is added not the Modifiers.
Added the Equipment Slot rules.

Character Sheet Info Roll20 Internal Use only.


GitHub token switching is not working in Cron

Describe the bug
Frequent running on rate limit exceeded
Reproduction steps
https://console.cloud.google.com/logs/viewer?src=ac&project=openssf&minLogLevel=0&expandAll=false&timestamp=2021-03-16T16:19:32.553000000Z&customFacets=&limitCustomFacetWidth=true&advancedFilter=resource.type%3D"k8s_container"
resource.labels.project_id%3D"openssf"
resource.labels.location%3D"us-central1-c"
resource.labels.cluster_name%3D"openssf"
resource.labels.namespace_name%3D"default"
labels.k8s-pod%2Fjob-name:"daily-score-" severity>%3DDEFAULT&interval=PT1H&scrollTimestamp=2021-03-16T16:17:53.186854132Z&dateRangeUnbound=both&dateRangeStart=2021-03-16T15:19:32.552Z&dateRangeEnd=2021-03-16T16:19:32.552Z
E 2021-03-16T16:17:53.002024178Z {"msg":"Rate limit exceeded. Retrying...","ts":1615911473.0010984,"level":"warn","caller":"roundtripper/roundtripper.go:171"}
E 2021-03-16T16:17:53.001958963Z {"level":"warn","msg":"Rate limit exceeded. Retrying...","caller":"roundtripper/roundtripper.go:171","ts":1615911473.0002775}
E 2021-03-16T15:24:23.182137060Z {"caller":"roundtripper/roundtripper.go:167","level":"warn","ts":1615908263.1819801,"msg":"Rate limit exceeded. Waiting 53m29.818030646s to retry..."}
E 2021-03-16T15:24:23.052225987Z {"msg":"Rate limit exceeded. Waiting 53m29.947978265s to retry...","caller":"roundtripper/roundtripper.go:167","ts":1615908263.052036,"level":"warn"}
E 2021-03-16T15:24:23.044774464Z {"msg":"Rate limit exceeded. Waiting 53m29.955391961s to retry...","ts":1615908263.0446181,"caller":"roundtripper/roundtripper.go:167","level":"warn"}
E 2021-03-16T15:24:23.009648111Z {"level":"warn","ts":1615908263.0094867,"caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m29.990522824s to retry..."}
E 2021-03-16T15:24:22.989419887Z {"ts":1615908262.9892304,"caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m30.010780051s to retry...","level":"warn"}
E 2021-03-16T15:24:22.981095760Z {"caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m30.019108613s to retry...","level":"warn","ts":1615908262.9809232}
I 2021-03-16T15:24:19.564465972Z github.com/invoiceninja/dockerfiles
Expected behavior
Are we switching between tokens ? Is it same across one scorecard call ?

Yes, we are. I have been looking at it also. I will take another look. We have 4 tokens now, we are trying to 2280 GitHub Repo's and with each repo, there is N number of calls.

Yes, we are. I have been looking at it also. I will take another look. We have 4 tokens now, we are trying to 2280 GitHub Repo's and with each repo, there is N number of calls.

I increased to 6 last night.
i feel we process very few repos before we re-hit the rate limit.
e.g.
2021-03-16T16:17:53.002037571Z {"msg":"Rate limit exceeded. Retrying...","caller":"roundtripper/roundtripper.go:171","ts":1615911473.0013971,"level":"warn"} E
2021-03-16T16:17:53.002031954Z {"caller":"roundtripper/roundtripper.go:171","level":"warn","msg":"Rate limit exceeded. Retrying...","ts":1615911473.0012403} E
2021-03-16T16:17:53.002024178Z {"caller":"roundtripper/roundtripper.go:171","ts":1615911473.0010984,"level":"warn","msg":"Rate limit exceeded. Retrying..."} E
2021-03-16T16:17:53.001958963Z {"ts":1615911473.0002775,"caller":"roundtripper/roundtripper.go:171","msg":"Rate limit exceeded. Retrying...","level":"warn"} E
2021-03-16T15:24:23.182137060Z {"level":"warn","caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m29.818030646s to retry...","ts":1615908263.1819801} E
2021-03-16T15:24:23.052225987Z {"msg":"Rate limit exceeded. Waiting 53m29.947978265s to retry...","ts":1615908263.052036,"level":"warn","caller":"roundtripper/roundtripper.go:167"} E
2021-03-16T15:24:23.044774464Z {"msg":"Rate limit exceeded. Waiting 53m29.955391961s to retry...","caller":"roundtripper/roundtripper.go:167","ts":1615908263.0446181,"level":"warn"} E
2021-03-16T15:24:23.009648111Z {"level":"warn","ts":1615908263.0094867,"msg":"Rate limit exceeded. Waiting 53m29.990522824s to retry...","caller":"roundtripper/roundtripper.go:167"} E
2021-03-16T15:24:22.989419887Z {"caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m30.010780051s to retry...","level":"warn","ts":1615908262.9892304} E
2021-03-16T15:24:22.981095760Z {"caller":"roundtripper/roundtripper.go:167","level":"warn","ts":1615908262.9809232,"msg":"Rate limit exceeded. Waiting 53m30.019108613s to retry..."} E
2021-03-16T15:24:19.564465972Z github.com/invoiceninja/dockerfiles I
2021-03-16T15:23:59.036887386Z github.com/internetarchive/openlibrary I
2021-03-16T15:23:45.484818347Z github.com/intellij-rust/intellij-rust I
2021-03-16T15:23:25.610494587Z github.com/intel/media-driver I
2021-03-16T15:22:33.414466331Z github.com/intel/gvt-linux I
2021-03-16T15:22:24.609202708Z github.com/intel/compute-runtime I
2021-03-16T15:22:13.255145868Z github.com/instructure/canvas-lms I
2021-03-16T15:22:01.466539047Z github.com/inspec/inspec I
2021-03-16T15:21:52.499144242Z github.com/input-output-hk/jormungandr I
2021-03-16T15:21:43.686118103Z github.com/ingydotnet/git-subrepo I
2021-03-16T15:21:34.424730045Z github.com/influxdata/telegraf I
2021-03-16T15:21:24.292290198Z github.com/influxdata/influxdb I
2021-03-16T15:21:12.104477292Z github.com/infinispan/infinispan I
2021-03-16T15:20:59.947029413Z github.com/infection/infection I
2021-03-16T15:20:49.530508149Z github.com/impress-org/givewp I
2021-03-16T15:20:42.717601284Z github.com/imazen/imageflow I
2021-03-16T15:20:29.769346213Z github.com/image-rs/image I
2021-03-16T15:19:49.502180641Z github.com/illumos/illumos-gate I
2021-03-16T15:19:42.897541109Z github.com/illuminate/support I
2021-03-16T15:19:32.835321552Z github.com/illuminate/database I
2021-03-16T15:19:18.629120783Z github.com/igraph/igraph I
2021-03-16T15:19:07.083963112Z github.com/ifmeorg/ifme I
2021-03-16T15:18:34.163737021Z github.com/idaholab/moose I
2021-03-16T15:18:21.860157901Z github.com/icsharpcode/SharpZipLib I
2021-03-16T15:18:07.972600555Z github.com/icsharpcode/ILSpy I
2021-03-16T15:17:53.017710087Z {"ts":1615907873.0175443,"msg":"Rate limit exceeded. Retrying...","caller":"roundtripper/roundtripper.go:171","level":"warn"} E

I will do a PR  which will hash the token and dump it into the log we're using into the log statement when it hits the rate limit. This will help us identify the number of tokens from the log.

Yes, we are. I have been looking at it also. I will take another look. We have 4 tokens now, we are trying to 2280 GitHub Repo's and with each repo, there is N number of calls.

I increased to 6 last night.
i feel we process very few repos before we re-hit the rate limit.
e.g.
2021-03-16T16:17:53.002037571Z {"msg":"Rate limit exceeded. Retrying...","caller":"roundtripper/roundtripper.go:171","ts":1615911473.0013971,"level":"warn"} E
2021-03-16T16:17:53.002031954Z {"caller":"roundtripper/roundtripper.go:171","level":"warn","msg":"Rate limit exceeded. Retrying...","ts":1615911473.0012403} E
2021-03-16T16:17:53.002024178Z {"caller":"roundtripper/roundtripper.go:171","ts":1615911473.0010984,"level":"warn","msg":"Rate limit exceeded. Retrying..."} E
2021-03-16T16:17:53.001958963Z {"ts":1615911473.0002775,"caller":"roundtripper/roundtripper.go:171","msg":"Rate limit exceeded. Retrying...","level":"warn"} E
2021-03-16T15:24:23.182137060Z {"level":"warn","caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m29.818030646s to retry...","ts":1615908263.1819801} E
2021-03-16T15:24:23.052225987Z {"msg":"Rate limit exceeded. Waiting 53m29.947978265s to retry...","ts":1615908263.052036,"level":"warn","caller":"roundtripper/roundtripper.go:167"} E
2021-03-16T15:24:23.044774464Z {"msg":"Rate limit exceeded. Waiting 53m29.955391961s to retry...","caller":"roundtripper/roundtripper.go:167","ts":1615908263.0446181,"level":"warn"} E
2021-03-16T15:24:23.009648111Z {"level":"warn","ts":1615908263.0094867,"msg":"Rate limit exceeded. Waiting 53m29.990522824s to retry...","caller":"roundtripper/roundtripper.go:167"} E
2021-03-16T15:24:22.989419887Z {"caller":"roundtripper/roundtripper.go:167","msg":"Rate limit exceeded. Waiting 53m30.010780051s to retry...","level":"warn","ts":1615908262.9892304} E
2021-03-16T15:24:22.981095760Z {"caller":"roundtripper/roundtripper.go:167","level":"warn","ts":1615908262.9809232,"msg":"Rate limit exceeded. Waiting 53m30.019108613s to retry..."} E
2021-03-16T15:24:19.564465972Z github.com/invoiceninja/dockerfiles I
2021-03-16T15:23:59.036887386Z github.com/internetarchive/openlibrary I
2021-03-16T15:23:45.484818347Z github.com/intellij-rust/intellij-rust I
2021-03-16T15:23:25.610494587Z github.com/intel/media-driver I
2021-03-16T15:22:33.414466331Z github.com/intel/gvt-linux I
2021-03-16T15:22:24.609202708Z github.com/intel/compute-runtime I
2021-03-16T15:22:13.255145868Z github.com/instructure/canvas-lms I
2021-03-16T15:22:01.466539047Z github.com/inspec/inspec I
2021-03-16T15:21:52.499144242Z github.com/input-output-hk/jormungandr I
2021-03-16T15:21:43.686118103Z github.com/ingydotnet/git-subrepo I
2021-03-16T15:21:34.424730045Z github.com/influxdata/telegraf I
2021-03-16T15:21:24.292290198Z github.com/influxdata/influxdb I
2021-03-16T15:21:12.104477292Z github.com/infinispan/infinispan I
2021-03-16T15:20:59.947029413Z github.com/infection/infection I
2021-03-16T15:20:49.530508149Z github.com/impress-org/givewp I
2021-03-16T15:20:42.717601284Z github.com/imazen/imageflow I
2021-03-16T15:20:29.769346213Z github.com/image-rs/image I
2021-03-16T15:19:49.502180641Z github.com/illumos/illumos-gate I
2021-03-16T15:19:42.897541109Z github.com/illuminate/support I
2021-03-16T15:19:32.835321552Z github.com/illuminate/database I
2021-03-16T15:19:18.629120783Z github.com/igraph/igraph I
2021-03-16T15:19:07.083963112Z github.com/ifmeorg/ifme I
2021-03-16T15:18:34.163737021Z github.com/idaholab/moose I
2021-03-16T15:18:21.860157901Z github.com/icsharpcode/SharpZipLib I
2021-03-16T15:18:07.972600555Z github.com/icsharpcode/ILSpy I
2021-03-16T15:17:53.017710087Z {"ts":1615907873.0175443,"msg":"Rate limit exceeded. Retrying...","caller":"roundtripper/roundtripper.go:171","level":"warn"} E

I agree. We would have to look into this.

I will investigate and post the updates.

I will do a PR which will hash the token and dump it into the log we're using into the log statement when it hits the rate limit. This will help us identify the number of tokens from the log.

or even dump the index of token in list :)

There is a problem
➜  scorecard git:(feat/play-with-headers) ✗ go run .  --repo=github.com/ossf/scorecard
Starting [Active]
Starting [Branch-Protection]
Starting [CI-Tests]
Starting [CII-Best-Practices]
Starting [Code-Review]
Starting [Contributors]
Starting [Frozen-Deps]
Starting [Fuzzing]
Starting [Packaging]
Starting [Pull-Requests]
Starting [SAST]
Starting [Security-Policy]
Starting [Signed-Releases]
Starting [Signed-Tags]
{"level":"info","ts":1615918078.7519577,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
Finished [Fuzzing]
Finished [CII-Best-Practices]
Finished [SAST]
Finished [Signed-Releases]
Finished [Signed-Tags]
Finished [Branch-Protection]
Finished [Contributors]
Finished [Security-Policy]
Finished [Frozen-Deps]
Finished [Packaging]
Finished [Active]
Finished [Pull-Requests]
Finished [Code-Review]
Finished [CI-Tests]

RESULTS
-------
Active: Pass 10
Branch-Protection: Fail 0
CI-Tests: Pass 10
CII-Best-Practices: Fail 10
Code-Review: Pass 10
Contributors: Pass 10
Frozen-Deps: Pass 10
Fuzzing: Fail 10
Packaging: Pass 10
Pull-Requests: Pass 10
SAST: Pass 10
Security-Policy: Pass 10
Signed-Releases: Fail 5
Signed-Tags: Fail 7

It is always using only 1 token
{"level":"info","ts":1615918078.7519577,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}

Token roundrobin
The GitHub tokens are supposed to be roundrobinned across multiple tokens.
From the investigation, it doesn't look like it is doing that.
Here is the stack trace of token Token function
goroutine 20 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:24 +0x9f
runtime/debug.PrintStack()
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:16 +0x25
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf
golang.org/x/oauth2.(*Transport).RoundTrip(0xc000132c80, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/transport.go:45 +0x9e
github.com/ossf/scorecard/roundtripper.(*RateLimitRoundTripper).RoundTrip(0xc000126be8, 0xc0001f4b00, 0xc6ad27, 0xe, 0x11cf1a0)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:155 +0xf0
github.com/naveensrinivasan/httpcache.(*Transport).RoundTrip(0xc00039e030, 0xc0001f4b00, 0xc00039e030, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/naveensrinivasan/httpcache@v1.2.2/httpcache.go:214 +0x798
net/http.send(0xc0001f4b00, 0xd44760, 0xc00039e030, 0x0, 0x0, 0x0, 0xc00012e4c8, 0xc69e4f, 0x1, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:251 +0x454
net/http.(*Client).send(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0, 0xc00012e4c8, 0x0, 0x1, 0xb)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:175 +0xff
net/http.(*Client).do(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:717 +0x45f
net/http.(*Client).Do(...)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:585
github.com/google/go-github/v32/github.(*Client).Do(0xc000164dc0, 0xd52a98, 0xc00011a000, 0xc0001f4a00, 0xaf50e0, 0xc000126c90, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/github.go:537 +0x239
github.com/google/go-github/v32/github.(*RepositoriesService).ListCommits(0xc000164e48, 0xd52a98, 0xc00011a000, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000325110, 0xc000100050, 0x110000c000080b88, ...)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/repos_commits.go:140 +0x1ee
github.com/ossf/scorecard/checks.IsActive(0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000255630, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/checks/active.go:31 +0xd5
github.com/ossf/scorecard/checker.(*Runner).Run(0xc00013de90, 0xc9e448, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/sammy/go/src/github.com/ossf/scorecard/checker/checker.go:54 +0x1b5
github.com/ossf/scorecard/pkg.RunScorecards.func1(0xc00011b580, 0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:110 +0xd4
created by github.com/ossf/scorecard/pkg.RunScorecards
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:107 +0x353

The Token func (which supplies the token)  https://github.com/ossf/scorecard/blob/main/roundtripper/roundtripper.go#L58 is being called by
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf

https://github.com/golang/oauth2/blob/cd4f82c27b84ec2516d3c38a5b5acaf8823e2702/oauth2.go#L295-310
From the :point_up:  function it looks like the token is cached and never asked for subsequent calls.
So your assumption is right we are only using 1 token and that is the reason it is slow.

We will have to come up with a strategy to use multiple tokens

Token roundrobin
The GitHub tokens are supposed to be roundrobinned across multiple tokens.
From the investigation, it doesn't look like it is doing that.
Here is the stack trace of token Token function
goroutine 20 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:24 +0x9f
runtime/debug.PrintStack()
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:16 +0x25
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf
golang.org/x/oauth2.(*Transport).RoundTrip(0xc000132c80, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/transport.go:45 +0x9e
github.com/ossf/scorecard/roundtripper.(*RateLimitRoundTripper).RoundTrip(0xc000126be8, 0xc0001f4b00, 0xc6ad27, 0xe, 0x11cf1a0)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:155 +0xf0
github.com/naveensrinivasan/httpcache.(*Transport).RoundTrip(0xc00039e030, 0xc0001f4b00, 0xc00039e030, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/naveensrinivasan/httpcache@v1.2.2/httpcache.go:214 +0x798
net/http.send(0xc0001f4b00, 0xd44760, 0xc00039e030, 0x0, 0x0, 0x0, 0xc00012e4c8, 0xc69e4f, 0x1, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:251 +0x454
net/http.(*Client).send(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0, 0xc00012e4c8, 0x0, 0x1, 0xb)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:175 +0xff
net/http.(*Client).do(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:717 +0x45f
net/http.(*Client).Do(...)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:585
github.com/google/go-github/v32/github.(*Client).Do(0xc000164dc0, 0xd52a98, 0xc00011a000, 0xc0001f4a00, 0xaf50e0, 0xc000126c90, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/github.go:537 +0x239
github.com/google/go-github/v32/github.(*RepositoriesService).ListCommits(0xc000164e48, 0xd52a98, 0xc00011a000, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000325110, 0xc000100050, 0x110000c000080b88, ...)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/repos_commits.go:140 +0x1ee
github.com/ossf/scorecard/checks.IsActive(0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000255630, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/checks/active.go:31 +0xd5
github.com/ossf/scorecard/checker.(*Runner).Run(0xc00013de90, 0xc9e448, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/sammy/go/src/github.com/ossf/scorecard/checker/checker.go:54 +0x1b5
github.com/ossf/scorecard/pkg.RunScorecards.func1(0xc00011b580, 0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:110 +0xd4
created by github.com/ossf/scorecard/pkg.RunScorecards
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:107 +0x353

The Token func (which supplies the token) https://github.com/ossf/scorecard/blob/main/roundtripper/roundtripper.go#L58 is being called by
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf

https://github.com/golang/oauth2/blob/cd4f82c27b84ec2516d3c38a5b5acaf8823e2702/oauth2.go#L295-310
From the ☝ function it looks like the token is cached and never asked for subsequent calls.
So your assumption is right we are only using 1 token and that is the reason it is slow.

yes right, another token is not used, and also it sleeps for a long time after rate limit is reached with one token (rather than trying another token).

Token roundrobin
The GitHub tokens are supposed to be roundrobinned across multiple tokens.
From the investigation, it doesn't look like it is doing that.
Here is the stack trace of token Token function
goroutine 20 [running]:
runtime/debug.Stack(0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:24 +0x9f
runtime/debug.PrintStack()
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/runtime/debug/stack.go:16 +0x25
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf
golang.org/x/oauth2.(*Transport).RoundTrip(0xc000132c80, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/transport.go:45 +0x9e
github.com/ossf/scorecard/roundtripper.(*RateLimitRoundTripper).RoundTrip(0xc000126be8, 0xc0001f4b00, 0xc6ad27, 0xe, 0x11cf1a0)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:155 +0xf0
github.com/naveensrinivasan/httpcache.(*Transport).RoundTrip(0xc00039e030, 0xc0001f4b00, 0xc00039e030, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/naveensrinivasan/httpcache@v1.2.2/httpcache.go:214 +0x798
net/http.send(0xc0001f4b00, 0xd44760, 0xc00039e030, 0x0, 0x0, 0x0, 0xc00012e4c8, 0xc69e4f, 0x1, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:251 +0x454
net/http.(*Client).send(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0, 0xc00012e4c8, 0x0, 0x1, 0xb)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:175 +0xff
net/http.(*Client).do(0xc00039e060, 0xc0001f4b00, 0x0, 0x0, 0x0)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:717 +0x45f
net/http.(*Client).Do(...)
	/nix/store/97jqpixykvdf2awdfymn4xsci38v34yc-go-1.16/share/go/src/net/http/client.go:585
github.com/google/go-github/v32/github.(*Client).Do(0xc000164dc0, 0xd52a98, 0xc00011a000, 0xc0001f4a00, 0xaf50e0, 0xc000126c90, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/github.go:537 +0x239
github.com/google/go-github/v32/github.(*RepositoriesService).ListCommits(0xc000164e48, 0xd52a98, 0xc00011a000, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000325110, 0xc000100050, 0x110000c000080b88, ...)
	/home/sammy/go/pkg/mod/github.com/google/go-github/v32@v32.1.0/github/repos_commits.go:140 +0x1ee
github.com/ossf/scorecard/checks.IsActive(0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, 0xc000255630, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/checks/active.go:31 +0xd5
github.com/ossf/scorecard/checker.(*Runner).Run(0xc00013de90, 0xc9e448, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/sammy/go/src/github.com/ossf/scorecard/checker/checker.go:54 +0x1b5
github.com/ossf/scorecard/pkg.RunScorecards.func1(0xc00011b580, 0xd52a98, 0xc00011a000, 0xc000164dc0, 0xc00012e4a8, 0xc00039e060, 0xc0001522e3, 0x4, 0xc0001522e8, 0x9, ...)
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:110 +0xd4
created by github.com/ossf/scorecard/pkg.RunScorecards
	/home/sammy/go/src/github.com/ossf/scorecard/pkg/scorecard.go:107 +0x353

The Token func (which supplies the token) https://github.com/ossf/scorecard/blob/main/roundtripper/roundtripper.go#L58 is being called by
github.com/ossf/scorecard/roundtripper.(*RoundRobinTokenSource).Token(0xc0001bbf80, 0x28, 0x1, 0xa6b50f)
	/home/sammy/go/src/github.com/ossf/scorecard/roundtripper/roundtripper.go:64 +0x11f
golang.org/x/oauth2.(*reuseTokenSource).Token(0xc000132c60, 0x0, 0x0, 0x0)
	/home/sammy/go/pkg/mod/golang.org/x/oauth2@v0.0.0-20201203001011-0b49973bad19/oauth2.go:304 +0xaf

https://github.com/golang/oauth2/blob/cd4f82c27b84ec2516d3c38a5b5acaf8823e2702/oauth2.go#L295-310
From the ☝ function it looks like the token is cached and never asked for subsequent calls.
So your assumption is right we are only using 1 token and that is the reason it is slow.

yes right, another token is not used, and also it sleeps for a long time after rate limit is reached with one token (rather than trying another token).

There isn't a provision to use another token because the oauth2 token source

The reason for another token is not being used because the token isn't expiring.
https://github.com/golang/oauth2/blob/cd4f82c27b84ec2516d3c38a5b5acaf8823e2702/token.go#L126
GitHub oauth2 tokens don't have time-based expiration. So that is the reason it doesn't refresh to new tokens.
AFAIK we would need multiple processes handling requests to solve this. I don't see any other way to solve this.

I was able to reproduce this easily.
➜  scorecard git:(feat/play-with-headers) ✗ export USE_BLOB_CACHE=1
➜  scorecard git:(feat/play-with-headers) ✗ ./cron/cron.sh
github.com/18F/identity-idp
{"level":"info","ts":1615923863.0318873,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/1N3/Sn1per
{"level":"info","ts":1615923879.7010963,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/24pullrequests/24pullrequests
{"level":"info","ts":1615923895.2188172,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AElfProject/AElf
{"level":"info","ts":1615923912.8261182,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/ARMmbed/mbed-os
{"level":"info","ts":1615923929.1262758,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/ARMmbed/mbedtls
{"level":"info","ts":1615923959.6104577,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/Activiti/Activiti
{"level":"info","ts":1615923976.672196,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AdguardTeam/AdguardFilters
{"level":"info","ts":1615923994.6448145,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AlchemyCMS/alchemy_cms
{"level":"info","ts":1615924007.311044,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AliasIO/wappalyzer
{"level":"info","ts":1615924024.244622,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/Amanieu/parking_lot
{"level":"info","ts":1615924043.902877,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AntennaPod/AntennaPod
{"level":"info","ts":1615924065.0364234,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/Anuken/Mindustry
{"level":"info","ts":1615924088.9289727,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/ApolloAuto/apollo
{"level":"info","ts":1615924105.2950606,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/Ardour/ardour
{"level":"info","ts":1615924313.61517,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/ArduPilot/ardupilot
{"level":"info","ts":1615924330.579817,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AssetSync/asset_sync
{"level":"info","ts":1615924348.134791,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AsyncHttpClient/async-http-client
{"level":"info","ts":1615924368.039443,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AudioKit/AudioKit
{"level":"info","ts":1615924386.4050689,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
github.com/AugurProject/augur
{"level":"info","ts":1615924406.5470684,"caller":"roundtripper/roundtripper.go:62","msg":"using token 1 and the len of the tokens are 2"}
{"level":"warn","ts":1615924418.6501276,"caller":"roundtripper/roundtripper.go:170","msg":"Rate limit exceeded. Waiting 49m17.349892294s to retry..."}
{"level":"warn","ts":1615924418.8244143,"caller":"roundtripper/roundtripper.go:170","msg":"Rate limit exceeded. Waiting 49m17.175597243s to retry..."}
{"level":"warn","ts":1615924418.9265325,"caller":"roundtripper/roundtripper.go:170","msg":"Rate limit exceeded. Waiting 49m17.073478613s to retry..."}
{"level":"warn","ts":1615924419.2328804,"caller":"roundtripper/roundtripper.go:170","msg":"Rate limit exceeded. Waiting 49m16.767132845s to retry..."}

We can cause the tokens to expire using
    return &oauth2.Token{
            AccessToken: r.AccessTokens[index],

          Expiry: time.Now().Add(time.Second),  // Expire to iterate b/w tokens.
  }, nil

and remove the sleep when rate limit happens to let it iterate
    if remaining <= 0 {

          reset, err := strconv.Atoi(resp.Header.Get("X-RateLimit-Reset"))

          if err != nil {

                  return resp, nil

          }

          duration := time.Until(time.Unix(int64(reset), 0))

          gh.Logger.Warnf("Rate limit exceeded. Waiting %s to retry...", duration)

          // Retry

          time.Sleep(duration)

          gh.Logger.Warnf("Rate limit exceeded. Retrying...")

          gh.Logger.Warnf("Rate limit exceeded on token. Retrying.")
          return gh.RoundTrip(r)

This works.
But then once all tokens expire, we would just be constantly DoSing the api (since no sleep). Any other ideas or thoughts?

The goal is to come up with a Producer/Consumer pattern that will calculate the next best token to use and if all the tokens are out of their API limit and then block.
[]string{"token1","token2"}

func givemeNextToken() string {
// iterate through all the tokens and return the best token based on the GitHub API check results
// if all of them don't have any more API requests and sleep for the duration and BLOCK
}

data := make(chan string)

// producer of the tokens
go func() {
    for {
        i = givemeNextToken(i)
        data <- i
    }
}()

 if remaining <= 0 {
    // reset
   token := <- data
  // reset the gh.InnerTransport = NewTransport(context.TODO(), gh.Logger) with this new token
 }

Ideally, this should work. I would like to spend some time trying this. I will make a detailed write-up with some implementation.

The goal is to come up with a Producer/Consumer pattern that will calculate the next best token to use and if all the tokens are out of their API limit and then block.
[]string{"token1","token2"}

func givemeNextToken() string {
// iterate through all the tokens and return the best token based on the GitHub API check results
// if all of them don't have any more API requests and sleep for the duration and BLOCK
}

data := make(chan string)

// producer of the tokens
go func() {
    for {
        i = givemeNextToken(i)
        data <- i
    }
}()

 if remaining <= 0 {
    // reset
   token := <- data
  // reset the gh.InnerTransport = NewTransport(context.TODO(), gh.Logger) with this new token
 }

Ideally, this should work. I would like to spend some time trying this. I will make a detailed write-up with some implementation.

Thanks!

➜  scorecard git:(feat/play-with-headers) ✗ ./scorecard  --repo=github.com/ossf/scorecard
Starting [Active]
Starting [Branch-Protection]
Starting [CI-Tests]
Starting [CII-Best-Practices]
Starting [Code-Review]
Starting [Contributors]
Starting [Frozen-Deps]
Starting [Fuzzing]
Starting [Packaging]
Starting [Pull-Requests]
Starting [SAST]
Starting [Security-Policy]
Starting [Signed-Releases]
Starting [Signed-Tags]
{"level":"info","ts":1616011689.6091163,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 1"}
{"level":"info","ts":1616011689.6918664,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 2"}
{"level":"info","ts":1616011689.7047877,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 3"}
{"level":"info","ts":1616011689.7564862,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 4"}
{"level":"info","ts":1616011689.7568052,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 5"}
{"level":"info","ts":1616011689.7582355,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 6"}
Finished [Security-Policy]
Finished [Fuzzing]
Finished [SAST]
Finished [Frozen-Deps]
Finished [Signed-Releases]
Finished [Packaging]
Finished [CII-Best-Practices]
Finished [Signed-Tags]
Finished [Branch-Protection]
Finished [Contributors]
Finished [Code-Review]
Finished [CI-Tests]
Finished [Pull-Requests]
Finished [Active]

RESULTS
-------
Active: Pass 10
Branch-Protection: Fail 0
CI-Tests: Pass 10
CII-Best-Practices: Fail 10
Code-Review: Pass 10
Contributors: Pass 10
Frozen-Deps: Pass 10
Fuzzing: Fail 10
Packaging: Pass 10
Pull-Requests: Pass 10
SAST: Pass 10
Security-Policy: Pass 10
Signed-Releases: Fail 5
Signed-Tags: Fail 7

I think we might have a solution.
Here is an example it is switching across multiple tokens.
{"level":"info","ts":1616011689.6091163,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 1"}
{"level":"info","ts":1616011689.6918664,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 2"}
{"level":"info","ts":1616011689.7047877,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 3"}
{"level":"info","ts":1616011689.7564862,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 4"}
{"level":"info","ts":1616011689.7568052,"caller":"roundtripper/roundtripper.go:63","msg":"using token 1 and the len of the tokens are 2 and in the c is 5"}
{"level":"info","ts":1616011689.7582355,"caller":"roundtripper/roundtripper.go:63","msg":"using token 0 and the len of the tokens are 2 and in the c is 6"}

@inferno-chromium FYI...


chore: Fix typo s/infered/inferred/

📝 What does this PR do?
Fix typo s/infered/inferred/
I think there is no need for an issue, but I can if it's really important :)

Hi @hugo-syn Thank you very much for your contribution!


Add a method to refresh only if lookup is a success, not an error.

Added def refreshValue(key: Key): IO[Error, Unit] to keep old value in case of an error.

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

There are a lot of concurrency problems here. Setting the value and then trying to set it back introduces significant complexity and issues. In particular, if we replace a MapValue.Pending then we must ensure that the promise is completed under all circumstances.

Can you tell me some specific examples that are problematic?

We didn't change the promise completion logic, it will be same as before: when moving away from Pending, the promise is always completed.
The only change is what we set as the new value (map.put) after lookup completion, before it was the new exit, now it can be:

the new exit (old behavior when using refresh)
the old exit (when using refreshValue and there was a completed value before)
nothing (when using refreshValue and there was no completed value before)

For example when you "roll back" you increment the time to live which allows a value to live longer than it is supposed to.
Another issue is that if I concurrently get a value immediately after the refresh has started and the computation fails I will observe the error, but if I get the value a moment later after the computation has failed I'll get the old value or potentially nothing at all.

If I concurrently get a value immediately after the refresh has started and the computation fails I will observe the error, but if I get the value a moment later after the computation has failed I'll get the old value or potentially nothing at all.

Calling get immediately after refreshValue:

If there was a value in the cache before

calling get before lookup ends will get you the old value because the state is Refreshing
after lookup ends

error case: we set the cache to the previous Completed state so get will still return the old value
success case: we set the cache to the new Completed state so get will now return the new value

If there was no value in the cache before

calling get before lookup ends  will wait on the promise because the state is Pending, the promise will complete with either the error or the success
after lookup ends

error case: we remove the cache state so get will trigger another lookup
success case: we set the cache to the new Completed state so get will now return the new value

Only the part in bold is new, the rest is how refresh currently works.

Sorry if I'm missing something here but currently if I'm waiting on the promise I either get the old value or I get the new value. But under this logic if I'm waiting on the promise the promise is being completed with the exit value of the workflow, even if it is an error. So now I have a case where this error value can be observed even though it is never being put in the cache. So before I either get old or new versus now I get old, new, or this ephemeral failure value.

Actually thinking more about this, there is another problem: if you call refresh while refreshValue is ongoing, it will do nothing.
Any ideas for a different approach? What really matters for us is only the case where we had a good value that we want to refresh it only with another good one. We don't really care of cases where the value didn't exist or was an error. A simple set would actually be enough as we could lookup ourselves and override it.

I made PR with a different approach.
Can you take a look at the above PR?


QueryString based Http Method Override

Http Method Override is currently only possible by header or form. I recently had the case where I could not add a header (browser restriction) and utilized a JSON based body as an API interface. Consequently, I had no option to override the Method from POST to PUT (another browser restriction).
Is it a good idea to support this? And should I provide a pull request?

@blowdart?

This feels odd to me, and opens up some interesting CSRF concerns. Do other frameworks do it?

By Googling...

node.js ExpressJs: Yes, https://github.com/expressjs/method-override
Python Pyramid: Yes, https://pypi.python.org/pypi/pyramid_methodrewrite/0.2.2
PHP Slim Framework: I created a ticket there as well. Someone implemented a PCR-7 middleware for it. I think they have not checked it security wise but just feature wise.
Scale Play Framework: No, https://github.com/playframework/playframework/issues/2063

The support in the other frameworks is quite mixed. I think your CSRF concerns are shared by the Scala Play Framework team (which supported it in v1 but dropped support in v2).  I am completely fine with closing this issue, in case it cannot be handled security wise!


nmap scan stops MicroWebSrv

Hello,
thank you for this nice web server project!
I'm using nmap to discover devices in my network. However, as soon as I start the scan in the linux console, MicroWebSrv on my WiPy 3.0 stops working. After that, restarting the server with srv.Start() fails due to [Errno 12] ENOMEM. I found that I need to close the socket first. srv.Stop() will not help, because it closes only, if srv._started is true, which is not the case. Maybe this can be changed? srv._server.close() helps. After that a restart of the server is possible without reseting the whole device.
To trace the cause of the server stop error, I changed the try/except block in microWebSrv.py line 239 to
try :
   client, cliAddr = self._server.accept()
except Exception as e :
   print(str(e))
   break

I get [Errno 128] ENOTCONN when nmap starts.
It seems some connection is being lost. Is there a way to prevent MicroWebSrv from stopping at this position?
nmap has version 7.60
wipy firmware is 1.19.0.b4
micropython has version 1.9.4
Server is started with:
srv = MicroWebSrv(routeHandlers = routeHandlers)
srv.MaxWebSocketRecvLen = 256
srv.WebSocketThreaded = True
srv.AcceptWebSocketCallback = _acceptWebSocketCallback
srv.Start(threaded = True)

Hello,
Yes I see that ! I've just updated the code to close server only if the error code is 113 (normal closing socket).
You can check at : https://github.com/jczic/MicroWebSrv/commit/5074d96203d32c049b66577013cad90ea8e21327
That's ok for you ?
Thanks !

Yes, it doesn't crash anymore!
Great! Thanks a lot!

Hello,
I released a fully new version (v2.0) of my web server here :
github.com/jczic/MicroWebSrv2.
Open source MIT, fully asynchronous, more robust, more fast and more
efficient!
It is delivered with a good documentation.
Thank you for your support and feedback. ☺
Jean-Christophe Bos
Le jeu. 11 oct. 2018 à 21:43, dl2080<EMAIL_ADDRESS>a écrit :

Closed #44 https://github.com/jczic/MicroWebSrv/issues/44.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jczic/MicroWebSrv/issues/44#event-1899153367, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAegLITfxSGlIjtWifgs0DPeaPTN_2B1ks5uj59qgaJpZM4W6-K2
.

--
Sincèrement,


sorry to bother you

Hi, I would like to know the training time of your entire experiment with specific equipment, can you tell me?

Hi @liyunlongaaa,
For example: training VICReg with the provided configuration takes ~10 minutes per epoch with 2x NVIDIA Titan X (Pascal) 12 GB.


Add support to exporting images of variable size

Current implementation of exporters assumes that all frames are of the same constant size. So coordinates of regions are calculated wrong when the size actually varies.
We made a quick (hackie) fix with @PIC123 on his tfrecord-branch, but it is something that should be fixed for all the exporters/internals.
Quick notes for implementation:

[ ] Update internal region storage format to include absolute image size (showAllRegions and addRegion in video-tagging.html). width and height properties are supposed to be relative from older version of VoTT, so don't use them for that purpose to keep back-compatibility.
[ ] In detection.js add frameWidth and frameHeight properties to the frameTags object (array)  to store actual image size from region.
[ ] In all exporters use tags.frameWidth and tags.frameHeight instead of self.frameWidth and self.frameHeight.

Hi, I've been using VoTT for some time now, and I have not noticed this bug, which versions does if affect?
Does it affect only some export formats? I've been using Pascal VOC XMLs