Update team page with Director Godard

Updating team page

https://github.com/cagov/innovation.ca.gov/pull/147


XMonadLog: quote status for markup

This fixes a gtk warning and no update when the xmonad status string contains an '&' for example.

This doesn't seem quite right: although it fixes the said problem
it also means one now can't pass pango markup via a xmonad logPP
which kind of defeats the point of using markup fields in taffybar...
So now I think the right solution is to do the decoding in the logPP
on the xmonad side.


Licence must be applied correctly

@MaBeuLux88 This was amended as part of a tech review PR by @sis0k0 ... Thanks


Pandas-profiling and Report as HTML Ready to be Added for EDA

There are 2 changes of the report:

change on stock-price-trend-eda.ipynb:

import command added at the top
codes added after loading original dataset
code for save as html added

html file created in the same folder src

New requests need to be submitted.


simplify the register planning code a bit

Scope & Purpose
Factor out repeated code parts into two methods.

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[x] The behavior change can be verified via automatic tests

Testing & Verification
This change is already covered by existing tests, such as shell_server_aql.
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/8834/

Tests blue


custom initContainer for register-content job

I need to disable most aliases and sensors that are enabled by default in system packs (st2, linux, and packs).
Since I need to adjust the system packs, I need this to do this whenever helm install or helm upgrade changes the system packs but before the content in the system packs gets registered.
Also, I want to ensure that these aliases are never enabled, so merely disabling them via API/UI once enabled is not good enough as that opens up a brief window where people can use !pack install and similar aliases that we don't want users to do via chatops.
I'm planning to use this with #199 (st2.packs.volumes), but it would also make sense when using st2.packs.images. With st2.packs.images, the custom images are copied into the emptyDir first, followed by the system packs (in the packs-initContainers helper template). So, custom images in st2.packs.images cannot change the system packs to disable unwanted aliases.
The helm chart uses {{ .Release.Name }}-job-st2-register-content to run st2-register-content. So, I think the ideal would be to allow for a custom initContainer on that Job. Then the question becomes: Where does such an initContainer definition go in values? st2.packs.registerContentInitContainer? jobs.registerContent.initContainer? Something else?
What should the UX for this look like?

OK. I added one possible approach in #213.
It would allow for something like this in values:
jobs:
  registerContentJob:
    initCommand:
      - '/bin/bash'
      - '-c'
      - |
        sed -i -e '/^(\s*)enabled: true/$1enabled: false/' /opt/stackstorm/packs/packs/aliases/*.yaml
        sed -i -e '/^(\s*)enabled: true/$1enabled: false/' /opt/stackstorm/packs/linux/aliases/*.yaml

I'm not fond of jobs.registerContentJob.initCommand - is there somewhere better to put this?

Maybe jobs.preRegisterContentCommand would be a better name for this, or at least it is less nested.


Allow to set result HTTP header from a Splash script

are we talking about setting headers of response from target website in splash? Can this be implemented by adding :on_response method to splash, similar to :on_request method that we have? Or is this issue about setting HTTP header of response returned by splash?

Or is this issue about setting HTTP header of response returned by splash to splash client?

Yes, this issue is about setting HTTP header of response returned by splash to splash client.

ok @kmike I upvote both senses :)

Second sense is fixed by #227; for the first sense there is now #230.


feat: Can you help me to start maintain :) ?

Describe the feature you'd like to request
Hello, dear Arash
Very interesting project
I want to start reading and collaborating with this project
But I don't use Tauri anymore,
Can you help me and write a quickstart to run just the project
I want فقط start development :)
Thanks
Describe the solution you'd like to see
No response
Additional information
No response

Hi Mahdi. I'm so happy that you are interested :)
Of course! I will add a lil development/contribution tutorial to the documentation by tomorrow.

@Mahdi-Hazrati
Heya!
I've added a brief instruction for development on your local system (https://github.com/auto-wallpaper/auto-wallpaper?tab=readme-ov-file#development-environment)
If you find it confusing or incomplete, feel free to reopen the issue. or open another, if you find another problem during the process. Good Luck! :wink:


Fix port not found in gcloud run deploy

Fix #18

Codecov Report

Merging #25 (b03c84a) into main (2d7a92f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #25   +/-   ##
=======================================
  Coverage   87.36%   87.36%
=======================================
  Files           7        7
  Lines          95       95
  Branches        1        1
=======================================
  Hits           83       83
  Misses         12       12

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 2d7a92f...b03c84a. Read the comment docs.


Get env variables from secret instead from other env variables

fix #22

The lock file diff is huge and honestly I have no idea what I'm doing there with poetry.


Campos2023

Pull Request
This PR is for a

[x] New Publication(s)
[ ] Correction

For the following list(s):

[ ] ancientmetagenome-environmental (README)
[ ] ancientmetagenome-hostassociated (README)
[x] ancientsinglegenome-hostassociated (README)

New Publication
Publication Information
This pull request is to add samples from the following publication(s): doi.org/10.1038%2Fs41467-023-39950-z
This is to close #1099
Checklist

[x] Publication is published (preprints currently not accepted)?
[x] Checked the publication is not already in the database?
[x] Checked samples in this publication are not previously published data (newly re-sequenced metagenomes are OK!)?
[x] Samples are shotgun metagenomes (hostassociated-singlegenome may also contain whole-genome enriched data)?
[x] Checked the list follows conventions as described in the corresponding sample type's README file (e.g. using ERS/SRS accession codes for ENA/SRA)?
[x] Changelog is updated to include the publication under 'Added'?
[x] Pull request has passed validation checks (see automated comment from github-bot)?
[x] Review requested from @SPAAM-community/ancientmetagenomedir?
[x] (If applicable) Made a separate PR to add new categories to controlled lists (stored under /assets/enums, e.g. material or archive)? If so the corresponding PR is here: https://github.com/SPAAM-community/AncientMetagenomeDir/pull/1112

Github is being a little difficult for me atm, will correct the errors when it responds better

Couple of notes

As discussed coordinates rough as for some sample collections only country was listed
Six samples sequenced according to BEST protocol, for those, I think, I got the library_polymerase; for other six samples TrueSeqNano protocol in which I couldn't find anything about library amplification. Looked at other papers, but also didn't find anything specific - only comparison to the BEST protocol. But since it was an unrelated paper I didn't date to state the same polymerase.
Separate library names not listed, I cannot recall what we did in such case when the library names match sample names 1:1
Lastly - there was a mention of library treatment, but I understood that the context is related to the two different types of protocols and NOT the udg treatment. I could be wrong.

Refined some Lat:Lon, Dates, and Polymerase


add support for ALTS transport

Not sure it registered since I don't see the thread, but fixed.

Btw do you actually need this or are do you adding in case someone uses in the future?

Need it asap, waiting for you to merge so I can import it into //third_party. ;)

Anything else missing here?

My bad. I was waiting for tests to pass, then I forgot.

Can you please release a new version and add a tag?


versioning with semantic-release

https://github.com/semantic-release/semantic-release

play!
https://github.com/kimromi/play-semantic-release
https://www.npmjs.com/package/play-semantic-release


why method paginator not use status code 206?

vendor/dingo/api/src/Http/Response/Factory.php file, line 148
    /**
     * Bind a paginator to a transformer and start building a response.
     *
     * @param \Illuminate\Contracts\Pagination\Paginator $paginator
     * @param object                                     $transformer
     * @param array                                      $parameters
     * @param \Closure                                   $after
     *
     * @return \Dingo\Api\Http\Response
     */
    public function paginator(Paginator $paginator, $transformer, array $parameters = [], Closure $after = null)
    {
        if ($paginator->isEmpty()) {
            $class = get_class($paginator);
        } else {
            $class = get_class($paginator->first());
        }

        $binding = $this->transformer->register($class, $transformer, $parameters, $after);

        return new Response($paginator, 200, [], $binding);
    }

10.2.7 206 Partial Content

The server has fulfilled the partial GET request for the resource. The request MUST have included a Range header field (section 14.35) indicating the desired range, and MAY have included an If-Range header field (section 14.27) to make the request conditional.

Append ->setStatusCode(206).
A Range header isn't included though. So, unless we add that in as well, then it doesn't cover it exactly.
Feel free to PR it all if you think it's possible and the solution is clean.


Generate setters for interface classes.

We had previously disabled generation of setters for interface classes. This is useful, however, for implementing common logic for setters in the code. Setters and getters still won't be generated if the fields themselves are interfaces (#110), but in other cases, this should work.

Not sure this is a good idea. It now forces your custom implementations to have those setters, which makes it impossible to use immutable types for example.


svn repo being pulled twice

I've added svn-npm-crutch to my dependencies, and added an svnDependencies section to package.json. The svn-npm-crutch hook has been added to the install script automatically.
Now if I run "npm install" again to refresh things, the SVN repo is fetched twice.
In the output I see:
$ npm install

><EMAIL_ADDRESS>install /home/hamish/.../node_modules/svn-npm-crutch
> node scripts/install.js

svn-crutch Installing foo from svn...
[...]
Checked out revision 14433.
svn-crutch Cleaning up svn repo foo...
Updating '.':
At revision 14433.
svn-crutch Making sure foo is up to date...
Updating '.':
At revision 14433.
svn-crutch Cleaning up svn repo foo...
Updating '.':
At revision 14433.
svn-crutch Running `npm install` on foo...
svn-crutch Successfully installed
svn-crutch
svn-crutch ============================================
svn-crutch     Finished installing svn dependencies
svn-crutch ============================================

><EMAIL_ADDRESS>install /home/hamish/dev/...
> node ./node_modules/svn-npm-crutch/lib/svn-npm-crutch.js

svn-crutch Installing foo from svn...

and then it all gets done again.
Further, is it possible to update the checkout rather than fetching it from scratch? My module is big and the server is remote, so I'd rather not fetch it every time if it hasn't changed.

Hmm, I'm not certain why you're seeing double installs. I'd certainly be open to a PR that corrects this issue and perhaps one that performs an update instead of a full checkout each time if the dep already exists. A quick look back at the source though reveals this little gem: https://github.com/jtrussell/svn-npm-crutch/blob/master/lib/svn-npm-crutch.js#L50-L61 which maybe suggests why svn updates might be difficult.


redmine: 4.1.0 -> 4.1.1

Motivation for this change
https://www.redmine.org/projects/redmine/wiki/Changelog_4_1
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg test redmine.mysql redmine.pgsql

@GrahamcOfBorg test redmine.mysql
@GrahamcOfBorg test redmine.pgsql

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-in-distress/3604/17

I tested this update, using an existing database from 19.09's Redmine 4.0.6. I had some troubles with updating the test system to the master branch, but the Redmine update itself worked well.

@pvgoran thanks for testing. Can you elaborate on the issues you had?

@aanderse Apart from a minor configuration issue (services.httpd.virtualHosts not accepting an array anymore) and a custom package compilation error (supposedly caused by some kind of GCC incompatibility which I didn't investigate yet), I faced a problem with ACME setup (#85534). None of this is relevant to Redmine, though.

@pvgoran thank you for reporting. It sounds like you're approving this PR then :tada:


V 0.0.1: Basics

Set up and lay groundwork for nugget ores, smelting, clay & gravel drops. Streamline tools by reducing wooden and stone tool/weapons availability. Add flint tools - axe, shovel, hoe. Use gravel drops - iron nugget ore, coal, etc - to initiate an entirely new path for progression. Wooden & stone tools & weapons are removed to add a greater sense of reality. We also lay the groundwork for greater use of clay and the introduction of clay ore balls which, when smelted, yield 1-2 iron nugget ores. These must also be smelted to yield iron nuggets. Gravel drops are expanded to yield a variety of items - iron nugget ore, flint, clay ore ball, gold nugget ore, and, of course, gravel block. This means we can build a campfire pretty quick. Some campfire cooking recipes are added to cook clay balls and achieve a new progression of brick blocks.

Complete


Add rerun link in allTestsInfo Page

For the failed test, we should also provide rerun in Grinder link in Action section in TRSS allTestsInfo Page.

@momanmalik could you take a look at this issue? Thanks. We can use <SyncOutlined /> icon for the rerun.


MF-639 Split Content-Type header field on semicolon and evaluate all substrings

Signed-off-by: Tony Ward<EMAIL_ADDRESS>What does this do?
Which issue(s) does this PR fix/relate to?
Resolves #639
List any changes that modify/break current functionality

update bootstrap, things and user API to support multiple entry comments in Content-Type of HTTP header

Have you included tests for your changes?
No
Did you document any new/modified functionality?
Notes

Codecov Report

Merging #644 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master    #644      +/-   ##
=========================================
+ Coverage   86.73%   86.8%   +0.07%
=========================================
  Files          62      62
  Lines        3625    3645      +20
=========================================
+ Hits         3144    3164      +20
  Misses        327     327
  Partials      154     154

Impacted Files
Coverage Δ

bootstrap/api/transport.go
97.94% <100%> (+0.05%)
:arrow_up:

users/api/http/transport.go
84.84% <100%> (+1.24%)
:arrow_up:

things/api/http/transport.go
98.13% <100%> (+0.09%)
: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 74dfd69...3c651a4. Read the comment docs.

@chombium there are many instances of
if r.Header.Get("Content-Type") != contentType {
Should we change them all to
!strings.Containts()
?

Are we doing this only for HTTP and not for other adapters?
Or do you want to do changes for other adapters in subsequent PR?

Are we doing this only for HTTP and not for other adapters?
Or do you want to do changes for other adapters in subsequent PR?

I do not see this Content-Type in non http services

@tony-ward for consistency it would be better if every check is adjusted. I agree with @drasko that we should do this change for the other adapters as well.

@dusanb94 I have now changed a further 5 occurrences

@tony-ward please update the branch if you want this PR in the 0.8 release which is planned for Monday.

@drasko this is now ready to go.


Fix VMProtect detection

Tested for VMProtect 3.9.2 (latest)
Fix for #85

Do you have a sample that triggers the detection?

uint64_t result[] = { 0x0, 0x1122334455667788 };
uint64_t* result_addr = (uint64_t*)(((PBYTE)&result) + 1);
const auto status = NtQueryInformationProcess(NtCurrentProcess(), PROCESSINFOCLASS::ProcessDebugObjectHandle, result_addr, sizeof(uint64_t), nullptr);

// No Debugging: STATUS_DATATYPE_MISALIGNMENT -<PHONE_NUMBER>000000
// With TitanHide: STATUS_PORT_NOT_SET - 0
printf("[ATTEMPT] - Status: %x - Result: %llx\n", status, *result_addr);

Sample:
TestMisalignment.zip

No I mean an actual VMProtected sample that shows this issue

If you able to provide me an email address, I can.

mrexodia () x64dbg.com

I sent.

Have you tested the sample?

No, but I downloaded it. Hopefully will get to it sometime after Christmas!
On Wed, 25 Dec 2024 at 15:13, Rexy @.***> wrote:

Have you tested the sample?
—
Reply to this email directly, view it on GitHub
https://github.com/mrexodia/TitanHide/pull/87#issuecomment-2561906687,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AASYFGI3FJ6VP4IOZABEZXD2HK4RDAVCNFSM6AAAAABT3DSW6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRRHEYDMNRYG4
.
You are receiving this because you commented.Message ID:
@.***>


Add new tier of circle membership

What's this PR do?

Adds founders' circle to the circle page
Also prevents wall group headers from showing up if no one is in that group yet. That's the case for this one because it's new.

Why are we doing this? How does it help us?
This is a new tier set up in honor of the guys that started it all!
How should this be manually tested?

Go to /cirlce
Confirm that there's a new founders circle option in the form

How should this change be communicated to end users?
I'll let Irma and Terry know
Are there any smells or added technical debt to note?
Yes, there is a smelly template hack in that CircleWall.vue file. You won't see the template change on the page until there are members of the founders' circle. My reasoning is I didn't want to refactor the wall template too drastically for this one-off, but if we start to have more of these we'll want to make that part of the group data.
What are the relevant tickets?
https://airtable.com/appyo1zuQd8f4hBVx/tbloNZu8GkM52NKFR/viwxXBBX2S2vWpUiC/recsYFF5cWlKyY1Jd?blocks=hide
Have you done the following, if applicable:
(optional: add explanation between parentheses)

[ ] Added automated tests? ( )
[ ] Tested manually on mobile? ( )
[ ] Checked BrowserStack? ( )
[ ] Checked for performance implications? ( )
[ ] Checked accessibility? ( )
[ ] Checked for security implications? ( )
[ ] Updated the documentation/wiki? ( )

TODOs / next steps:

[ ] your TODO here

Thanks for the review @SimmonsRitchie! LOL I love your fake data. 🤞that MJ sees this.


QuicTransport connect error

I get the following error message, when clicking 'Connect' on the QuicTransport client sample site.

Failed to create connection object. ReferenceError: QuicTransport is not defined

How can I fix that? Do I need to register for my own OT token?
@jeffposnick
@vasilvv

The feature is available in Chrome 84+, which should be the current stable release, but that might not have rolled out everywhere yet.
If you're still on Chrome 83 or earlier, you could explicit try using Chrome Canary.
(I just updated the OT token last week, and confirmed that it's working on Chrome 84+.)

@jeffposnick
That was the problem. After updating to version 84, the error didn't occur anymore.
When I start the quic_transport_server.py, after following the instructions with creating the certificate and key, and adding the flags to Chrome, I get the following error now:

Failed to establish a connection to quic-transport://localhost:4433/counter: net::ERR_QUIC_PROTOCOL_ERROR.QUIC_HANDSHAKE_FAILED (TLS handshake failure (ENCRYPTION_HANDSHAKE) 46: certificate unknown).

I searched for the error message, but the only information, which I got about the certificate unknown error, was the following:

Some other (unspecified) issue arose in processing the certificate, rendering it unacceptable.

From here
What could be the cause for this error?

Same error with Chrome 85.0.4183.121 on the  QuicTransport client sample site. I tried the default OT token as well as registering my own. Also tried running page under localhost to no avail. Failing at
var transport = new QuicTransport(url);
I have launched chrome with flags to force quic-on on my localhost:443 connection as well as ignoring cert errors for my self-signed cert which the python origin is presenting.
Is there any reason this sample should no longer be working before I debug on in to the night?


Extending React.Component rather than using createClass

With React 16 coming soon and removing createClass from the main React package I just re-implemented the component extending React.Component.
I saw PR #11 trying to solve the same issue by adding create-react-class as a dependency. I reckon most people are running node v4+ so probably no need for adding that dependency.
I've simply re-implemented it "as is" without questioning the logic but if we get rid of the life-cycle method shouldComponentUpdate this could simply be a pure function.

@evancz Can this be merged? :)

I guess you shouldn't use uncompiled ES6 as it will break a lot of 3rd party deps, should export a compiled version.

This seems to be obsolete now that #11 has merged.


PP-13315: Deal with NON_HTTPS_RETURN_URL_NOT_ALLOWED_FOR_A_LIVE_ACCOUNT

Deal with possible NON_HTTPS_RETURN_URL_NOT_ALLOWED_FOR_A_LIVE_ACCOUNT when creating a charge.
This commit also upgrades CreatePaymentWithHttpReturnUrlIT to a junit5 test. As part of this MockHelperFunctions is created so WireMockExtension (junit5) and WireMockClassRule (junit4) can be DRY.

This PR enables https://github.com/alphagov/pay-connector/pull/5651


Build from Source - Version Dockerfile/oraclelinux

I installed wsl oracle linux 8.5 on my machine, but the dockerfile of the oraclelixux:7-slim version has an error. In this case I used the oraclelixux:8-slim version that was in another path.

Rejected because the8-slim has been removed and the default Oracle Linux version has been upgraded to 8


Please provide more details for setting the properties.

The document says that the user can set the properties however it would be clearer if it could be written as the user can create properties. Adding a screenshot for this would also be helpful.
Thank you!!

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

ID: 82c51aad-3c71-f6d4-1930-869426830cfa
Version Independent ID: 9f8f7a47-4256-948e-0e09-c1b14f3626e1
Content: Copy data from MySQL - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/connector-mysql.md
Service: data-factory
Sub-service: data-movement
GitHub Login: @jianleishen
Microsoft Alias: jianleishen

@F-Zainab  Thanks for the feedback! I have assigned the issue to the content author to evaluate and add the details.

Thanks @F-Zainab for your feedback.  The product team considered this change but ultimately decided it isn't feasible given other constraints.  #please-close


SUBMARINE-616. Deploying Traefik as Ingress controller in Submarine

What is this PR for?

Declaring traefik-helm-chart as a dependency(subchart). And  it should be optional.
Add an Ingress object to route to submarine-server service

After installing Submarine with helm, users can directly access submarine-workbench from your browser.
If users dont want to use Traefik as default ingress controller, they can modify the value ".Value.submarine.traefik.enabled"
What type of PR is it?
[Feature]
Todos

[ ] - Task

What is the Jira issue?
SUBMARINE-616
How should this be tested?
Travis CI
Screenshots (if appropriate)
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

There seems to be something bug. WIP

@lowc1012 Can you show the running effect of Traefik through screenshots?

@liuxunorg
Ok, I updated the screenshots section.


Problem deploying inferenceservice

/kind bug
What steps did you take and what happened:
After deploying sample xgboost model, the inferenceservice stuck at "Waiting for load balancer to be ready":
apiVersion: serving.kubeflow.org/v1beta1
kind: InferenceService
metadata:
  creationTimestamp: "2022-01-05T11:23:35Z"
  finalizers:
  - inferenceservice.finalizers
  generation: 1
  name: xgboost-iris
  namespace: kubeflow-jlzhou
  resourceVersion: "218874717"
  uid: d168ce11-ca83-4722-b09b-d51b16d6a8cc
spec:
  predictor:
    xgboost:
      name: kfserving-container
      protocolVersion: v2
      resources:
        limits:
          cpu: "1"
          memory: 2Gi
        requests:
          cpu: "1"
          memory: 2Gi
      runtimeVersion: 0.2.1
      storageUri: https://foo.bar.com/test/model.bst
status:
  components:
    predictor:
      latestCreatedRevision: xgboost-iris-predictor-default-9vt68
      latestReadyRevision: xgboost-iris-predictor-default-9vt68
      latestRolledoutRevision: xgboost-iris-predictor-default-9vt68
      traffic:
      - latestRevision: true
        percent: 100
        revisionName: xgboost-iris-predictor-default-9vt68
  conditions:
  - lastTransitionTime: "2022-01-05T11:23:46Z"
    message: Waiting for load balancer to be ready
    reason: Uninitialized
    severity: Info
    status: Unknown
    type: PredictorConfigurationReady
  - lastTransitionTime: "2022-01-05T11:23:46Z"
    message: Waiting for load balancer to be ready
    reason: Uninitialized
    status: Unknown
    type: PredictorReady
  - lastTransitionTime: "2022-01-05T11:23:46Z"
    severity: Info
    status: "True"
    type: PredictorRouteReady
  - lastTransitionTime: "2022-01-05T11:23:46Z"
    message: Waiting for load balancer to be ready
    reason: Uninitialized
    status: Unknown
    type: Ready

What did you expect to happen:
The inferenceservice should be in "Ready" state.
Anything else you would like to add:
network-istio log:
{
  "severity": "ERROR",
  "timestamp": "2022-01-05T13:59:08.443974008Z",
  "logger": "istiocontroller.istio-ingress-controller",
  "caller": "status/status.go:398",
  "message": "Probing of http://xgboost-iris-predictor-default.kubeflow-jlzhou.models.kubeflow.zjuici.com:80 failed, IP: <IP_ADDRESS>:8080, ready: false, error: unexpected status code: want 200, got 404 (depth: 0)",
  "commit": "191bc5f",
  "knative.dev/controller": "istio-ingress-controller",
  "knative.dev/controller": "knative.dev.net-istio.pkg.reconciler.ingress.Reconciler",
  "knative.dev/kind": "networking.internal.knative.dev.Ingress",
  "knative.dev/traceid": "eabd6a51-bdfc-4c9c-a37f-664d2889ab29",
  "knative.dev/key": "kubeflow-jlzhou/xgboost-iris-predictor-default",
  "stacktrace": "knative.dev/networking/pkg/status.(*Prober).processWorkItem\n\tknative.dev/networking@v0.0.0-20210331064822-999a7708876c/pkg/status/status.go:398\nknative.dev/networking/pkg/status.(*Prober).Start.func1\n\tknative.dev/networking@v0.0.0-20210331064822-999a7708876c/pkg/status/status.go:288"
}

activator log:
{
  "level": "warn",
  "ts": "2022-01-05T11:23:44.964Z",
  "logger": "activator",
  "caller": "net/revision_backends.go:285",
  "msg": "Failed probing pods",
  "commit": "4ed85f3",
  "knative.dev/controller": "activator",
  "knative.dev/pod": "activator-db9f965c9-bbtvd",
  "knative.dev/key": {
    "knative.dev/key": "kubeflow-jlzhou/xgboost-iris-predictor-default-9vt68"
  },
  "curDests": { "ready": "", "notReady": "<IP_ADDRESS>:8012" },
  "error": "error roundtripping http://<IP_ADDRESS>:8012/healthz: read tcp <IP_ADDRESS>:34964-><IP_ADDRESS>:8012: read: connection reset by peer"
}
{
  "level": "error",
  "ts": "2022-01-05T11:23:44.965Z",
  "logger": "activator",
  "caller": "net/revision_backends.go:321",
  "msg": "Failed to probe clusterIP <IP_ADDRESS>:80",
  "commit": "4ed85f3",
  "knative.dev/controller": "activator",
  "knative.dev/pod": "activator-db9f965c9-bbtvd",
  "knative.dev/key": {
    "knative.dev/key": "kubeflow-jlzhou/xgboost-iris-predictor-default-9vt68"
  },
  "error": "unexpected body: want \"queue\", got \"no healthy upstream\"",
  "stacktrace": "knative.dev/serving/pkg/activator/net.(*revisionWatcher).checkDests\n\tknative.dev/serving/pkg/activator/net/revision_backends.go:321\nknative.dev/serving/pkg/activator/net.(*revisionWatcher).run\n\tknative.dev/serving/pkg/activator/net/revision_backends.go:365"
}

autoscaler log:
{
  "level": "error",
  "ts": "2022-01-05T11:15:23.106Z",
  "logger": "autoscaler",
  "caller": "scaling/autoscaler.go:173",
  "msg": "Failed to obtain metrics",
  "commit": "4ed85f3",
  "knative.dev/key": "kubeflow-jlzhou/xgboost-iris-predictor-default-xkdcd",
  "metric": "concurrency",
  "error": "no metrics are being collected for the requested resource",
  "stacktrace": "knative.dev/serving/pkg/autoscaler/scaling.(*autoscaler).Scale\n\tknative.dev/serving/pkg/autoscaler/scaling/autoscaler.go:173\nknative.dev/serving/pkg/autoscaler/scaling.(*MultiScaler).tickScaler\n\tknative.dev/serving/pkg/autoscaler/scaling/multiscaler.go:338\nknative.dev/serving/pkg/autoscaler/scaling.(*MultiScaler).runScalerTicker.func1\n\tknative.dev/serving/pkg/autoscaler/scaling/multiscaler.go:302"
}

Environment:

Istio Version:

client version: 1.10.3
control plane version: 1.10.3
data plane version: 1.10.3 (91 proxies), 1.9.6 (1 proxies)

Knative Version: 0.22.1

KFServing Version: v0.6.1

Kubeflow version: 1.4.1

Kubernetes version: (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.5", GitCommit:"aea7bbadd2fc0cd689de94a54e5b7b758869d691", GitTreeState:"clean", BuildDate:"2021-09-15T21:10:45Z", GoVersion:"go1.16.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:25:06Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}

I think I have the same problem as you. https://github.com/kserve/kserve/issues/2001
Did you solve this problem?

I think I have the same problem as you. #2001 Did you solve this problem?

Yes I solved the problem following this comment

@edwardzjl Thank you!


Form fields rendered with React make changetracker return false positives

Steps to reproduce

Render a <button /> with React, (i.e. using entwine onmatch()) in a page edit form.
Click it
See that the save buttons change state

Explanation
The change tracker registers form fields on DOM ready, which may happen before your React component is rendered onmatch. This means that the value comparisons are undefined as the original value and empty (in the case of a button) for the new one. The strict === comparison returns false, and therefore a change is detected.
Possible fixes

Eliminate the race condition of changetracker, and ensure it's last -- maybe apply on setTimeout(0)?
Update changetracker to me smarter about undefined values and coerce them.

The change tracker registers form fields on DOM ready, which may happen before your React component is rendered onmatch. This means that the value comparisons are undefined as the original value and empty (in the case of a button) for the new one. The strict === comparison returns false, and therefore a change is detected.

We addressed this in UploadField.ss with an in-place template based hidden value field. This ensured that the pre-react rendered value matched the post-react rendered value.
Buttons should not really be captured by the change tracker, so that would be the most trivial fix for your reproduction example.
So could we just tweak this in LeftAndMain.EditForm.js
-ignoreFieldSelector: '.no-change-track, .ss-upload :input, .cms-navigator :input'
+ignoreFieldSelector: '.no-change-track, .ss-upload :input, .cms-navigator :input, button'

@unclecheese is there a more complex example that also has this issue?

More than likely solved with this https://github.com/silverstripe/silverstripe-admin/pull/362

I could reproduce this issue before and after silverstripe/silverstripe-admin#362

We probably need to add button, input[type='button'] as well

that wouldn't cover all either
you've also got input[type="submit"] ;)
See if this issue is reproducible first before adding more changes to the selectors.

Fixed with https://github.com/silverstripe/silverstripe-admin/pull/363


Add Authorization section to README with link to wiki

🔗 Issue
#693
✍ Description
Adds documentation to help new developers onboard with Action Policy.
Note that this PR adds a brief note to the README that links to our wiki. I have the wiki content below if you have suggested revisions.
Wiki page content

Authorization
If you find yourself writing a conditional checking the question, "Is the user allowed to view/do this?" that is an authorization concern. Pet Rescue utilizes the gem Action Policy as our authorization framework. If you are familiar with Pundit, you will see many similarities. If you want to learn more about authorization or have questions about how Action Policy works, their documentation is excellent.
If a policy object is not behaving as you expect, check out the defaults set in application_policy.rb.
Examples
Here are examples with comments explaining how Action Policy is used in Pet Rescue:
Typical policy use in controllers
# app/controllers/organizations/staff/pets_controller.rb
class Organizations::Staff::PetsController < Organizations::BaseController
  before_action :set_pet, only: [:show, :edit, :update, :destroy, :attach_images, :attach_files]

  # Calling a policy in a setter method is a common pattern.
  # We fetch the record and then check the user is authorized for the record.
  def set_pet
    @pet = Pet.find(params[:id])

    # `authorize!` is an Action Policy method.
    # `authorize!` has useful defaults that you can find in the docs.
    authorize! @pet
    # The above code is the same as saying:
    # authorize! @pet, context: {user: current_user}, with: Organizations::PetPolicy
  end

    # Using the authz in the setter method allows us to separate the authorization layer from the body of the action.
    def update
      if @pet.update(pet_params)
        respond_to do |format|
          format.html { redirect_to staff_pet_path(@pet), notice: "Pet updated successfully." }
          format.turbo_stream if params[:pet][:toggle] == "true"
        end
      else
        render :edit, status: :unprocessable_entity
      end
  end
end

Note: Pet Rescue controllers are setup in ApplicationController to require all controller actions to invoke the authorization layer or else ActionPolicy::UnauthorizedAction will be raised.
Policy use outside their default matched scope
# app/controllers/concerns/organization_scopable.rb
module OrganizationScopable
  # `allowed_to?` is a predicate version of `authorize!`.
  # In this use case, we are checking multiple policies to see if the user is allowed
  # to perform the controller `index` action for either dashboard.
  # If they don't have permission to `index` either dashboard, they get sent to a public route.
  def after_sign_in_path_for(resource_or_scope)
    if allowed_to?(
      :index?, with: Organizations::DashboardPolicy,
      context: {organization: Current.organization}
    )
      staff_dashboard_index_path
    elsif allowed_to?(
      :index?, with: Organizations::AdopterFosterDashboardPolicy,
      context: {organization: Current.organization}
    )
      adopter_fosterer_dashboard_index_path
    else
      adoptable_pets_path
    end
  end
end

Policy use in views
  <%# app/views/organizations/adoptable_pets/show.html.erb %>
  <%# `allowed_to?` is also useful for views! %>
  <%# Here we use Action Policy to check if a user is authorized to visit a page %>
  <%# to determine if we will render a link to that page. %>
  <%# Note how `new_adopter_foster_profile_path` matches with `allowed_to?(:new?, AdopterFosterProfile)` %>
  <% elsif allowed_to?(:new?, AdopterFosterProfile) %>
    <%= link_to t('.complete_my_profile'), new_adopter_fosterer_profile_path %>
  <% end %>

Again, if you want to understand how the policies work, check out the Action Policy documentation.
You can also check out app/models/concerns/authorizable.rb to see how we are implementing roles and permissions which are used closely with the policies. The PR that added Action Policy to Pet Rescue also has some discussion explaining the implementation.

Thanks for the reviews, y'all!
I liked the suggestion, @jmilljr24, and added a section in regards to roles as well as permissions to list and clarify those too. If you have any suggestions on that addition, lmk! Those are up in the wiki now.


Custom HTML modal for editing a form field

Hello,
I'm interested in intercepting the event fired when clicking the 'gear' icon over a form field so that I can display my own html for the window instead of what is provided by form.io. The idea is to have a simpler UI for users since a lot of the options provided isn't needed for them.
I've looked at the events outputted by form.io and this definitely isn't one of them the only thing I've been able to latch onto is a mouse click whose target class list contains the button. Which...isn't ideal. Is there a more streamlined way of doing this in form.io? I've searched online what I can but don't see examples of it, but when evaluating form.io originally I thought I saw a way to provide an html string for the modal.
I've found examples of online of editing which tabs and fields are available to the user, so I can hide everything but unsure how to ADD fields to the modal that weren't there previously.
Thanks,
Adam Rosenberg

I'm interested in that too

The best way to do this is to just override the editForm's for all components, which would allow you to create your own. Something like this would work.
Formio.Components.components.forEach((component) => {
  component.editForm = function() {
    return {
      components: [
        {
           type: 'textfield',
           label: 'Label',
           key: 'label'
        }
      ]
    };
  };
});

This would reset all form overlays to just show the "label". You can now pick and chose how you want the edit forms to look like.

We're currently addressing a backlog of GitHub issues, and as part of this effort, some inactive issues may be marked as closed. This isn't a dismissal, but a step toward more efficient tracking.
If you feel the issue is still relevant, please re-open and we'll ensure it gets the attention it deserves. Your understanding is appreciated as we work to enhance our open-source responsiveness.


feat: add some unit tests

@mjacoby it took us a bit but finally the promised tests are here. Please take a look.


[Feature] Support oracle-cdc connector

Is there any plan to support oracle-cdc connector?

Any update on this enhancement ?

see #76

If the Cloudera team expects contributions longer than now, I can support a simplified version.

Some feedbacks from the dingtalk about the request of the Oracle CDC connector.

Some feedbacks from the dingtalk about the request of the Oracle CDC connector.

I need debezium-oracle to accept my PR support for SCHEMA_ONLY_RECOVERY snapshot mode so that it can support earliest-offset/specific-offset/timestamp mode

Implemented by #418


Update AdaptiveCards.Rendering.Html to 1.2.4

The library currently uses AdaptiveCards.Rendering.Html 1.2.3. There's now 1.2.4 available: https://www.nuget.org/packages/AdaptiveCards.Rendering.Html/1.2.4

This is now available in 2.0.0 release.


Run With Powershell does not always work if files is run as small window

Description
If you run files as a small window(like quarter of a fullhd screen or less) the "run with powershell" command is not clickable and does also not react to a mouse hover.
Normal behavior is immediately restored as soon as the window is enlarged.
Steps To Reproduce

open files
reduce window size with drag and drop
right click on some script
click "show more options"

Requirements

it should always be possible to click the command
the size should not matter

Files Version
<IP_ADDRESS>
Windows Version
10.0.19044.2846
Log file
debug.log

Is this option on the title bar? #10823

if its not working: yes, the option overlaps the title bar.
but if you resize the window to be more like a "portrait mode" it works again despite overlapping. not shure if its 100% related to the overlapping but seems to be an duplicate of the linked Bug.


Add support for multipath devices

Previously, when a device-mapper multipath device was specified for DEVS
setup would fail with "Partition specification unsupported at this
time." Each device is checked to see if it has a parent, and, if so, it
is assumed to be a partition.  Multipath devices are not partitions, and
their backing paths are reported as parent devices.
This change adds the ability to correctly identify multipath devices by
checking for device type of "mpath" so that they are not mistaken for
partitions.
This should resolve RHBZ #1496295 - container-storage-setup fails on multipath device

bot, add author to whitelist

bot, test pull request

LGTM
@rhvgoyal PTAL

@control-d Can you update commit message of the patch. Describe well what exactly is the problem and how your patch fixes it.

I've updated the commit message.  Thanks.

@control-d
Two things.

I came across a rhel system where multipath device type is being reported as "dm" and not "mpath". Not sure when was it changed. We will hvae to take care of that case as well.

What about the type of partition. Does this patch detects partition multipath device correctly and errors out?

Ok, this works for me. I tested multipath both on fedora and rhel images and also tested error paths and it worked.
I guess it works because "lsblk" reports partition device as type "part" for multipath. So if /dev/mapper/mpath1 is partition, it is correctly detected and reported as error.
LGTM

@rh-atomic-bot r+ ea8643c


assign status via special abilities

allow to assign pre-defined stati (like "liegend", "vergiftet", etc) via special abilities
(same functionality like it currently exists within spells, Sondereffekt / Effekt)

Only for combat special abilities, right?

I only see it for combat special abilites, yes.
Plushtoast @.***> schrieb am Di., 1. Juni 2021, 08:20:

Only for combat special abilities, right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Plushtoast/dsa5-foundryVTT/issues/394#issuecomment-851852525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO7QFH4MYZRPW6NFZYMSU2DTQR32FANCNFSM45UF5AVQ
.


Menu re-hides itself when not in use

Implemented the menu sliding back out of frame when the mouse is no longer over the menu div.

well I like it... 😄
it's a bit abrupt though.
any chance at one of the two:
a 200ms or so delay.
act based on scroll or click input rather than hover?

CSS transitions will do this if we add them to the class.

What?! but no $() ?!?!?

CSS Animations would work for this. I'm on it now...

are you able to close it yourself without a merge @Pater1?

A) Added 400ms delay to closing menu after mouse leave (not using CSS animations, but setTimeout, if you're curious).
B) @connerk able to close what?

Updated the variable name.


Push down limit to RawDatasetWithValueFilter

Coverage increased (+0.04%) to 53.749% when pulling 349c8ce4a7dbe2c8d2de22432dba7d4ea5e116a2 on pushdownlimit into f9b3b0f8d2b8a8ce07b65a37aacfb2b16ed003a7 on master.


test(proto-guard): Enable force exit

copilot:all

Current dependencies on/for this PR:

main

PR #4807   👈

This stack of pull requests is managed by Graphite.


README.md: fixed link 'defining models'

Fixes #9
Fixed a link in the README.md (see linked issue).

Thanks!


Link between 'Quick JIT (tier 0 jitted code)' and Tiered Compilation unclear

It says that in dot net core 3.0 tiered compilation is enabled by default and then explains the benefits of it. Then, out of the blue, it says how to enable 'Quick JIT (tier 0 jitted code)' without explaining if that is the same thing as tiered compilation or some extra improvement, nor any guidance on when we would want to enable it

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

ID: d458030b-3efb-197f-6ac7-9fd4e2296218
Version Independent ID: 6d01409e-fca6-10a3-2def-13ce28c9b210
Content: What's new in .NET Core 3.0
Content Source: docs/core/whats-new/dotnet-core-3-0.md
Product: dotnet-core
GitHub Login: @Thraka
Microsoft Alias: adegeo

Thanks for your feedback @mungojam. @richlander is this something you can help with?

I've reread this section again in again and it comes to no sense. And how does TieredCompilationQuickJit relate to R2R? Can it be combined? Is it mutally exclusive? Anyone knows anything?

Sending email to @richlander

I have put up a PR to clarify the doc: https://github.com/dotnet/docs/pull/15708
Quick JIT produces lower-quality code more quickly, and is enabled by default in .NET Core 3.0 for methods that don't contain loops. It's typically used during startup when the method also does not have R2R code available and has to be jitted, these are typically generics over value types, for example List<Foo> where Foo is a struct in an app assembly.

Hi! Great question!
The short story is this:

tiered compilation has two tiers, tier 0 and tier 1.
tier 0 is fast for startup but has slower throughout. Tier 1 is the opposite.
with tiered compilation enabled (the default in 3.0), the runtime prefers tier 0 code at startup and then converts high value code to tier 1 later for faster throughout. That is the whole feature in a nutshell.
tier 0 code can be provided in two different ways: native pre-compiled code in assemblies (via crossgen) or via quick jit.
tier 1 code is optimized jitted code.
both tier 1 and tier 0 jitted code is provided by RyuJIT.
quickjit is very similar to the “minopts” mode that has existed in the runtime for many years. “Minopts” means minimum optimization. So, it is code that is very fast to generate but isn’t very good because it is lacking optimizations. For probably 80% of scenarios, quickjit is A-OK fine, because most code is only run once.
the name “quickjit” was made up in 3.0 (blame me) to describe it as something as other than “tier 0 jit”.
in some niche scenarios, quickjit is poor for performance and so you can disable it. That would mean that the only tier 0 code is crossgen and the rest of your code will be all tier 1. The tier 0 code can still be recompiled to tier 1 while your app runs.
quickjit has a second one to “run with loops”. By default, we don’t use quickjit for methods with loops. We found multiple applications where quickjit code was a performance problem for methods with loops so we disabled it by default. Imagine a method that is only called once but has a loop with 10k iterations. You want the best code you can get for that.
we found a set of applications where quickjit with loops is a big win so you can opt into that mode. We didn’t make this the default because there were too many apps that had worse performance running this way.

Just to clarify, Quick JIT was not enabled for loops for two main reasons:

We didn't see any apps behave poorly due to enabling Quick JIT for loops. Most of what we saw was issues in benchmarks. There are more fundamental issues there though, and the choice made I believe was the right one.


Error don't hame Package.swift

please enter package.swift
I'm can not add package to my project because don't have Package.swift file

4.8.0 is out with SPM support. 🚀


Add check that otool is functioning

Didn't bump anything as this PR currently fails (expected).

Checklist

[x] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The home item is expected in the about section.
The license item is expected in the about section.
The summary item is expected in the about section.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Failed to even lint the recipe, probably because of a conda-smithy bug :cry:. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint . from the recipe directory.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The home item is expected in the about section.
The license item is expected in the about section.
The summary item is expected in the about section.

Thanks


Investigate K8s rate limiting

Avoid taking down whole network when attacking, instead rate-limit attackers?

per my comment https://github.com/bitcoin-dev-project/warnet/pull/465#issuecomment-2309653056, perhaps using resource quotas at the namespace level would work? cc @m3dwards

Adding this as a milestone for Tabconf. We will need to either a) be sure this is not an issue or b) have some idea of how to limit resources in a namespace to prevent users from borking the cluster.

We can give commanders (and tanks) resource limits which I think would cover us?

I still don't understand particuarly what other thing we are looking for here that's not #465?
Just some other native k8s way of doing it? Or are you guys trying to only limit cpu/memory resources (which we already have, no?)

Right, I think this issue is a bit confusingly named. So starting with the problem: we won't want people to bring down the network by doing expensive attacks. To me, the most obvious way to do this is limit the resources any single node has access to (via our current methods of requests/limits). You can't really blast out tons of network calls if your CPU is being throttled. Secondly, we can place resource limits on the namespace, such as "blue team can only have up to X total CPU and memory in this namespace."
This feels more straightforward to me than trying to implement networking policies on the namespaces and more reflective of the real world. I am very uncomfortable with any solution that involves fiddling with network traffic as it's much harder, imo, to reason about and can have weird side effects.
@willcl-ark perhaps you can provide a better justification for why you think network rate limiting is the right approach here and why namespace limits wouldn't solve the problem?

My understanding was that k8s already natively handles CPU and memory resources, everything is vCPU (and I guess "vRAM" too), so we already can't exhaust a "real" cluster. The story may be different on a simulated single-machine cluster. Additionally we could artificially resource contstrain nodes too, if desired.
Therefore I was trying to address someone saturating network bandwidth, as AFAIK this is unconstrained.
My worry if we resource (CPU/memory) throttle nodes, one could lock them up by simply sending them so much work to do that they will never finish it. This would not be the spirit of the "crash" we are attempting to have folks demonstrate.
If we alternatively throttle bandwidth, it is the attacker who will find themselves contrained, not the node.
Hope this clears up my perspective.

The story may be different on a simulated single-machine cluster

Not sure I follow? Whatever resource/limits we specify should work regardless of how it is deployed since we are using docker desktop/minikube/k8s.

My worry if we resource (CPU/memory) throttle nodes

To be clear, my proposal is to set limits at the namespace level so that between all of their nodes, attackers can't request a disproportionate amount of CPU/RAM. Individual nodes will already need resource/limits set on them to a) provide better hints to k8s on scaling and b) better reflect what a real user would be running.

If we alternatively throttle bandwidth, it is the attacker who will find themselves constrained, not the node.

This feels fragile to me and doesn't reflect real world usage. In a real attack, you do have CPU and RAM limits (i.e., the size of the machine you are running the node on) and you do not have network throttling.
If you could demonstrate how the network throttling is needed by setting up a network where nodes have "realistic" (but on the generous side!) resources and show that you are still able to bring down the the whole network, I'd be more convinced? But as of now I'm not seeing the need for network throttling and worry it creates too artificial of an environment.

The story may be different on a simulated single-machine cluster

Not sure I follow? Whatever resource/limits we specify should work regardless of how it is deployed since we are using docker desktop/minikube/k8s.

If I deploy 50 nodes on one machine then pin my CPU to 100% using one or two commanders then I effectively lock the whole machine. We have seen this numerous times before. This, I am assuming, will behave differently when the nodes are on seperate (v)machines or on a real hypervisor.

My worry if we resource (CPU/memory) throttle nodes

To be clear, my proposal is to set limits at the namespace level so that between all of their nodes, attackers can't request a disproportionate amount of CPU/RAM. Individual nodes will already need resource/limits set on them to a) provide better hints to k8s on scaling and b) better reflect what a real user would be running.

If we alternatively throttle bandwidth, it is the attacker who will find themselves constrained, not the node.

This feels fragile to me and doesn't reflect real world usage. In a real attack, you do have CPU and RAM limits (i.e., the size of the machine you are running the node on) and you do not have network throttling.

There are always network limits? It's the network you are running on.

If you could demonstrate how the network throttling is needed by setting up a network where nodes have "realistic" (but on the generous side!) resources and show that you are still able to bring down the the whole network, I'd be more convinced? But as of now I'm not seeing the need for network throttling and worry it creates too artificial of an environment.

I'm not about to demonstrate it, nor will I be there at TABConf :(
I'm only considering if you have a 100 node network with normal network activity, and additionally 20 folks all running multiple scripts trying to spam 4 billion addr messages, hugh INVs, huge GETDATAs, low difficulty headers etc. that it may be the network that packs up first?
Sure, in the real world network bandwidth is bigger, but node resources are bigger too. Artificially constraining them (both) in a system like this for testing makes sense to me.  Perhaps it's useful though to see if a node will crash when resource-constrained under TCP/UDP flood, some amplification attack, or being spammed by open/close connection requests. To be fair, not all of those require large amounts of bandwidth necessarily.
IMO it seems more reasonable to limit nodes to x RAM, y CPU, and constrain bandwidth to e.g. zMBps on the network. A small-scale simulation all around.
That said, I don't particularly enjoy needing to touch the CNI...

If I deploy 50 nodes on one machine then pin my CPU to 100% using one or two commanders then I effectively lock the whole machine

Is this without specifying any resource/limits for the pods? This is exactly why I worked on adding the ability to specify resource/limits so would be very surprised if you can brick your machine with those in place.

But it seems naive to give a node raspi-level resources and let someone unleash some crazy 1GBps (per commander) attack on it (IDK what folks will invent)

I feel like you're not understanding my proposal. We can set namespace level resources, in addition to node level resource limits. It does not matter how many commanders you want to spin up, they will need to all share the limits set at the namespace level. Thus, I don't see how you can launch such a massive attack without having your CPU/RAM throttled.

and constrain bandwidth to e.g. zMBps on the network

It's not at all clear to me what effects this will have on the running nodes. It also sounds like you're not interested in testing this or demonstrating its need, so I'd suggest we leave networking alone until we are sure we need to touch it.

Sure lets leave this

I'm in favour of this remaining open as I think anything we can do to minimise the chances of things grinding to a halt at Tabconf could be worth it.
Things that have been mentioned are:

Rate limiting on network
tank / commander cpu and memory limits
CPU / memory limits applied to namespaces so that one team can't exhaust resources from their competitors.

This feels like polish though if everything else is working well.

Agreed, perhaps we can rename the issue to make it more clear. For me, I think we should have default resource/limits for every pod regardless. This gives k8s better information for scheduling pods.

CPU / memory limits applied to namespaces so that one team can't exhaust resources from their competitors.

For the Tabconf use case, I think this is the one we should explore next. We don't really need to do much here beyond modifying the namespaces helm chart to account for resourceQuotas. If that doesn't work, then I'd say we can look at rate limiting via the networking / CNI layer.


Import - 500 Internal Server Error

When using "Import" menu to import any json data, it returns 500 Internal Server Error.
The stack trace printed in docker container logs as below:
redis-commander_1  | TypeError: Cannot read property 'host' of undefined
redis-commander_1  |     at /usr/lib/node_modules/redis-commander/lib/routes/tools.js:76:45
redis-commander_1  |     at callbacks (/usr/lib/node_modules/redis-commander/node_modules/express/lib/router/index.js:164:37)
redis-commander_1  |     at param (/usr/lib/node_modules/redis-commander/node_modules/express/lib/router/index.js:138:11)
redis-commander_1  |     at pass (/usr/lib/node_modules/redis-commander/node_modules/express/lib/router/index.js:145:5)
redis-commander_1  |     at Router._dispatch (/usr/lib/node_modules/redis-commander/node_modules/express/lib/router/index.js:173:5)
redis-commander_1  |     at Object.router [as handle] (/usr/lib/node_modules/redis-commander/node_modules/express/lib/router/index.js:33:10)
redis-commander_1  |     at next (/usr/lib/node_modules/redis-commander/node_modules/connect/lib/proto.js:174:15)
redis-commander_1  |     at Object.addConnectionsToRequest [as handle] (/usr/lib/node_modules/redis-commander/lib/app.js:148:10)
redis-commander_1  |     at next (/usr/lib/node_modules/redis-commander/node_modules/connect/lib/proto.js:174:15)
redis-commander_1  |     at Immediate.<anonymous> (/usr/lib/node_modules/redis-commander/node_modules/express-session/index.js:433:7)
redis-commander_1  |     at runCallback (timers.js:764:11)
redis-commander_1  |     at tryOnImmediate (timers.js:734:5)
redis-commander_1  |     at processImmediate (timers.js:716:5)

This is the docker-composer.yml I used:
version: '3'
services:
  redis:
    image: redis:latest
    container_name: redis1
    ports:
       - "6379:6379"
    volumes:
      - ./conf/redistmp:/data
  redis-commander:
    image: rediscommander/redis-commander:latest
    restart: always
    environment:
    - REDIS_HOSTS=local:redis:6379
    ports:
    - 8081:8081

The node lib used to import redis data (https://github.com/EvilDevRu/node-redis-dump) does not allow importing json data, just plain redis commands.

As json import is not supported by node-redis-dump the function requested is not possible. But feel free to create an PR to enable JSON import.


Add SEO Optimization

Related Issue

Integrated next-seo with the project.

Closes: #202
Describe the changes you've made
Installed next-seo to the project, created a next-seo.config.js file to globally add meta tags and og tags, and manually added relevant next-seo configuration in all the pages.
Type of change
What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update.
[ ] This change requires a documentation update

How Has This Been Tested?
Verified for each page by checking the source of the file, both in IDE & browser.
Checklist

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented on my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] Any dependent changes have been merged and published in downstream modules.

Code of Conduct

[x] I agree to follow this project's Code of Conduct

Merging to the SEO branch because more sub-tasks need to completed

WebXDAO:seo

Great! Looking forward to contributing more!

Merging to the SEO branch because more sub-tasks need to completed

Great! Looking forward to contribute more.


Add support to parse cenc tags

This will include PSSH data when parsing mpd
Fixes #41

Thanks @Karthik-0 for your contribution. One more favor, can you include an MPD example for this change and test? 😃

@sangwonl I have made the suggested changes and added test case


Create ReturnSomethingToMe.py

Description
Submission of the solution to the problem "Return something to me"
Issue No.- #251

Missing and wrong issue number, Marking it as spam


Gc addressspace

This PR adds the explicit use/casting to address space 0 in CreateTerm.cpp. I will replace 0 with the actual address space needed in each of these places after feedback.
Also, we create the infrastructure to define the functions that contain the functions that contain the addrspacecast instructions for the various address spaces (a separate file, linked after the regular passes, and the always inline pass executed afterwards). The use of the addrspacecast instruction within the existing function is currently commented out, and will be added back once address spaces change. I will introduce additional functions then as needed.
At the moment, imp.kore fails. This is the test that has the use_gcstrategy flag enabled, and that interpreter fails with segfault. Here is the stack trace:
imp.kore.trace.txt
If I remove the tests
// RUN: %gcs-interpreter
// RUN: %check-grep

it succeeds.

Here is the ll for IMP.
imp.ll.txt

It would help if you could do the following:

Determine whether or not the bug still occurs in the version of IMP that does not have the pattern matching optimization enabled.
Share the version of the code generated with --no-optimize.

Something feels weird about the code, but I don't immediately know what it is and I could be seeing something that is actually normal.
There's a third thing you should try:

compare the generated code before and after making this change and see if anything seems obviously suspect in the difference between the two on the same function.

imp.kore also failed when disabling pattern matching optimization.
I attach the code generated with --nooptimize (pattern matching optimization enabled again).
imp.gc.patmatchopt.noopt.ll.txt
I will compare the ll files for IMP from develop and this branch. I attach them as well.
imp.develop.patmatchopt.opt.ll.txt
imp.gc.patmatchopt.opt.ll.txt


Reconnection issue

Hi, I'm in the process of migrating from the rumqtt client to this library and running into reconnection problems during testing. When I disconnect the client from the network the broker is on I get the following error:
{
  "file": "/build/.cargo/registry/src/github.com-1ecc6299db9ec823/rumq-client-0.1.0-alpha.4/src/state.rs",
  "level": "ERROR",
  "line": 263,
  "message": "Error awaiting for last ping response",
  "module_path": "rumq_client::state",
  "target": "rumq_client::state",
  "time": "2020-02-12T14:30:57.027601409+00:00"
}

However when I reconnect the client to the network I continue getting the same error and the client doesn't reconnect. Based on the logs I'm not receiving a Reconnection or Disconnection notification, but with each error I am getting a StreamEnd:
{
  "file": "app/src/mqtt/mod.rs",
  "level": "DEBUG",
  "line": 551,
  "message": "notification: StreamEnd(MqttState(AwaitPingResp))",
  "module_path": "app::mqtt",
  "target": "app::mqtt",
  "time": "2020-02-12T15:28:10.837594182+00:00"
}

In case I've done something wrong here is my code for setting up the client options.
    fn rumq_options(&self) -> rumq_client::MqttOptions {
        let mut options = rumq_client::MqttOptions::new(&self.client_id, &self.host, self.port);
        options
            .set_keep_alive(10)
            .set_throttle(Duration::from_secs(1))
            .set_clean_session(false)
            .set_request_channel_capacity(128)
            .set_notification_channel_capacity(128);

        if let Some(user_password) = &self.user_password {
            options.set_credentials(&user_password.user, &user_password.password);
        }
        if let Some(tls) = &self.tls {
            options.set_ca(tls.ca_pem.clone());
            // mqttoptions.set_client_auth(client_cert, client_key);
        }
        options
    }

And my code for spawning the tasks for sending/receiving.
    /// Start asynchronous loops to handle events.
    pub async fn start(self) -> (task::JoinHandle<()>, task::JoinHandle<()>) {
        let mqtt = Arc::new(self);

        let (mut requests_tx, requests_rx) = channel(10);
        let mut eventloop = eventloop(mqtt.options.rumq_options(), requests_rx);

        mqtt.metric_connected().set(1);
        mqtt.rumq_subscribe(&mut requests_tx).await;

        let mqtt1 = mqtt.clone();
        let mut requests_tx1 = requests_tx.clone();
        let poll_task = task::spawn(async move {
            loop {
                let mqtt = mqtt1.clone();
                mqtt.poll_handler(&mut requests_tx1).await;
                time::delay_for(Duration::from_secs(1)).await;
            }
        });

        let notification_task = task::spawn(async move {
            loop {
                let mqtt = mqtt.clone();
                let mut stream = eventloop.stream();
                while let Some(item) = stream.next().await {
                    mqtt.notification_handler(item, &mut requests_tx).await;
                }
                time::delay_for(Duration::from_secs(1)).await;
            }
        });

        (poll_task, notification_task)
    }

If there's any other information I can provide let me know. Thanks for the help and the great library, migrating was much easier than I expected and the new interface works very well with my other async code :+1:

The code looks correct to me

However when I reconnect the client to the network I continue getting the same error and the client doesn't reconnect. Based on the logs I'm not receiving a Reconnection or Disconnection notification, but with each error I am getting a StreamEnd

eventloop.stream() should reconnect but notifications like Connected aren't implemented in the current master yet. It's implemented in the next release though. That can be used to resubscribe when the connection is established.

  "message": "notification: StreamEnd(MqttState(AwaitPingResp))",

StreamEnd is the last element of the stream when it encounters errors. while let Some(item) = stream.next().await loop should break after that and  let mut stream = eventloop.stream(); should trigger a connection. Let me know if that's not happening

If there's any other information I can provide let me know.

If things aren't working as expected, please provide me a minimal example. Helps me fix faster :)

new interface works very well with my other async code

I'm really happy with the current design. Simple to maintain unlike the last one and easy to customize :)

Thanks for the help, that explains not getting reconnection/disconnect notifications yet.
I also tried switching to using #[tokio::main(basic_scheduler)] as I noticed it was a difference between my code and the example, but it doesn't appear to have made a difference.
I'm a bit swamped at the minute (as we all are), but I'll try and put together a minimal reproduction over the weekend.

This is what I have to try and reproduce this so far. If I run the Mosquitto server using docker:
docker run --rm -p 1883:1883 eclipse-mosquitto:latest

And then run the reconnection example:
cargo run --example reconnection

I get the following output from the reconnection example when I stop the server to simulate disconnection:
Received = Puback(PacketIdentifier(9))
Received = Puback(PacketIdentifier(10))
Stream done
Received = StreamEnd(Network(Io(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))
Stream done
Received = StreamEnd(Network(Io(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))
Stream done
Received = StreamEnd(Network(Io(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })))
Stream done
Received = Puback(PacketIdentifier(11))
Received = Puback(PacketIdentifier(12))

Client is reconnecting successfully. If I then modify the reconnection example to connect to our production MQTT server (TLS + credentials) and disconnect the network to test disconnection I get the following:
Received = Puback(PacketIdentifier(4))
Received = Puback(PacketIdentifier(5))
 ERROR rumq_client::state > Error awaiting for last ping response
Received = StreamEnd(MqttState(AwaitPingResp))
Stream done
Received = Puback(PacketIdentifier(6))
Received = Puback(PacketIdentifier(7))

I'm now getting the same error as my other application, although reconnection is still working which suggests I may be doing something else wrong. I tried to modify the reconnection example to be more similar to my application but this didn't change the behaviour (https://github.com/mojzu/rumq/blob/master/rumq-client/examples/reconnection.rs).
When I get another chance I'll keep trying to modify the reconnection example until it either reproduces the error or shows me what I've done wrong in my application.

You mean all the MVEs are working fine as expected?

I feel like I'm in the same boat.
If a packet is dropped (eg if I unplug the cable) and I get even a single AwaitPingResp, I keep getting AwaitPingResp forever (which causes the stream to break), despite actually having a valid connection (I get Subacks, and Publishes and everything)

"minimum" repro:
use rumq_client::MqttOptions;
use rumq_client::QoS::AtLeastOnce;
use std::time::Duration;
use tokio::stream::StreamExt;
use tokio::sync::mpsc;
use tokio::time::delay_for;
#[tokio::main]
async fn main() {
    let mut options = MqttOptions::new("Obama", "<IP_ADDRESS>", 1883);
    options
        .set_credentials("mqttuser", "mqttpass")
        .set_keep_alive(5);
    let (mut req_tx, req_rx) = mpsc::channel(10);
    let mut eventloop = rumq_client::eventloop(options, req_rx);
    loop {
        let mut stream = eventloop.stream();
        while let Some(notif) = stream.next().await {
            println!("{:?}", notif);
            use rumq_client::Notification as N;
            use rumq_client::Request as R;
            use rumq_client::{publish, subscribe};
            let req = match notif {
                N::Connected => Some(R::Subscribe(subscribe("in", AtLeastOnce))),
                N::Publish(pubar) => Some(R::Publish(publish("out", AtLeastOnce, pubar.payload))),
                _ => None,
            };
            if let Some(req) = req {
                req_tx
                    .send(req)
                    .await
                    .expect("`requests` dropped by eventstream")
            }
        }
        eprintln!("stream ended, retrying in 100ms");
        delay_for(Duration::from_millis(100)).await;
    }
}

[package]
name = "min-example"
version = "0.1.0"
edition = "2018"

[dependencies]
rumq-client = "0.1.0-alpha.5"
tokio = {version = "0.2.11", features = ["stream", "macros", "sync"]}

Output:
Connected
Suback(Suback { pkid: PacketIdentifier(1), return_codes: [Success(AtLeastOnce)] })
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
StreamEnd(Timeout(Elapsed(())))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(2), return_codes: [Success(AtLeastOnce)] })
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(3), return_codes: [Success(AtLeastOnce)] })
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(4), return_codes: [Success(AtLeastOnce)] })
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(5), return_codes: [Success(AtLeastOnce)] })
Publish(Topic = in, Qos = AtMostOnce, Retain = false, Pkid = None, Payload Size = 8)
Puback(PacketIdentifier(6))
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(7), return_codes: [Success(AtLeastOnce)] })
Publish(Topic = in, Qos = AtMostOnce, Retain = false, Pkid = None, Payload Size = 8)
Puback(PacketIdentifier(8))
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(9), return_codes: [Success(AtLeastOnce)] })
StreamEnd(MqttState(AwaitPingResp))
stream ended, retrying in 100ms
Connected
Suback(Suback { pkid: PacketIdentifier(10), return_codes: [Success(AtLeastOnce)] })

I've rebuilt my code with the branch from qm3ster and retested using our production MQTT server. I'm no longer getting the repeated "Error awaiting for last ping response" error and I'm getting new messages afterwards which suggests this issue is fixed!
I think I was struggling to recreate it because I was testing with an MQTT server running on localhost and pretending to disconnect the network by stopping the server. I'm guessing this wasn't leading to dropped packets in the same way as when I did these tests over a network and physically removed the ethernet cable.

Sorry for the delay. This will be fixed in the next few days

@mojzu were you still getting some or all messages (together with the repeating error)? Or did this error completely block incoming in your case?

It's just that the only branch that could reset await_pingresp as successfully getting a pingresp, and the branch that made a pingreq asking for one was conveniently the only thing blocked by checking for this error. But no one else checked for it, so it didn't actually interfere with handling any other packet (unless I myself got spooked by the error and dropped the eventloop)

I'll probably work on this after 2 days. One problem I see (and as @qm3ster rightly pointed out), await_pingresp should be reset correctly. The current master will work correctly as long as there are remaining publishes in the request stream but idle state will be a problem after the initial (pingreq) error as the eventloop will try to send pingreq (2nd time) and await_pingesp is still true from the previous iteration (and this repeats for every next ping request)
I think reset should happen here

Fixed in #42

I've upgraded to alpha.6 version and retested, and the issue is fixed.
I did have a compilation error while upgrading of unresolved import tokio::select, turns out some of my other dependencies were pulling the tokio version down to 0.2.6. Don't think it's a bug but in case anyone else runs into it, it was resolved by setting the tokio version in my projects Cargo.toml to "0.2.13" rather than "0.2".
Thanks for the fix and again for the great library! :+1:


[Parser] Support R.ShapeExpr

This PR supports R.ShapeExpr in IRBuilder.
Also adds some testcases for ShapeExpr used in relax.reshape.

Moved to https://github.com/apache/tvm/pull/14035

Moved to https://github.com/apache/tvm/pull/14035


Fixes ncurses problem and reduces image size.

Running FastAPI-template from docker fails because simple-term-menu requires tput utility from ncurses.
Also, changed Dockerfile to use two stages build, reducing the size by 4 times (150 Mb vs 595 Mb).

Yeah. You're right. Now it's much better. I was thinking about removing docker images, but now it's much better, thanks.


npm run build error when using react-snapshot

I'm getting this error when I'm trying to use react-snapshot this is happening when I'm running npm run build. https://www.npmjs.com/package/react-snapshot
https://stackoverflow.com/questions/67479722/npm-run-build-error-when-using-react-snapshot
Regards

@canadafreelancer did you solve this issue?
I have the same.


Replace "scenario" occurence by "example" in the example paragraph

The example paragraph still have some reference to the scenario

@Spy-Seth There were a few more "scenario" in the next section, would you like to tackle them in this PR?

@olleolleolle If you are referring to the "scenario" in the "Steps" section they look legit for me
If they have to be changed it will be to precise that it also apply to example:

Cucumber executes each step in a scenario (or example) one at a time

But i'm afraid it will make the text hard to read

Alright, it's already an improvement, I think - @mlvandijk do you have readability input before I merge this?

LGTM. Thanks @Spy-Seth & @olleolleolle!

Hi @Spy-Seth,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber


Added Translated book categories (pt-BR)

Hello!
Thank you!
And sorry, if I'm intruding too much on the project.
Bye, bye! xD

There is more stuff!

Ok... Thanks for the hint! =P

Look a those changes https://github.com/Buuz135/Industrial-Foregoing/commit/9856012a56bd7b48e582e956aed2069265221a78

What? What should I see there?
I already saw it.

My bad! I didn't saw the new stuff! I didnt get a notification for it


Update metadata man page.

The man pages needed to be rebuilt after #8323.

r? @Eh2406
(rust_highfive has picked a reviewer for you, use r? to override)

@bors r+

:pushpin: Commit dec7872acf364214b4413ba603f209ae8fb0957b has been approved by Eh2406

:hourglass: Testing commit dec7872acf364214b4413ba603f209ae8fb0957b with merge f236c35e56630ee131dede70433447ad2f4fa606...

:sunny: Test successful - checks-azure
Approved by: Eh2406
Pushing f236c35e56630ee131dede70433447ad2f4fa606 to master...


Add TensorRT models to work

[ ] Add TensorRT models for operation, the ability to run TensorRT models
[ ] TensorRT Converter

On Linux, torch.compile() is supported. torch.compile should support the TensorRT backend in the future.
To use it, specify --compile option for waifu2x.web. In GUI/CLI, it is automatically used when the input is video.
Note that compiling the model can be very time consuming. Also, it is not yet supported for Windows.
Also, ONNX models can use the TensorRT backend. However, only JavaScript implementation(unlimited:waifu2x) currently use onnxruntime.

I have confirmed that upconv_7, cunet works with TensorRT backend.
For swin_unet*, it requires PyTorch 2.1, but TensorRT does not yet support PyTorch 2.1.

Looks like iw3 would also benefit from https://github.com/spacewalk01/depth-anything-tensorrt !

I have confirmed that using torch.compile with PyTorch 2.2 can speed up the waifu2x models almost 2x.
So I do not think we should stick to TensorRT.
For iw3's DepthAnything model, I have optimized it with mini-batch and fp16, so it should already be 2x faster than the official video demo.
(Probably the same approach as https://github.com/LiheYoung/Depth-Anything/issues/49#issuecomment-1930852488 )
I have not tried torch.compile for the DepthAnything model yet.
The one bad thing about torch.compile is that it does not work on Windows.


Git push is super slow even inside ~/

This request
I tried to ask the same question on this page https://github.com/microsoft/WSL2-Linux-Kernel/issues/33 but I think I should have asked it here. I'm sorry about the mistake.

Your Windows build number:  10.0.18963.1000

What you're doing and what's happening:

# The problem seems to be present with every single repository I try to commit
git add .
git commit -m "some test"
git push origin master

What's wrong / what should be happening instead:
Issuing the following command I'm able to see the maximum upload speed of the push operation:

sudo apt install iftop && iftop

This is what I see

About my commit
I'm trying to commit 222MB of data using git push but the speed seems to be way too slow.

The operation seems to hang on Total ... since the upload process is taking so long to finish.
After performing other tests I can assert that my connection shouldn't be the bottleneck since this test performed using speedtest-cli reports this:
Download: 187.61 Mbit/s
Upload: 2.71 Mbit/s

The time necessary for the operation to be completed should be much less.
Since the upload speed is around 340 Kbit/s the process will end in about 87 minutes. We can all quite agree that this is unacceptable. On Ubuntu I have never faced a similar problem.
Do you have any ideas?

What's the output of uname -a ?

Update:

I tried several "possible solutions" but I didn't find the problem.

Additional info:

Current working directory: ~/development/app/

My git config, after changing http.postbuffer to 524288000

$ git config --list
<EMAIL_ADDRESS>user.name=user
http.postbuffer=157286400                                   # it looks like it gets repeated
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://github.com/my/repo
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
http.postbuffer=524288000

Result:
I tried to leave it going for several hours but unfortunately, it failed:
$ git push origin master
Username for 'https://github.com':
Password for<EMAIL_ADDRESS>
Counting objects: 6928, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (5857/5857), done.
Writing objects: 100% (6928/6928), 222.94 MiB | 105.30 MiB/s, done.
Total 6928 (delta 714), reused 6846 (delta 664)
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

I repeated the process with tracing enabled

export GIT_TRACE_PACKET=1
export GIT_TRACE=1
export GIT_CURL_VERBOSE=1

Result
$ git push origin master
08:06:18.972090 git.c:344               trace: built-in: git push origin master
08:06:18.972676 run-command.c:646       trace: run_command: GIT_DIR=.git git-remote-https origin https://github.com/my/repo
* Couldn't find host github.com in the .netrc file; using defaults
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to github.com (<IP_ADDRESS>) port 443 (#0)
* found 133 certificates in /etc/ssl/certs/ca-certificates.crt
* found 399 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_128_GCM_SHA256
*        server certificate verification OK
*        server certificate status verification SKIPPED
*        common name: github.com (matched)
*        server certificate expiration date OK
*        server certificate activation date OK
*        certificate public key: RSA
*        certificate version: #3
*        subject: businessCategory=Private Organization,jurisdictionOfIncorporationCountryName=US,jurisdictionOfIncorporationStateOrProvinceName=Delaware,serialNumber=5157550,C=US,ST=California,L=San Francisco,O=GitHub\, Inc.,CN=github.com
*        start date: Tue, 08 May 2018 00:00:00 GMT
*        expire date: Wed, 03 Jun 2020 12:00:00 GMT
*        issuer: C=US,O=DigiCert Inc,OU=www.digicert.com,CN=DigiCert SHA2 Extended Validation Server CA  *        compression: NULL
* ALPN, server accepted to use http/1.1
> GET /my/repo/info/refs?service=git-receive-pack HTTP/1.1
Host: github.com
User-Agent: git/2.17.1
Accept: */*
Accept-Encoding: gzip
Accept-Language: C, *;q=0.9
Pragma: no-cache

< HTTP/1.1 401 Authorization Required
< Server: GitHub Babel 2.0
< Content-Type: text/plain
< Content-Length: 21
< WWW-Authenticate: Basic realm="GitHub"
< X-Frame-Options: DENY
< X-GitHub-Request-Id: D88E:E777:24CCD5F:3798539:5D5E30DA
<
* Connection #0 to host github.com left intact
Username for 'https://github.com': user
Password for<EMAIL_ADDRESS>* Couldn't find host github.com in the .netrc file; using defaults
* Found bundle for host github.com: 0x5637f58454b0 [can pipeline]
* Re-using existing connection!
Delta compression using up to 12 threads.
Compressing objects: 100% (5857/5857), done.
08:06:30.289623 pkt-line.c:80           packet:          git< PACK ...
Writing objects: 100% (6928/6928), 222.94 MiB | 77.54 MiB/s, done.
Total 6928 (delta 714), reused 6846 (delta 664)
08:06:33.165315 pkt-line.c:80           packet:          git> 0000
* Couldn't find host github.com in the .netrc file; using defaults
* Found bundle for host github.com: 0x5637f58454b0 [can pipeline]
* Re-using existing connection! (#0) with host github.com
* Connected to github.com (<IP_ADDRESS>) port 443 (#0)
* Server auth using Basic with user 'user'
> POST /my/repo/git-receive-pack HTTP/1.1
Host: github.com
Authorization: Basic bGVvZmFicmk6Z2FsYXh5dGFiZ3RwNzUwMA==
User-Agent: git/2.17.1
Accept-Encoding: gzip
Content-Type: application/x-git-receive-pack-request
Accept: application/x-git-receive-pack-result
Content-Length: 233773620

< HTTP/1.1 200 OK
< Server: GitHub Babel 2.0
< Content-Type: application/x-git-receive-pack-result
< Transfer-Encoding: chunked
< Expires: Fri, 01 Jan 1980 00:00:00 GMT
< Pragma: no-cache
< Cache-Control: no-cache, max-age=0, must-revalidate
< Vary: Accept-Encoding
< X-Frame-Options: DENY
< X-GitHub-Request-Id: D88E:E777:24CD804:3799097:5D5E30E4
<

# It hangs here, perhaps because the POST request is still waiting for a response

In response to @onomatopellan

Thank you for your suggestions @onomatopellan, this is the output of the following commands:
$ uname -a
Linux DESKTOP-3E3JMCE 4.19.57-microsoft-standard #1 SMP Wed Jul 3 20:47:25 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

I ran git push again with sudo dmesg -w running on another tab but nothing seems to get added when I spawn the push process.
Anyway, if you need to see the complete dmesg message I'll post it (it's really long).
Inspecting wih htop
The CPU usage seems fine.
Counting objects: 100% (6967/6967), done.
Delta compression using up to 12 threads
Compressing objects: 100% (5857/5857), done.
Writing objects:   0% (49/6928), 3.18 MiB | 33.00 KiB/s
# It becomes very slow at writing the objects... I'm still waiting for it to finish

Final considerations
In my opinion, the problem may be related to WSL2 and not really to git itself. I might be wrong, but as you can notice from the tests, the same slowness seems to be there even when using SSH (but this time objects writing is affected).

CPU and Memory usage

Using htop with every single test carried I didn't notice anything related to high CPU usage time nor memory.

Bandwidth during upload

The upload speed is still around 350 kb/s when trying to push though my internet connection is way faster.

I think I solved the problem. What I did was basically moving the entire uncommitted repo folder back to a Linux PC and then trying to push again those changes.
What I got was an error telling me that a file exceeded the maximum size of 100MB. And I have o say that it did take its time on my Unix machine, but on the other hand, the upload speed was reaching about 2Mbit/s.
I looked for the files that were causing those problems and I noticed that their folder didn't even exist.
What likely caused the git push to fail
I'm still investigating to fully understand why WSL wasn't giving me back the same errors as a Linux based OS was doing.
However, I understood quite clearly is that I was trying to commit multiple changes (7 if I'm not wrong) and the first one was when I first moved the app to WSL and I installed go.
I had this big .tar file inside a directory called tmo/ in my project. I clearly remember that mistake and I fixed it by removing the entire dir, unfortunately, though, I had already committed those changes so git was looking for a huge number of files that didn't even exist.
The fix
I didn't have much time to merge those changes and remove those nonexistent indexed files so I removed those 7 commits and I forced with "git push --force" to upload my local changes.
By doing that, I literally skipped those commits. Even if it wasn't a big deal for me it doesn't necessarily mean that it isn't for you either, so please be careful if you decide to do the same.
Thank you to anyone for helping


Sending PM in game which loses target

[http://www.freeallegiance.org/forums/index.php?showtopic=29604 Relevant topic]
Currently if I'm in lobby and send a pm to someone, if that person should
switch teams or leave the lobby it gets sent to (all).
This just happened and ended up giving pre-game planning.
If the pm loses it's target as it now does, can the message just go to magic
world of nothingness?
Or more preferable if possible, can the message be routed to the player if he's
still on the server?
Imported from trac ticket #11,  created by jgbaxter on 01-05-2010 at 09:53, last modified: 07-15-2010 at 06:56

r677
Trac comment by Imago on 07-15-2010 at 06:56

r676, needs testing
Trac comment by Imago on 07-06-2010 at 13:04


Possible to have multiple post handler and generated pages?

Hi,
Is it possible to have multiple post handler with this library?
Also I'd like show whether the file is acceptable. Can I have a dynamically generated upload.html?
Thanks

Hi there, can you explain what you mean by multiple post handler?
If you mean having multiple post endpoints, yes you can add multiple post route handlers, just make sure they have different route path patterns (the default is /post).  You can change it here:
https://github.com/bakercp/ofxHTTP/blob/2c1e3990e770fac9f33bdf0405a674e899b09558/libs/ofxHTTP/include/ofx/HTTP/PostRoute.h#L52-L54
Also, you can set valid content types in the PostRouteSettings .. e.g.
https://github.com/bakercp/ofxHTTP/blob/2c1e3990e770fac9f33bdf0405a674e899b09558/libs/ofxHTTP/include/ofx/HTTP/BaseRoute.h#L115-L120
If the upload content type is not included, it will be rejected.
You can also set the upload redirect page here:
https://github.com/bakercp/ofxHTTP/blob/2c1e3990e770fac9f33bdf0405a674e899b09558/libs/ofxHTTP/include/ofx/HTTP/PostRoute.h#L62
I'm not sure of the best return an "upload rejected" style message at the moment ... I think if you set a media type and the upload is incorrect, that will get you close ... but if you want to actually analyze the binary data using ofxLibmagic or something, that may need to be added as a feature.

Thanks for your reply,
Yes I'd like to have multiple post endpoints and I'm writing my own version of SimplePostServer.
Is it possible to print in a web response? Like I have a variable and I can see it's value on a web page?

I'm also looking for an example to have multiple endpoints with their own handler.
It's clear you can change the endpoint for one particular PostRouteSettings, but how can we add multiple endpoints, each with their own handler, but running inside the same HTTP server?
https://github.com/bakercp/ofxHTTP/blob/master/example_basic_server_post/src/ofApp.cpp#L17-L36
There seems to be an addRoute method for the SimplePostServer class, but an example for setting multiple routes with their own handlers would be helpful.
https://bakercp.github.io/ofxHTTP/classofx_1_1_h_t_t_p_1_1_simple_post_server.html


Basic Authentication Popup

Many thanks for this great plugin!
We have some problem to access documents which are protected by Basic Authetication.
When we try to access the constrained resource (server asks for basic auth) the popup for username and password does't come up so that "Authorization" header is not provided to the server and we get 401 document as result.
Is there any chance to activate this popup? I have not found any options in the InAppWebViewOptions for that.
Or ... do we have to implement it on our own?

It‘s not implemented yet. In order to make it work, an event handler for https://learn.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2_10?view=webview2-1.0.1370.28#add_basicauthenticationrequested needs to be added on the native side.

@maciola did you solve this issue? How did you implement it?

@maciola thanks for your kind response 👍


Should mention that log crate is required.

The expansion for the XmlRead/Write macros use the log crate. If your don't include that in your own deps, you'll run into an error:

error[E0433]: failed to resolve: use of undeclared type or module log

Fixed in v0.5.0. log is now an optional dependency.


[ci-skip] Clarify compatible ruby version

Hi there,
I confirmed ruby 1.9.3 does not work with grape-swagger-rails on this part.
# app/views/grape_swagger_rails/application/index.html.erb.

<html data-swagger-options="<%= GrapeSwaggerRails.options.to_h.to_json %>">

I know 1.9.3 is not maintained anymore but I think it's still kind to clarify the ruby version if possible . (Yes, I'm still using 1.9.3 in some projects...)
I confirmed 2.0.0 works with rails 3.2 so I added '2.0.0' as the compatible version. (.travis.yml uses 2.1.2, though.)
Let me know if I'm missing something.
Thank you!

What's the problem with 1.9.3?
I think you want to add 2.0 and the latest to .travis.yml

Thank you for the reply @dblock .
The issue is OpenStruct 1.9.3 does not have #to_h method. The interpolation above returns null with 1.9.3.  OpenStruct.to_h was introduced as of 2.0.0.
OK, I will add 2.0.0 to .travis.yml :)

Generally I think travis.yml could be that compatibility list. I think since 1.9.3 is no longer supported saying that this project only works for 2.0 or later is kinda moot. We wouldn't want to mention 1.8.x anymore, right?

OK, that makes sense, although I didn't check .travis.yml first when I introduce the gem... haha :)
So I think I'm going to add those ruby version to .travis.yml and discard the change on README.md.
Does that sound good?

Hi, just updated .travis.yml. Could you take a look when you get a chance? Thanks!


Revert "Move out enum tests into a separate CXXInterop/enum directory"

Reverts apple/swift#30182

@swift-ci please test

I've pinged Google. Let's given them an hour to respond and then we'll merge this.


File manager: changing folder should start at the top

When i have many folders it will make me have several pages in my web browser. If i scroll to page two (as an example) and open a folder that also include a lot of folders and files, it will not open at the top. Instead it will open at the same scrollbar location it was when i open the folder. When i enter a folder it should open at the top and not where the previous scrollbar was.

It's possible, however it's better to set pagination number that would fit your screen's height. You can use arrow keys (left and right) to switch between paginated pages.

25 rows per page? It will take forever to view /etc/webmin with 6 pages :(

You can start typing while focused on file manager and it will automatically filter needed results for you.

It's fixed along with other page calculations issues (making bottom scroll appearing and making vertical scroll tiny).
Please give it a try.


Use optimized build on Linux and macOS by using -O2 switch for gcc/clang

We also modify function GenerateBatchGeneral ring2exe.ring to add -O2 switch to generated build scripts.

Very nice
Thanks for the update
Keep up the GREAT WORK

Very nice
Thanks for the update
Keep up the GREAT WORK


Merge environment variables in app configuration

This takes changes from the 1.8.4 and 1.8.9 SDKs.

https://ocd.appscale.com:8080/job/Daily Build/4431/

Demo:
Against master: https://ocd.appscale.com:8080/job/Hawkeye/12638/ (see https://ocd.appscale.com:8080/job/Hawkeye/12638/artifact/logs-appscale-testing-33108e9f-1b8b-4c5d-8164-dddeec3a8f5c/<IP_ADDRESS>/appscale/app___hawkeyepython27_default_v1_1512774906544-20002.log/view/)
With branch: https://ocd.appscale.com:8080/job/Hawkeye/12639/