Responses are not properly sent (or received)

Using MT 7.1.2 with Azure Service Bus.
Occasionally, responses are not properly sent (or received). This happens rarely and is not something I can reproduce. I have only seen it happen after restarts/deployments, and another restart always seems to fix the issue. ~I have never seen it start to happen long after a restart, so it seems to be something in the initialization.~ The aforementioned points leads me to think it may be a bug (or at least fixable) in MT. I don't think I'm doing anything wrong, but for good measure, I will still show relevant code below.
I have an Auth API and a User API. The User API sends a MT request GetUserSessionIdRequest to the Auth API in order to authenticate session IDs, and the auth API responds with GetUserSessionIdResponse.
Here is the Auth API code that initializes the bus.
let mutable private bus : IBusControl = null

let init loggerFactory connStr queueName =
  async {
    LogContext.ConfigureCurrentLogContext loggerFactory
    bus <-
      Bus.Factory.CreateUsingAzureServiceBus(fun config ->
        config.Host(connStr)
        config.ReceiveEndpoint(
          queueName,
          fun (epCfg: IServiceBusReceiveEndpointConfigurator) ->
            epCfg.Consumer(fun () -> ..)
        )
      )

    let! ct = Async.CancellationToken
    do! bus.StartAsync ct |> Async.AwaitTask |> Async.Ignore
  }

Here are Auth API logs from a problematic run, indicating that MT still seems to initialize correctly:

Here is the user API code that sends a request:
let getUserIdForSession (msg: GetSessionUserIdRequest) =
  async {
    let client = bus.CreateRequestClient<GetSessionUserIdRequest>()
    let! ct = Async.CancellationToken
    let! resp =
      client.GetResponse<GetSessionUserIdResponse>(msg, ct, !TimeSpan.FromSeconds 2.)
      |> Async.AwaitTask
    return ..
  }

Here are Auth API logs from a problematic request, indicating that as far as the logs show, the auth API sends the response. No errors are logged here.

However, the User API times out waiting for the response:
MassTransit.RequestTimeoutException:
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at MassTransit.Clients.ResponseHandlerConnectHandle`1+<GetTask>d__11.MoveNext (MassTransit, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b8e0e9f2f1e657fa)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at MassTransit.Clients.ClientRequestHandle`1+<HandleFault>d__34.MoveNext (MassTransit, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b8e0e9f2f1e657fa)

And here's the kicker: It is restarting the Auth API that fixes it. Contrariwise, restarting the User API does not fix it.
Therefore, it seems that the Auth API, despite what the logs show, do not actually send the response correctly. And since it happens consistently until restarting, and since a restart fixes it, it seems that this is related to MT.
Again, let me reiterate that a simple restart fixes this, so I don't think I'm doing something wrong. But please let me know if you think I'm mistaken.
Though this happens consistently until a restart, it happens rarely enough that I have no reproduction. I still hope I have provided enough information to be of help. Please let me know if you need anything else.

What if you set AutoStart = true on the bus that is used to create the request client, so that the bus endpoint is already active/started when the first request is sent?

What if you set AutoStart = true on the bus that is used to create the request client, so that the bus endpoint is already active/started when the first request is sent?

I'm fairly sure I have tried that (and even talked to you about it on Discord) some time ago without luck. In any case, it happens for all requests, not just the first.

I'm fairly sure I have tried that (and even talked to you about it on Discord) some time ago without luck. In any case, it happens for all requests, not just the first.

The other issue might be that you aren't waiting for the bus to be healthy/started before the first request is sent. AddMassTransitHostedService has a new boolean where you can wait for it to be healthy before continuing startup. This is for cases where a ready health check is not used to set an instance as available for requests

The other issue might be that you aren't waiting for the bus to be healthy/started before the first request is sent. AddMassTransitHostedService has a new boolean where you can wait for it to be healthy before continuing startup. This is for cases where a ready health check is not used to set an instance as available for requests

The other issue might be that you aren't waiting for the bus to be healthy/started before the first request is sent.

It sounds like this will only cause problems for requests sent until the bus is ready, and not for requests sent after the bus becomes ready. If that is correct, I don't think it's relevant. And AFAIK it does not explain why the problem disappears when restarting the responding service, not the requesting service.
(Also, I assume AddMassTransitHostedService is related to DI and ServiceCollection? As you can see, I don't use DI.)

The other issue might be that you aren't waiting for the bus to be healthy/started before the first request is sent.

It sounds like this will only cause problems for requests sent until the bus is ready, and not for requests sent after the bus becomes ready. If that is correct, I don't think it's relevant. And AFAIK it does not explain why the problem disappears when restarting the responding service, not the requesting service.
(Also, I assume AddMassTransitHostedService is related to DI and ServiceCollection? As you can see, I don't use DI.)

New information: Disregard my previous assertion that it only happens after restarts. It started happening long after the previous restart. Seemed to consistently happen for all requests when it started happening. Again, I restarted the responding service (Auth API), and the problem went away.

New information: Disregard my previous assertion that it only happens after restarts. It started happening long after the previous restart. Seemed to consistently happen for all requests when it started happening. Again, I restarted the responding service (Auth API), and the problem went away.

This may be caused by #2226.

This may be caused by #2226.

So, the other issue is the response may be expiring due to your short timeout. The expiration passed to ServiceBus is a time, not a delay, so if your clocks are off, it could be that the message is expiring almost immediately when it lands on the queue.
Azure is SLOW, very SLOW, compared to RabbitMQ (it's a database, after all, and it has transactions) so you could be seeing the message timeout before you even get it in some cases. 2 seconds, even 3 is just really short not accounting for clock drift.

So, the other issue is the response may be expiring due to your short timeout. The expiration passed to ServiceBus is a time, not a delay, so if your clocks are off, it could be that the message is expiring almost immediately when it lands on the queue.
Azure is SLOW, very SLOW, compared to RabbitMQ (it's a database, after all, and it has transactions) so you could be seeing the message timeout before you even get it in some cases. 2 seconds, even 3 is just really short not accounting for clock drift.

So, the other issue is the response may be expiring due to your short timeout. The expiration passed to ServiceBus is a time, not a delay, so if your clocks are off, it could be that the message is expiring almost immediately when it lands on the queue.

Yes, as I said above, I think it is a fair assumption that what's described in #2226 is the root cause of this issue. In particular, the issue is caused by MT recycling and not restoring the connection/queue/subscriber/whatever after the first timeout/expiration.

So, the other issue is the response may be expiring due to your short timeout. The expiration passed to ServiceBus is a time, not a delay, so if your clocks are off, it could be that the message is expiring almost immediately when it lands on the queue.

Yes, as I said above, I think it is a fair assumption that what's described in #2226 is the root cause of this issue. In particular, the issue is caused by MT recycling and not restoring the connection/queue/subscriber/whatever after the first timeout/expiration.

Azure is SLOW, very SLOW, compared to RabbitMQ (it's a database, after all, and it has transactions) so you could be seeing the message timeout before you even get it in some cases. 2 seconds, even 3 is just really short not accounting for clock drift.

We're running everything on Azure. Are you saying we'd be better off with a VM on Azure running RabbitMQ rather than with Azure Service Bus? Would the change be transparent, or are there important differences one needs to know about?
As for scale, I can't imagine we'll hit 100 msgs/sec any time soon.

Azure is SLOW, very SLOW, compared to RabbitMQ (it's a database, after all, and it has transactions) so you could be seeing the message timeout before you even get it in some cases. 2 seconds, even 3 is just really short not accounting for clock drift.

We're running everything on Azure. Are you saying we'd be better off with a VM on Azure running RabbitMQ rather than with Azure Service Bus? Would the change be transparent, or are there important differences one needs to know about?
As for scale, I can't imagine we'll hit 100 msgs/sec any time soon.

You don't need to change, but don't expect to use a 2s timeout on a request.

You don't need to change, but don't expect to use a 2s timeout on a request.

You don't need to change, but don't expect to use a 2s timeout on a request.

These requests (that I set 2s timeout on) are mostly completed in <100ms, so I don't see the big problem (apart of course from clock drift, which is why, as mentioned in https://github.com/MassTransit/MassTransit/issues/2226#issuecomment-756816681, I am now using a Polly timeout policy instead of message expiration, and things seem to work fine.)
(These requests are the basic auth request all services use for every HTTP request, so they need to be very fast.)

You don't need to change, but don't expect to use a 2s timeout on a request.

These requests (that I set 2s timeout on) are mostly completed in <100ms, so I don't see the big problem (apart of course from clock drift, which is why, as mentioned in https://github.com/MassTransit/MassTransit/issues/2226#issuecomment-756816681, I am now using a Polly timeout policy instead of message expiration, and things seem to work fine.)
(These requests are the basic auth request all services use for every HTTP request, so they need to be very fast.)

As long as you pass the cancellationToken to the request client from polly? that seems okay. Or just don't set the TTL equal to the request timeout, set it longer to avoid message disappearing?

As long as you pass the cancellationToken to the request client from polly? that seems okay. Or just don't set the TTL equal to the request timeout, set it longer to avoid message disappearing?

Or just don't set the TTL equal to the request timeout, set it longer to avoid message disappearing?

Yes, I'm not setting any TTL now (don't know what the default is, but I assume it's large enough that I don't have to care about it.)
I'm closing this issue since I think it's covered entirely by #2226.

Or just don't set the TTL equal to the request timeout, set it longer to avoid message disappearing?

Yes, I'm not setting any TTL now (don't know what the default is, but I assume it's large enough that I don't have to care about it.)
I'm closing this issue since I think it's covered entirely by #2226.


HUP: Bind for <IP_ADDRESS>:5000 failed: port is already allocated

https://11a1d0258e8782b188c3598b57c155c6.balena-devices.com/job/leviathan-raspberrypi3/545/console
[2021-09-29T15:37:31.959Z][27718d4-hup]     not ok 1 - (HTTP code 500) server error - driver failed programming external connectivity on endpoint pensive_fermat (e20b7d22a40feeab7b46fe37e4bfb6db735984cf4683e07220731ec27f2c6229): Bind for <IP_ADDRESS>:5000 failed: port is already allocated
[2021-09-29T15:37:31.960Z][27718d4-hup]       ---
      stack: >
[2021-09-29T15:37:31.960Z][27718d4-hup]         /data/suite/node_modules/docker-modem/lib/modem.js:257:17
[2021-09-29T15:37:31.960Z][27718d4-hup]
        getCause (/data/suite/node_modules/docker-modem/lib/modem.js:287:7)
[2021-09-29T15:37:31.960Z][27718d4-hup]         Modem.buildPayload (/data/suite/node_modules/docker-modem/lib/modem.js:256:5)

        IncomingMessage.<anonymous> (/data/suite/node_modules/docker-modem/lib/modem.js:232:14)
[2021-09-29T15:37:31.960Z][27718d4-hup]       at:
[2021-09-29T15:37:31.960Z][27718d4-hup]         line: 257
        column: 17
        file: /data/suite/node_modules/docker-modem/lib/modem.js
[2021-09-29T15:37:31.960Z][27718d4-hup]       reason: server error
      statusCode: 500
      json:
[2021-09-29T15:37:31.961Z][27718d4-hup]         message: "driver failed programming external connectivity on endpoint pensive_fermat
          (e20b7d22a40feeab7b46fe37e4bfb6db735984cf4683e07220731ec27f2c6229): Bind for
          <IP_ADDRESS>:5000 failed: port is already allocated"
[2021-09-29T15:37:32.196Z][27718d4-hup]       test: Hostapp update suite
      source: |2
            getCause(isStream, res, json, function(err, cause) {
              var msg = new Error(
[2021-09-29T15:37:32.196Z][27718d4-hup]         ----------------^
[2021-09-29T15:37:32.196Z][27718d4-hup]                 '(HTTP code ' + res.statusCode + ') ' +
                (statusCodes[res.statusCode] || 'unexpected') + ' - ' +
[2021-09-29T15:37:32.197Z][27718d4-hup]       ...
[2021-09-29T15:37:32.197Z][27718d4-hup]
[2021-09-29T15:37:32.197Z][27718d4-hup]     Bail out! (HTTP code 500) server error - driver failed programming external connectivity on endpoint pensive_fermat (e20b7d22a40feeab7b46fe37e4bfb6db735984cf4683e07220731ec27f2c6229): Bind for <IP_ADDRESS>:5000 failed: port is already allocated
[2021-09-29T15:37:32.197Z][27718d4-hup] Bail out! (HTTP code 500) server error - driver failed programming external connectivity on endpoint pensive_fermat (e20b7d22a40feeab7b46fe37e4bfb6db735984cf4683e07220731ec27f2c6229): Bind for <IP_ADDRESS>:5000 failed: port is already allocated
[2021-09-29T15:37:32.197Z][27718d4-hup] Test suite completed. Tearing down now.

Closing this as we've moved the registry to the device in https://github.com/balena-os/meta-balena/pull/2385
This issue was specific to leviathan not tearing down, and unrelated to the engine.


M3D-CAM integration for training/validation

Fixes #5
Proposed Changes

Integrated M3D-CAM into the validation loop of training_loop.py

Checklist

[X] I have read the CONTRIBUTING guide
[X] My PR is based from the refactor branch
[X] Non-breaking change (would not break existing functionality): if changes breaks current code, please provide as many details as possible
[ ] Function/class source code documentation added/updated
[ ] Usage documentation has been updated, if appropriate
[ ] History has been updated, if appropriate
[ ] Tests added or modified to cover the changes
[ ] Integration tests passed locally by running pytest

Awesome show, @Karol-G! Could you also please add medcam as a dependency in setup.py and also some related documentation?

You mean to docs/usage.md on how to use medcam?

I have added some usage documentation.

LGTM, @Geeks-Sid?

looks great. Merge when you're ready.

Done!
@Karol-G: will follow up via email regarding the paper. 😄


21 match between fields

Fixes issue #21

Coverage increased (+0.5%) to 95.783% when pulling d4795e1abc7824060cb2e8eb092a8f014de1ee09 on 21-match-between-fields into aa8b035e0d22b7c182f38a97aad7f264f2a24211 on master.

Coverage increased (+0.5%) to 95.783% when pulling c2792b83a02b5430ecf6113168af03ec35060123 on 21-match-between-fields into aa8b035e0d22b7c182f38a97aad7f264f2a24211 on master.

Coverage increased (+0.6%) to 95.8% when pulling 840a1145d049c46b7399efe41989e26ba0cfcdcc on 21-match-between-fields into aa8b035e0d22b7c182f38a97aad7f264f2a24211 on master.


SHARE-seq mouse skin velocyto output

Good day,
I am interested to run MultiVelo on the SHARE-seq mouse skin dataset and compare the results with another model. I would like to request the unspliced and spliced count matrices that you used for your experiments if you still have them available. If not, It would be a huge help if you could share with me the input files you used for velocyto and the command for running velocyto. I am new to the tool and would appreciate any help as I am not sure about what files to use from the genome omnibus website.
Thanks in advance for your help!

I can share the Velocyto loom file through email if you share the address with me.

Thank you! I have sent you an email

Thank you for developing MultiVelo. It's an excellent tool that we actively use in our projects.
I am currently designing final class projects for students and would love to incorporate scRNA-seq velocity estimations for the SHARE-seq dataset. To this end, I have been querying the data you have kindly provided as part of your manuscript and tutorials. For the SHARE-seq hair follicle differentiation subset, your preprocessed files - including spliced and unspliced counts along with estimates for Ms and Mu from scvelo- provide an excellent starting point for the student projects.
However, I have a follow-up question regarding the provided data. The processed data subset contains 6,436 cells, while the original data from Ma et al. on GEO lists 7,197 cells when I subset to the same cell populations (['TAC-1', 'IRS', 'Medulla', 'TAC-2', 'Hair Shaft-cuticle.cortex']). Did you perform any additional quality control that might have led to the removal of some cells from the original publication? Additionally, does the loom file you shared previously contain all cells from the Ma et al. mouse skin dataset? If you conducted any additional filtering that I may have overlooked in your manuscript, I would appreciate any information on that. If the loom file contains all cells, would you be so kind as to share those with me?
Thank you very much for your assistance!
Pia

Hi @prauten, the 6436 cells contain all the cells the original authors used for pseudotime analysis with Palantir. We requested and obtained a text file called ptime.bed directly from the authors. I believe that if you email the first author of SHARE-seq paper Dr. Sai Ma, he will kindly share the same file with you.

Hi @danielee0707, thank you very much for your swift response and help! I'll follow up with the SHARE-seq paper authors then. Kind regards, Pia.


Error with TCP / TLS - maybe CA issue?

I just tried configuring this per the README (logback.xml is copy/paste from readme, substituting the host/port with my account settings).  A simple test results in:
SSLTCPNetSyslog: DOWN (org.productivity.java.syslog4j.SyslogRuntimeException: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)

UDP logging with this package (to same papertrailapp.com endpoint) works fine.
This is on Mac OS with JDK 1.8.0_25
If you can't easily repro this, I can post a full repro with logback.xml + Java code.  My understanding of the exception is that the JDK's built in cert chain can't validate your cert.
When I've configured papertrail with syslog forwarding I've had to install a .pem file - not sure if users of this package are expected to do something similar and register a separate keystore.

@coopernurse I'm transitioning this into a Papertrail support request, since it's environment- and Papertrail-specific. Please expect another reply in your email inbox from support@ later today or on Monday.


Sections is deleted on save

Hi there,
Got a quirk - and can be related to 0.6.1 as I just updated.
There was a strange wrapping behavior I noticed in theme.liquid > #MainContent (in my case) just after the update. Only two sections were in the right place (within my ID) and the others where beneath. As nothing were really affected, I did a sidenote and continued my business.
Then, the...
Issue:

Almost every custom section were deleted after uploading settings_data.json and changing new parameter in Customize theme > General settings. The only sections left were the two first.

So ofc tried to rebuild the index in Customize theme but when adding a new section, the recreated section is appearing beneath the button ´Add section´ on save.

And when adding another section it is replacing the latest section added, also appearing beneath the add-button, but leaving the two not deleted sections intact.

The new - and only section possible to add - is neither rendered on front end.

Clues?
I will downgrade themekit and try to rebuild meanwhile.

This was caused by a extra </div>, the strange thing is that this broke the backend.
Will ofc colse this leaving a thaught: How can the extra </div>break the backend?

@jjui Hey I was just replying I am glad your figured it out. I will talk to the theme developers about handling this. It probably should have replied with a syntax error.

@jjui Which commands were you using? theme replace? Did you get any errors from uploading or did you get a successful message?


CI/tools: Format checker is not deterministic

During the format checker step of CI for https://github.com/envoyproxy/envoy/pull/10230, the tool doesn't deterministic output.
In one commit, it suggests:

After applying the patch, it then fails again:

Apparently this has happened multiple times in other PRs, so opening an issue to track the effort of fixing this.

cc @htuch @lizan


Try.dot.net is 'Dead'

Describe the bug
Totally unusable
Did this error occur while using dotnet try or online?

[ ] dotnet-try
[ ] .NET Jupyter Notebook
[x] online

What kind of error was it?

[ ] User Interface (UI):  For example the output never displayed
[ ] Service Error: For example "The service is temporarily unavailable. We are working on it"
[x] Other:    Application Error

    If you are the application administrator, you can access the diagnostic resources.```

Screenshots
If applicable, add screenshots to help explain your problem.

Please complete the following:

OS

[x] Windows 10
[ ] macOS
[ ] Linux (Please specify distro)
[ ] iOS
[ ] Android

Browser

[x] Chrome
[ ] Edge
[ ] Safari
[x] Firefox

'fault' at https://trydotnet.microsoft.com/v2/editor?waitForConfiguration=true&editorId=0&workspaceType=console

#823 similar


fix: page.pdf producing an invalid pdf

What kind of change does this PR introduce?
Bugfix
Summary
When defining a chunk size for <CDPSession>.send('IO.read', { handle, size }), the CDPSession will occassionally indicate that it has reached the end of file without sending a full pdf. This is documented by the associated issue.
This behavior is not reproducible when leaving out the size parameter. Since the size parameter is not required on the CDPSession side and is merely a suggestion on the stream side, we can safely leave it out.
Refs: #7757
Does this PR introduce a breaking change?
No

Thanks for the fix. I'd really appreciate if you add a failing test case that is fixed by this.

Disregard my previous comment, I think we can land it without new test cases. Could you please add a TODO like TODO: bring the size parameter back once Chromium issue crbug.com/1290727 is resolved.

I will add a TODO myself in a follow-up PR.

@OrKoN Thank you for expediting this, and for tracking down a potential root cause in Chromium itself!
@tjacobs3 Thanks for the effective workaround to keep puppeteer working properly while we await the fix in Chromium!


CkIO Example

Wrote example code to get across how to use the writing functionality of CkIO. Also tried to be thorough in the commenting so that the user can easily understand how it works. Let me know if there is anything that needs to be changed.

Could I get a review on this? Thanks!


catch2_3: 3.3.2 -> 3.4.0

Description of changes
Diff: https://github.com/catchorg/Catch2/compare/v3.3.2...v3.4.0
Changelog: https://github.com/catchorg/Catch2/blob/v3.4.0/docs/release-notes.md

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

3 packages failed to build:

sonic-pi
yuzu-early-access
yuzu-mainline

7 packages built:

catch2_3
jarowinkler-cpp
python310Packages.jarowinkler
python310Packages.jarowinkler.dist
python311Packages.jarowinkler
python311Packages.jarowinkler.dist
waybar

@dotlambda can we merge this? the nixpkgs-review from the duplicated pr https://github.com/NixOS/nixpkgs/pull/248096 had no failed packages.


Change wording of the error "Verification_failed (Invalid_proof "In progress")" to "Verification key is missing on account or does not match the verification key of the compiled contract"

I see many questions on the discord on the error
Verification_failed (Invalid_proof "In progress")
Usually, it means that

The contract is not deployed
The contract was deployed using a different verification key (it can occur due to SmartContract code change or o1js version change that breaks verification keys)

Proposal:
Change the wording of the error to explicitly mention that the Verification key may be missing on account or does not match the verification key of the compiled contract.

@Trivo25
I saw this error last time when I amended the contract code and forgot to upgrade the verification key. It resulted from the calling tx.send() or tx.prove() in o1js.
There was no info on minascan.io explorer about this transaction, so it is somewhere in o1js or in the result that o1js receives from RPC when calling tx.send().

@Trivo25
I've emulated the error by changing the contract code again, and the error occurs on tx.send():
[2:47:56 PM] Error: Failed to send transaction {
  statusCode: 200,
  statusText: `Couldn't send zkApp command: (invalid (Invalid_proof "In progress"))`
}

Means we might want to add a handler for that error in src/lib/mina/errors.ts

@mitschabaude
You might also consider adding the new function SmartContract.checkVerificationKey() that would compare the verification keys of the compiled and deployed contracts. This function can be called externally and internally at the various stages of SmartContract's and transaction life - from constructor to sending the transaction.
I understand that it is not easy to implement, but if implemented, it would throw the error at a much earlier stage and with a much more precise error message pointing to the root cause of the problem.

I've seen this error recently with o1js 0.18.0 on devnet with fully working code and properly deployed contracts:
Error in task Error: Transaction failed with errors:
- {"statusCode":200,"statusText":"Couldn't send zkApp command: (invalid (Invalid_proof \"In progress\"))"}
    at Object.send (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/node_modules/o1js/dist/node/index.cjs:20902:15)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at DomainNameServiceWorker.createRollupBlock (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/src/worker.ts:741:20)
    at DomainNameServiceWorker.txTask (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/src/worker.ts:242:7)
    at DomainNameServiceWorker.task (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/src/worker.ts:214:18)
    at Function.processLocalTasks (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/node_modules/zkcloudworker/lib/ts/src/cloud/local.js:225:28)
    at Object.<anonymous> (/Users/mike/Documents/DeFi/zkCloudWorker/domain-name-contract/tests/contract.test.ts:318:10)

It occurs only when many txs are sent and compile() is called many times for many SmartContracts and ZkPrograms.
Running the jest test two times instead of one - first adding .skip to the second part of the test and second time adding .skip to the first time of the test resolves the issue.
Maybe it relates to the memory problems: https://github.com/o1-labs/o1js/issues/1214#issuecomment-2044531062

Ok this is surprising, that it occurs non-deterministically if I understand you correctly, and in a Jest test where you wouldn't expect a difference in verification key to be an issue

Yes, you understand me correctly, it is non-deterministic:

It occurs only on devnet; the same test on the local blockchain is passing
It can be resolved by first running the first part of the test where the contract is deployed to devnet and the first tx is sent, and then by the second part of the test where other txs are sent.

I also should say that I compile the same SmartContracts and ZkPrograms in the test two times: it is a side effect of running tests locally for the cloud workers. In real life, those compilations occur in different workers, but local test runs both compilations in the same worker. Still, the same double compilations on the local blockchain work without problems.
I've already sent many txs from AWS, and on AWS lambda, this error does not occur; all txs are sent successfully:
https://minascan.io/devnet/account/B62qqNQ9kMtc4L9p19eK8SfLRy8EamtMRWAVqcCaJSM1Q5AD3DjNAME/txs?type=zk-acc

where the contract is deployed to devnet and the first tx is sent, and then by running the second part of the test where other txs are sent.

could it be a timing issue? i.e. since you first deploy and then send proofs, the deployed vk isn't recognized yet by the node, even though you waited for inclusion?
it sounds almost like just waiting a bit longer is what resolves the problem.
(it would seem weird to me to have anything to do with local memory, since this is an error returned by the node upon receiving a transaction)

I've tried adding the delay, but it does not help. What I do is wait for the deploy tx to be included in the block, then wait 30 seconds, then send a second tx that is always successful, so the verification key is certainly written correctly. Then, I wait for the inclusion to the block for the second tx, then wait another 30 seconds, then send the third tx.
This error occurs only on the third TX, no matter what TX it is. I've tried to call different methods of the SmartContract, but errors occur for any method.
It is an example of one of the attempts:
https://minascan.io/devnet/account/B62qoT67Xdx8fjUc4bTv1a9FAxeogQZzqMAGw8erzwuU8QyfzTgWv5K/txs?type=zk-acc
In this specific example, the deploy tx was included in the block at 1:27:31 PM, and the error occurred at 1:31:56 PM.
This error is not a blocker as I need to deploy the contract once; I am simply reporting it to help with investigations.

Thanks for the reporting! It does sound strange

Memory can be a problem because it can lead to the production of corrupted proof that is rejected by the node.

I don't believe this would happen, but I also don't want to reject the possibility off-hand 😅


Add a login link to left sidebar for logged out users

It can sometimes be unclear to logged out users why they are not seeing all their subscribed streams in the left sidebar. To reduce the chances of users being confused, we should show the following link at the bottoms of the streams list for logged out users:

"Log in to browse more streams"

Notes:

The placement of the link should be the same as the "Browse N more streams" link shown to logged in users.
To avoid leaking any information, the link should be shown regardless of whether or not there are actually any additional streams in the organization.

@zulipbot  claim

@zulipbot claim


Validate component IDs are unique

The spin.toml configuration file currently loads without error when multiple components use the same id. This PR adds a uniqueness constraint in the loader crate which will fail to load a configuration file with multiple defined components sharing an identifier.
See https://github.com/fermyon/spin/issues/340 for more details.

While you're iterating on the PR, keep an eye out for cargo clippy suggestions:
error: avoid using `collect()` when not needed
[19](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:19)
  --> crates/loader/src/local/mod.rs:75:82
[20](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:20)
   |
[21](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:21)
75 |     let component_ids: Vec<String> = raw.components.iter().map(|c| c.id.clone()).collect();
[22](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:22)
   |                                                                                ^^^^^^^
[23](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:23)
76 |     for component in &mut raw.components {
[24](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:24)
77 |         if component_ids.contains(&component.id) {
[25](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:25)
   |            ------------------------------------- the iterator could be used here instead
[26](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:26)
   |
[27](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:27)
   = note: `-D clippy::needless-collect` implied by `-D warnings`
[28](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:28)
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_collect
[29](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:29)
help: check if the original Iterator contains an element instead of collecting then checking
[30](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:30)
   |
[31](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:31)
75 ~
[32](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:32)
76 |     for component in &mut raw.components {
[33](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:33)
77 ~         if raw.components.iter().map(|c| c.id.clone()).any(|x| x == component.id) {
[34](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:34)
   |
[35](https://github.com/fermyon/spin/runs/6057820499?check_suite_focus=true#step:8:35)

Applied the feedback and am happier with how the code looks now. Thanks again for feedback! I'll squash my commits after a review unless there are more changes requested.


Unstructured/Pinecone removal

Unstructured/Pinecone Removal
Updated README.md

Great work with the refactoring @iamfrankiemoran


Exclude .cxx folders from git as part of the flutter create templates.

** /.cxx
https://stackoverflow.com/questions/66129837/about-the-gitignore-question-cxx-folder-in-the-android-project
I believe that an unintended side effect of https://github.com/flutter/flutter/pull/160260 is that we are seeing more native bin directories when working with apps.
This bug tracks updating the templates. As an aside the blog post for the next release might want to warn about this and we want to update our own repos to exclude this folder.

Do you know what circumstances cause these cxx directories to appear? I tried building the examples/flutter_view app, as well as a new sample app from templates, and didn't see them.

They showed up while I was working on a different pr that was opened in android studio. Specifically dev/integration_test/display_cutout_rotation

Also I didnt check if the cxx directories stopped showing up without your pr. It was only a guess on my part.

For us with the Zulip app at https://github.com/zulip/zulip-flutter, flutter build apk is enough to make an android/app/.cxx/ directory appear. So is flutter build apk --debug, and so is flutter run targeting an Android device.
The previous Flutter commit we were using was 1c1f35711be76d1d2a9f5e3a730747591e64e14a from Dec 8, and with that version we didn't have this symptom. (Now we're using 65ff060283e19423e9538c18c24e44495b70aeff which is from Dec 23, later than the reports above.)
Because the directory has a ton of files in it, having it present without being in .gitignore produces an alarming amount of "new files" output for our contributors using VS Code. So I agree it should probably get mentioned in the blog post and release notes — people are definitely going to notice, and it's best if they feel they were forewarned.

Also I think the hash_key.txt file inside the generated directory confirms this is indeed due to the logic added in #160260 / https://github.com/flutter/flutter/commit/2948917a470470c1ee2a3b5897dc229417776829 :
$ cat android/app/.cxx/Debug/416t271r/hash_key.txt; echo
…
-H/home/greg/n/flutter/flutter/packages/flutter_tools/gradle/src/main/groovy
…
-Wno-dev
--no-warn-unused-cli

That directory is where that commit's stub CMakeLists.txt goes. And those two flags at the end are a match for those added in that code:
                externalNativeBuild {
                    cmake {
                        // CMake will print warnings when you try to build an empty project.
                        // These arguments silence the warnings - our project is intentionally
                        // empty.
                        arguments("-Wno-dev", "--no-warn-unused-cli")
                    }


Add New Sheet

How to create new workbook and multiple new sheet?

If you are using axlsx_rails, see this part of the documentation: https://github.com/straydogstudio/axlsx_rails#template
Inside the .xlsx.axlsx template create your workbook off the xlsx_package, and then add sheets to it.


Remove confusing double ingress, redo picture from saved source

fixes #6059
Source
https://docs.google.com/drawings/d/1mhwDtcDXYxj0O8DuSce_d0tBuyH1PZqnaMtPRTC-CyM/edit

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: ldemailly
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [ldemailly]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

preview:

maybe should be bolder lines everywhere ?

@mandarjog want to "/lgtm" it then ? (I made a couple more tweaks and updated the preview link above, which is just the "view file" on the Readme doc)

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: andraxylia, ldemailly
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [ldemailly]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ldemailly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
df7168c9a3747a6ffdb9dcd327d2a2da47a52dd6
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ldemailly: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
df7168c9a3747a6ffdb9dcd327d2a2da47a52dd6
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


keyboard notes-lane (from Eurikon)

i would like to ask you to please reconsider adding a keyboard notes-lane layout (dark gray with low opacity), to the background of NoteSeqFu.
I remember why you choose not to put it there.
But for people like me that constantly have to look for where the notes are and what their names were, since i can not remember them :sweat_smile:
It’s quite user unfriendly.
You could keep the default as you designed it, but add it to the context menu or with a switch.

done


(crypto.sign) If extracting key from primes fails, you get an uninformative error.

https://github.com/PlutoLang/Pluto/blob/be6a4ca0ce58a7582ffa268338e851890d1ae8be/src/lcryptolib.cpp#L645
If you give a key that cannot be derived properly to sign, and this line fails, it errors pluto: (error message not a string) back to the VM.

I'm guessing it throws some C++ error in the underlying function.

Steps to reproduce, which were so helpfully not provided:
local {bigint,crypto}=require"*"

require"crypto".sign("test", "rsa-sha1", {
	p = new bigint(10),
	q = new bigint(10)
})

More concerning, this actually seems to throw an access violation:
local {bigint,crypto}=require"*"

require"crypto".sign("test", "rsa-sha1", {
	p = new bigint(1),
	q = new bigint(1)
})


Added 'zsh' to ignoreProcessNames[] in childProcessMonitor.ts and created the new setting in terminalConfiguration.ts , contributing to issue #131386

This PR fixes #131386
Added 'zsh' to ignoreProcessNames[] in childProcessMonitor.ts and created the new setting in terminalConfiguration.ts , contributing to issue #131386

@Tyriar please review the pull request

@san-coding thanks for the change, we've just started testing v1.60 so we'll probably review this for v1.61 next week

Thanks , will this be reviewed by the end of this month ?

@Tyriar is there a need to add a dropdown (enum) for the newly created configurable/setting ?

@Tyriar I have changed ignoreProcessNames to IgnoreProcessNames in  terminalConfiguration.ts
(Type rectified from last commit) and added IgnoreProcessNames definition to  terminalPlatformConfiguration.ts

This won't compile as ignoreProcessNames was removed but wasn't replaced with using the setting yet. Please make sure you test the change and that it fixed the issue.

Sorry I don't understand what you meant by ignoreProcessNames was removed but wasn't replaced with using the setting yet , we are using IConfigurationService in place of it right ?

but I don't understand what you meant by ignoreProcessNames was removed but wasn't replaced with using the setting yet

You commented out the variable ignoreProcessNames but it's still being used and you didn't update the usage.

we are using IConfigurationService in place of it right

You've injected the service but are not using it yet.

could you please elaborate on why it won't compile

Please make sure the codebase compiles locally before sending PRs.

but I don't understand what you meant by ignoreProcessNames was removed but wasn't replaced with using the setting yet

You commented out the variable ignoreProcessNames but it's still being used and you didn't update the usage.

we are using IConfigurationService in place of it right

You've injected the service but are not using it yet.

could you please elaborate on why it won't compile

Please make sure the codebase compiles locally before sending PRs.

Yes I feel the below code will cause an error, how can I fix this
https://github.com/microsoft/vscode/blob/ee1655a82ebdfd38bf8792088a6602c69f7bbd94/src/vs/platform/terminal/node/childProcessMonitor.ts#L123

but I don't understand what you meant by ignoreProcessNames was removed but wasn't replaced with using the setting yet

You commented out the variable ignoreProcessNames but it's still being used and you didn't update the usage.

we are using IConfigurationService in place of it right

You've injected the service but are not using it yet.

could you please elaborate on why it won't compile

Please make sure the codebase compiles locally before sending PRs.

Yes I feel the below code will cause an error, how can I fix this , I don't see this being used anywhere else
https://github.com/microsoft/vscode/blob/ee1655a82ebdfd38bf8792088a6602c69f7bbd94/src/vs/platform/terminal/node/childProcessMonitor.ts#L123

I have un-commented ignoreProcessNames, will the issue be resolved now ?

I have un-commented ignoreProcessNames, will the issue be resolved now ?

That will just do what it was doing before, you need to pull the setting in using the configuration service like this:
https://github.com/microsoft/vscode/blob/ee1655a82ebdfd38bf8792088a6602c69f7bbd94/src/vs/platform/terminal/node/terminalProfiles.ts#L42-L42

I have un-commented ignoreProcessNames, will the issue be resolved now ?

That will just do what it was doing before, you need to pull the setting in using the configuration service like this:
https://github.com/microsoft/vscode/blob/ee1655a82ebdfd38bf8792088a6602c69f7bbd94/src/vs/platform/terminal/node/terminalProfiles.ts#L42-L42

Ok I will try to fix the issue, should I pull setting in childProcessMonitor.ts ?

Yep, in place of where ignoreProcessNames was being used

Yep, in place of where ignoreProcessNames was being used

Hey @Tyriar , I made the changes, but I feel that  they are incorrect and syntax is wrong , could you please verify and tell me what to do, thanks

@Tyriar ??

This is still not really that close. It's imperative that you actually test the change when you contribute to OSS before you submit the pull request so as to not waste the time of the maintainers. Also it's bad etiquette to ping people on twitter and email, github is the place for that. Closing this to prevent more time from being wasted on both our parts.

@Tyriar, I was just excited about my first pull request, wasn't receiving any response from your side, so I decided to ping you on Twitter and email you for help, I understand the inconvenience it might have caused, thank you for your assistance so far, I did learn a lot about VSCode codebase through this PR  and have learnt the lessons, won't repeat the same mistake, learning and contributing will continue 👍🏻

@san-coding glad you learned something and I don't intend to me mean, but it's taking too much time for me to guide you through this. I also just saw you pinged me on unrelated PRs, this is really quite annoying. Here's a screenshot of my inbox to give you an idea of what I'm working with:

PRs are always welcome but they must work, this either did compile or didn't fix the problem it claimed to (using the setting).

@san-coding glad you learned something and I don't intend to me mean, but it's taking too much time for me to guide you through this. I also just saw you pinged me on unrelated PRs, this is really quite annoying. Here's a screenshot of my inbox to give you an idea of what I'm working with:

PRs are always welcome but they must work, this either didn't compile or didn't fix the problem it claimed to (using the setting).

Oh I understand .. will do better next time


Animate Broken on direction:rtl

Hi Everyone.
I have a site use animate.css.
Its broken my site when I use direction:rtl;
You can check here: http://shinetheme.com/demosd/doc/Oneclick_Demo/
Dose anyone know about this issue.
Thanks

Can you be more specific? What's broken? What's the browsers and browser version that have the problem? Can you isolate the problem?

Hi
Im using Chrome Version 40.0.2214.111 (64-bit) on Mac osx 10.10.1
You can see this video for the problem. http://youtu.be/ixgyZiAtNwc
Thanks

What exactly is the problem? It's not clear. Describe it the best you can.

Hi
http://shinetheme.com/demosd/doc/Oneclick_Demo/
Please follow this link.
When you scroll down, you can see the site dancing from side to side
I found the problem( CSS attribute: direction:rtl of the body and html tag). But dont know how to fix it

Fix your markup and everything should work.
Don't forget to close the issue if this fixes the issue.

Assuming fixed & closing. Thanks for helping here, @eltonmesquita!

I have the same issue and can't realize how this issue has been solved.


External doc with shift + f1 - to work with other languages

groovy, kotlin, scala etc need a bit of special code in the document provider to grab the endpoint url from their spi types so we can find out what to show as doc.

Also for xml we should do this


enable compression of one-time messages

@jpevarnek I'll defer to you on when's a good time to enable this but I figure since support for reading compressed messages has been out for 1-2 releases now, it's about time to enable.

:thumbsup:


Support regex replacement

Overview
Currently, release-body.md is managed by age itself. (This is used on GitHub Releases)
release-body.md includes diff URL about current_version and new_version, but it cannot replace by age.
Settings (from here):
[[files]]
path = ".github/release-body.md"
search = "- Changelog is https://github.com/attakei/age-cli/blob/v{{current_version}}/CHANGELOG.md"
replace = "- Changelog is https://github.com/attakei/age-cli/blob/v{{new_version}}/CHANGELOG.md"

Output (from here:
Release updated `age` as built binary.

- Changelog is https://github.com/attakei/age-cli/blob/v0.6.0/CHANGELOG.md
- Source changes is https://github.com/attakei/age-cli/compare/v0.5.0...v0.6.0

Source changes have not also curren_version but old_version when running age-cli.
CLI cannot know what is previous version.
Fix approach
Use regexp
Example:
[[files]]
path = ".github/release-body.md"
search = """
- Changelog is https://github.com/attakei/age-cli/blob/v{{current_version}}/CHANGELOG.md
- Source changes is (.+)
""""
replace = """
- Changelog is https://github.com/attakei/age-cli/blob/v{{new_version}}/CHANGELOG.md
- Source changes is https://github.com/attakei/age-cli/compare/v{{current_version}}...v{{new_version}}
"""

search has syntax of regexp.
If it includes regexp, writer use it instead of simple matching to search target.

Reelased by v0.8.0


Replce remaining instances of util.to_forward_slash_path with LogicalPath

Fixes
Fixes WB-NNNN
Fixes #NNNN
Description
What does the PR do?
Testing
How was this PR tested?
Checklist

[ ] Include reference to internal ticket "Fixes WB-NNNN" and/or GitHub issue "Fixes #NNNN" (if applicable)
[ ] Ensure PR title compliance with the conventional commits standards

copilot:poem

Current dependencies on/for this PR:

main

PR #5493

PR #5494

PR #5498

PR #5499

PR #5500

PR #5501

PR #5502

PR #5503   👈

PR #5495

PR #5496

PR #5497

This comment was auto-generated by Graphite.


fix: update logo link redirect

I think its valid, its included in types file.

could be some issue, because I was getting type error on my system. Will check it again

my bad, I was adding the attribute in the wrong context. 😮💨

Thanks for the contribution @hafizhpratama

You can close this one

https://github.com/intentjs/intent/issues/34


CURLOPT_SAFE_UPLOAD option unsupported in PHP 7

In PHP 7, the CURLOPT_SAFE_UPLOAD flag as set in Connector.php in the post method does not work in PHP 7 (seen here). This raises an ErrorException with the message:
setopt(): Disabling safe uploads is no longer supported

Fix is in master. Version 3.2 will have it included.


Error warming up cache: Error 302

Bug description
Cache warm-up is not functioning when configured using the latest version (3.1.1rc1) and the previous one (3.1.0) in kubernetes enviroment (with Helm chart version 0.2.15 or earlier).
When the task is triggered, logs of superset worker throws 308 error trying to request the API endpoint.
Note: Reports are working correctly on the same worker.
How to reproduce the bug

Apply cache warm-up config in kubernetes enviroment
Review the logs of superset worker

Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
The values.yalm (cache warm-up configs):
  celery_conf: |
    from celery.schedules import crontab
    class CeleryConfig:
      broker_url = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
      imports = (
          "superset.sql_lab",
          "superset.tasks.cache",
          "superset.tasks.scheduler",
      )
      result_backend = f"redis://{env('REDIS_HOST')}:{env('REDIS_PORT')}/0"
      task_annotations = {
          "sql_lab.get_sql_results": {
              "rate_limit": "100/s",
          },
      }
      beat_schedule = {
          "reports.scheduler": {
              "task": "reports.scheduler",
              "schedule": crontab(minute="*", hour="*"),
          },
          "reports.prune_log": {
              "task": "reports.prune_log",
              'schedule': crontab(minute=0, hour=0),
          },
          'cache-warmup-hourly': {
              "task": "cache-warmup",
              "schedule": crontab(minute="*/2", hour="*"), ## for testing
              "kwargs": {
                  "strategy_name": "dummy"
              },
          }
      }
    CELERY_CONFIG = CeleryConfig
    THUMBNAIL_SELENIUM_USER = "admin"

Superset worker logs:
[2024-02-19 14:26:00,227: INFO/ForkPoolWorker-1] fetch_url[ecc6c59f-1a81-472c-bb3c-25daf1ccb203]: Fetching http://url.of.my.site/superset/warm_up_cache/ with payload {"chart_id": 43}
[2024-02-19` 14:22:00,263: ERROR/ForkPoolWorker-3] fetch_url[ecc6c59f-1a81-472c-bb3c-25daf1ccb203]: Error warming up cache!
Traceback (most recent call last):
  File "/app/superset/tasks/cache.py", line 242, in fetch_url
    response = request.urlopen(  # pylint: disable=consider-using-with
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/local/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 308: Permanent Redirect

Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Could be an issue with the worker's webdriver config or something. Unclear from the logs as to what the initial cause of the 308 is.

UPDATE:
Finally, I found that the redirection was due to the WEBDRIVER_BASEURL not being configured at the service level.
WEBDRIVER_BASEURL = "http://{{ template "superset.fullname" . }}:8088/"

However, I now encounter receiving 400 errors due to missing CSRF when trying to warm up the cache, both from the worker and externally using the API.
{'errors': [{'message': '400 Bad Request: The CSRF session token is missing.', 'error_type': 'GENERIC_BACKEND_ERROR', 'level': 'error', 'extra': {'issue_codes': [{'code': 1011, 'message': 'Issue 1011 - Superset encountered an unexpected error.'}]}}]}

If I disable CSRF:
WTF_CSRF_ENABLED = False

it returns 302:
[2024-02-29 17:00:00,368: INFO/ForkPoolWorker-2] fetch_url[356f2e18-4069-4f16-a8aa-d3bee8323296]: Fetching http://superset:8088/api/v1/chart/warm_up_cache with payload {"chart_id": 49}
[2024-02-29 17:00:00,377: ERROR/ForkPoolWorker-3] fetch_url[ba8a1804-8ea0-460a-8892-da8f8fa9b733]: Error warming up cache!
Traceback (most recent call last):
  File "/app/superset/tasks/cache.py", line 242, in fetch_url
    response = request.urlopen(  # pylint: disable=consider-using-with
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/local/lib/python3.9/urllib/request.py", line 555, in error
    result = self._call_chain(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 726, in http_error_302
    new = self.redirect_request(req, fp, code, msg, headers, newurl)
  File "/usr/local/lib/python3.9/urllib/request.py", line 664, in redirect_request
    raise HTTPError(req.full_url, code, msg, headers, fp)
urllib.error.HTTPError: HTTP Error 302: FOUND
[2024-02-29 17:00:00,378: ERROR/ForkPoolWorker-2] fetch_url[356f2e18-4069-4f16-a8aa-d3bee8323296]: Error warming up cache!
Traceback (most recent call last):
  File "/app/superset/tasks/cache.py", line 242, in fetch_url
    response = request.urlopen(  # pylint: disable=consider-using-with
  File "/usr/local/lib/python3.9/urllib/request.py", line 214, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/local/lib/python3.9/urllib/request.py", line 555, in error
    result = self._call_chain(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.9/urllib/request.py", line 726, in http_error_302
    new = self.redirect_request(req, fp, code, msg, headers, newurl)
  File "/usr/local/lib/python3.9/urllib/request.py", line 664, in redirect_request
    raise HTTPError(req.full_url, code, msg, headers, fp)
urllib.error.HTTPError: HTTP Error 302: FOUND

Related errors reported before: https://github.com/apache/superset/issues/24717#issue-1808086329 https://github.com/apache/superset/issues/24579#issue-1786075530

I'm experiencing the same issue.

Just a head-up that while we're trying to get the linked PR merged, we're also no longer supporting 3.0.x, and will stop supporting 3.x.x when Superset 4.1 is released soon. If anyone can confirm this is a 4.x.x issue, that'd be appreciated!

I am experiencing the cache warmup issue in Superset version 4.0.2.
[2024-08-28 10:30:01,206: INFO/ForkPoolWorker-2] fetch_url[d490c4c1-2b0a-4078-8f5a-7abc7f8f96ca]: Fetching http://superset:8088/superset/warm_up_cache/ with payload {"chart_id": 125, "dashboard_id": 22}
[2024-08-28 10:30:01,212: ERROR/ForkPoolWorker-2] fetch_url[d490c4c1-2b0a-4078-8f5a-7abc7f8f96ca]: Error warming up cache!
Traceback (most recent call last):
  File "/app/superset/tasks/cache.py", line 227, in fetch_url
    response = request.urlopen(  # pylint: disable=consider-using-with
  File "/usr/local/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/local/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 405: METHOD NOT ALLOWED

I am experiencing the cache warmup issue in Superset version 4.0.2.
[2024-08-28 10:30:01,206: INFO/ForkPoolWorker-2] fetch_url[d490c4c1-2b0a-4078-8f5a-7abc7f8f96ca]: Fetching http://superset:8088/superset/warm_up_cache/ with payload {"chart_id": 125, "dashboard_id": 22}
[2024-08-28 10:30:01,212: ERROR/ForkPoolWorker-2] fetch_url[d490c4c1-2b0a-4078-8f5a-7abc7f8f96ca]: Error warming up cache!
Traceback (most recent call last):
  File "/app/superset/tasks/cache.py", line 227, in fetch_url
    response = request.urlopen(  # pylint: disable=consider-using-with
  File "/usr/local/lib/python3.10/urllib/request.py", line 216, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/local/lib/python3.10/urllib/request.py", line 525, in open
    response = meth(req, response)
  File "/usr/local/lib/python3.10/urllib/request.py", line 634, in http_response
    response = self.parent.error(
  File "/usr/local/lib/python3.10/urllib/request.py", line 563, in error
    return self._call_chain(*args)
  File "/usr/local/lib/python3.10/urllib/request.py", line 496, in _call_chain
    result = func(*args)
  File "/usr/local/lib/python3.10/urllib/request.py", line 643, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 405: METHOD NOT ALLOWED

I am facing the same problem, also version 4.0.2
Have you found a solution?

Error 405 was due to a change to the API endpoint; the cache code was not updated accordingly. That issue was resolved in #28706 and 4.1.1, but the new Error 400 persists on 4.1.1 due to a missing CSRF token. Waiting on #31173 to fix that.


Nintendo Switch Pro Controller might have incorrect mappings

Nintendo Switch Pro Controller, GUID 030000007e0500000920000000000000, Windows 10
I have been using the https://github.com/williamahartman/Jamepad library, which takes mappings from this database. Everything seems to be working fine, except A, B, X and Y. When I press A, it's recognized as B (and vice versa). When I press X, it's as I had pressed Y (and vice versa).
The current mapping for this controller is:
030000007e0500000920000000000000,Nintendo Switch Pro Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows
That means:

A is button 0 (should be 1)
B is button 1 (should be 0)
X is button 2 (should be 3)
Y is button 3 (should be 2)

Here you can see an example of the correct mapping: https://answers.unity.com/questions/1419842/nintendo-switch-pro-controller-mapping.html
Button layout: https://s2.thcdn.com/productimg/600/600/11396097-7804615740625038.jpg

this is actually working as intended. the inputs are mapped based on button position (relative to an Xbox360 controller), so a/b and x/y are swapped on the nintendo controller layout.

Yes it's working as intended. The database matches the button position, not the name. It gets confusing for the nintendo controllers as they are named identically to the xbox controller.

Why then when I press A it is recognized as B? I don't understand if it's a problem with the controller this library or Jamepad library.

That’s correct, yes. The format goal of this DB (and SDL2) is based on normalising the physical location of buttons on the controller. B on an XInput controller is the right face button, even though it is marked as A on Nintendo controllers. Physical button location/equivelance is given precedent to the letter labels. For example, on Sony controllers, the Circle button would be marked in the DB as B. Getting the device labels to match is not the goal of this repo; doing so requires an additional step (that’s out of scope for this DB) of identifying the controller type and how it’s buttons are labelled. I can’t speak to Jamepad as I don’t know what it purports to accomplish. See the Readme for more examples.


Change icubSim to icub in config file of blf-calibration-delta-updater application

…r app

It was already icub instead of icubSim. Closing.


Make use of DLQs in the ingestor and ID minter

Turns out we already do this with the drive-by policy. When you receive a message from SQS, it goes temporarily invisible, then you need to tell SQS to delete the message. If it issues a message more than N times and it never gets deleted, it’s shunted to the DLQ.
Terraform config for that is here:
https://github.com/wellcometrust/platform-infra/tree/master/terraform/sqs


Reflex says that a variable of type int is of type str and throws a 'TypeError: Unsupported Operand type' error.

Describe the bug
When I do a comparison of a variable of type int with another int I get the following error:
TypeError: Unsupported Operand type(s) for <=: word.at(2)of type str andstate__state.clip_end_time of type int
To Reproduce
Steps to reproduce the behavior:
Run this sample code that demonstrates the bug:

from rxconfig import config
from typing import List, Tuple
import reflex as rx

class State(rx.State):
    """The app state."""

    first_click: bool = True
    clip_start_time = -1
    clip_end_time = -1

    # Annotate sentences with a type that Reflex can understand
    sentence1: List[Tuple[str, int, int]] = [("Amicitia ", 0, 500), ("vera ", 500, 800), ("est ", 800, 1000), ("pretiosior ", 1000, 1500), ("quam ", 1500, 1700), ("aurum", 1700, 2000)]
    sentence2: List[Tuple[str, int, int]] = [("Scientia ", 2100, 2400), ("potentia ", 2400, 2700), ("est", 2700, 2900)]
    sentence3: List[Tuple[str, int, int]] = [("Per ", 3000, 3200), ("aspera ", 3200, 3500), ("ad ", 3500, 3600), ("astra", 3600, 3900)]
    sentences: List[List[Tuple[str, int, int]]] = [sentence1 , sentence2, sentence3]

    def clip_times(self, start_time, end_time):

        # This is the first click
        if self.first_click:
            self.clip_start_time = start_time
            self.clip_end_time = end_time
            self.first_click = False

        # This is the second click
        else:
            self.clip_start_time = min(self.clip_start_time, start_time)
            self.clip_end_time = max(self.clip_end_time, end_time)
            self.first_click = True

def display_sentence(word_tuple):
    return rx.box(
        rx.foreach(
            word_tuple,
            lambda word: rx.fragment(
                rx.span(
                    word[0],
                    # START OF BUGGY CODE
                    background_color=rx.cond(
                        State.clip_start_time != -1,
                        rx.cond(
                            # This is the bug
                            # TypeError: Unsupported Operand type(s) for <=: `word.at(2)` of type str and `state__state.clip_end_time` of type int
                            word[2] <= State.clip_end_time,
                            rx.cond(
                                word[1] >= State.clip_start_time,
                                "yellow",
                                "white"
                            ),
                            "white",
                        ),
                        "white",
                    ),
                    # END OF BUGGY CODE
                    on_click=State.clip_times(word[1], word[2]),
                    cursor="pointer",
                    _hover={"background_color": "yellow"},
                ),
            ),
        ),
        width="100%",
    )

def index() -> rx.Component:
    return rx.fragment(
        rx.vstack(
            rx.foreach(
                State.sentences,
                lambda sentence: display_sentence(
                    sentence,
                ),
            ),
            width="100%",
            spacing="4",
        ),
    )

# Create app instance and add index page.
app = rx.App()
app.add_page(index)

Expected behavior
The comparison should be done without throwing an error error.
Specifics (please complete the following information):

Python Version: 3.11 & 3.12
Reflex Version: 0.3.10
OS: Ubuntu 23.10

I would lvoe to work on tis

@wassafshahzad thanks for jumping in. let us know if you need any help


[improve][action] rm required tag for 'BE UT (Clang)' and 'BE UT (macOS)'

These two checks often cost about 2 hours, which slowed down the CI process,
After discussion， maybe we can rm the required tag first, then set compile with clang in BE UT from TeamCity.

run buildall


Respect HF_HUB_OFFLINE for every http call

At the moment HF_HUB_OFFLINE is only respected when downloading files. This PR makes it used globally for any call to the Hub.
Not respecting it makes it harder to debug things in some cases. For example:

snapshot_download should not make the HTTP call to list the repo files
diffusers should not make a model_info call => see https://github.com/huggingface/diffusers/issues/6089 which would have been easier to investigate

With this PR, any unintended call to the Hub will raise a OfflineModeIsEnabled error. Either the dependent libraries chose to catch it explicitly and default back to another solution or the user gets an explicit error -which is easier when reporting an issue.
cc @sayakpaul as well

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

sounds like a good idea!

Cool, let's get it merged then :)


[HIVEMALL-122] Added tokenize_cn UDF

What changes were proposed in this pull request?
Added tokenize_cn UDF to support word segmentation for Simplified Chinese text
What type of PR is it?
Feature
What is the Jira issue?
https://issues.apache.org/jira/browse/HIVEMALL-122
How was this patch tested?
unit tests, manual tests
How to use this feature?
udf

Coverage increased (+0.06%) to 40.186% when pulling 5eb80373641920428d9f95f54b726995e89e8443 on partyyoung:master into 9f01ebf20c74559be8a50d459103118a51c229bf on apache:master.

Hi @partyyoung
Thank you for your contribution!
Could you describe usage in https://github.com/apache/incubator-hivemall/blob/master/docs/gitbook/misc/tokenizer.md ?
npm install -g gitbook-cli
cd docs/gitbook; gitbook serve to check the user guide.
Also, sec 2.3. can be renamed as Text Tokenizer.

Also, tokenize_cn should be added in ddls.
grep tokenize_ja in the directory for reference.

Coverage increased (+0.06%) to 40.186% when pulling e24c4fcc7c76d78ca0d8f2a18a5e7316318d0819 on partyyoung:master into 9f01ebf20c74559be8a50d459103118a51c229bf on apache:master.

Coverage increased (+0.06%) to 40.186% when pulling e24c4fcc7c76d78ca0d8f2a18a5e7316318d0819 on partyyoung:master into 9f01ebf20c74559be8a50d459103118a51c229bf on apache:master.

@partyyoung Thank you for fixing!
@takuti Could you review this PR and merge if it's looks good to you (for your experience as PPMC).
Here is a typical flow for merging a pull request to ASF git.
git checkout master
git checkout -b bug123
git pull http://repourl.git branch
git log | grep "Author" | head -1
git checkout master
git merge --squash bug123
git commit -a --author="Author<EMAIL_ADDRESS>--message="Close #1: fixed a bug in xxx"
git push origin master

@myui sure!

@takuti i am fixing these typos above. thank you.

Coverage increased (+0.4%) to 40.564% when pulling efc3a6deecdc65eebf6946c6b1efb253debdca1b on partyyoung:master into 9f01ebf20c74559be8a50d459103118a51c229bf on apache:master.

@partyyoung Merged. Thank you for your contribution!

It seems that code identification is strange in the latest commit. I'll fix it.
Better to apply mvn formatter:format.

@myui Yep, that's why I've created another PR #92. As long as coding guideline is not clearly specified, we should not force contributors to follow specific coding convention :)

Apply mvn formatter:format should be commented in the contribution guide.

@myui It is! https://github.com/apache/incubator-hivemall/pull/92/files#diff-04c6e90faac2675aa89e2176d2eec7d8


Implement engine example showing stencil buffer functionality

We don't have any example of how to use stencil, and that means no test to make sure we don't break it. It'd be great to add something.

Does this count:
https://github.com/playcanvas/engine/blob/master/examples/graphics/portal.html

yep it does :)
Thanks!


replace usage of Box with impl Trait

addresses some TODOs in the code

Thanks for starting this!
I've been very conservative with requiring new compiler versions, so I hadn't done this yet. I'd been meaning to look into if it was possible maybe with a macro and and config set at in build.rs to use Box<Trait> until 1.26, when it can become impl Trait.

added a cfg to allow building on rust 1.21 as requested

Removed change to ResponseFuture


fixed hash syntax

fixed hash syntax to Ruby 1.9 syntax

Wonderful, thanks @askl56!
Where abouts did you find out about the project if you don't mind me asking?

:+1:

Trending on github explore.
I can share my little script if you want.

@askl56 yeah that would be awesome.

find . -name \*.rb -exec perl -p -i -e 's/([^:]):(\w+)\s*=>/\1\2:/g' {} \;

Nice, that looks handy

Perl does have its uses.

Andrew is it alright if I shoot you an email?

Sure<EMAIL_ADDRESS>

Sent you an email, did you get it?

@askl56 I did, I've just not had time to reply yet, in the middle of buying a house at the moment, will get back to your this weekend.

Thanks man, sorry i wasn't chasing you up just my email account is occasionally temperamental. Look forward to hearing back.


Replace Shared Preferences with Jetpack Datastore

Motivation
Shared Preferences on Android is slow and is bound to be buggy as it fail without warning. Jetpack Datastore solves this issue
Description
https://android-developers.googleblog.com/2020/09/prefer-storing-data-with-jetpack.html?linkId=98693079

AsyncStorage uses SQLite

@Krizzu  Thanks for letting me know


Bouncy Castle 1.57 resolves several CVEs

https://www.bouncycastle.org/releasenotes.html (Section 2.2.4)
Updating the org.bouncycastle:bcprov-jdk15on depedancy from  1.55 to 1.57 improves the security of auth0/jwt

not really. It's just used for the tests. 😄


Downgrade Vite version in Vite 2 example

The package update wrongfully changed the Vite version in the Vite 2 example to Vite 3. This PR reverts this.

Whoops, I should have seen that one coming.

@tobias-tengler how do you feel about disabling dependabot on the example repository? The amount of noise dependabot makes it getting pretty annoying.

@oscartbeaumont Really good. It's quite annoying indeed :D

From a quick search it doesn't seem possible to just ignore sub directories. I'm fine with just disabling it all together as well though 🤪

I think we should just disable it for the examples for now, and leave it on the main package. I have been building DIY dependabot for new projects (Using GH Actions) so that it only ever creates one PR at a time and I am going to need to build that for the Typescript part of rspc so I will bring that over to vite-plugin-relay when I am finished building it.


Error parsing some types of related anime

Anime IDs being: 21, 22, 80, 85, 86, 87, 189, 195, 232 and possible others.
All return same errors.

Issue found & Resolved
Same problem as https://github.com/irfan-dahir/jikan/issues/27
Some related animes, have commas in their names. This breaks explode().


MQTT Client

Take the wrapped mqtt client in the crt and additionally wrap it in a client in the client runtime to be used by IOT device SDKs. Get IOT device SDKs working and functional for delivery
internal id: 176365361

Is there a way to use the MQTT client as in the boto3 python sdk? I am trying to publish to a topic from a swift lambda. In boto3 it looks like this:
import json
import boto3

client = boto3.client('iot-data', region_name='us-east-2')

def lambda_handler(event, context):
    response = client.publish(
        topic='topic',
        qos=1,
        payload=json.dumps({"foo":"bar"})
    )
    return {
        'statusCode': 200,
        'body': json.dumps('Published to topic')
    }


fastapi-jwt on pypi is still 0.1.8 and not 0.1.9

Hi there,
Glad to see a new release with Python 3.11 support - but seems the release does not go up to pypi : https://pypi.org/project/fastapi-jwt/ is still on 0.1.8.
Despite the github-actions being in place, seems something did not work for the release.
Could you please review this and publish the latest package on pypi too ?
Thanks a lot !

Maybe an explaination : VERSION (https://github.com/k4black/fastapi-jwt/blob/main/VERSION) is still 0.1.8
And installing 0.1.9 package is also seen as installing 0.1.8 version:
❯ poetry add https://github.com/k4black/fastapi-jwt/archive/refs/tags/0.1.9.tar.gz

Updating dependencies
Resolving dependencies... (7.9s)

Writing lock file

Package operations: 0 installs, 1 update, 0 removals

  • Updating fastapi-jwt (0.1.8 -> 0.1.8 https://github.com/k4black/fastapi-jwt/archive/refs/tags/0.1.9.tar.gz)

Thank you! Fixed!
Now it's 0.1.12

You're welcome - glad it's fixed !


cmake nuttx binary naming fix

@LorenzMeier - With this PR the nuttx binaries (.px4) are now named in the same form QGC expects for S3. For example px4fmu-v2_default is now named px4fmu-v2_default.px4 instead of nuttx-px4fmu-v2-default.px4 which was then erroneously renamed to px4fmu-v2-default.px4.
The naming of the binaries uploaded to S3 for QGC has been wrong for about 2 weeks now. Dashes instead of underscores.

@LorenzMeier I'm going to merge this to fix QGC master flashing.
If for some reason the new naming isn't acceptable I'll revert (back to${OS}-${BOARD}-${LABEL}.px4) and find a different fix.


trying to understand impact of vector<bool> performance

Sorry for opening yet another issue, but I figured this is better than to continue adding messages to the already closed PR #20.
I was wondering whether vector<bool> being poorly compiled could have affected evaluation results in earlier papers. It certainly would be unfortunate to accidentally have reported needlessly slow results.
To explore this further, I compiled the latest v3.0 branch and the index_set-optimization branch on our group's main Linux compute machine and compared the runtime performance with hyperfine.  To my surprise (and maybe relief), I didn't see a significant difference:

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest benchmarks/jobset-log-uniform-discrete_69.csv
204.8 ± 4.9
200.4
220.8
1.03 ± 0.06

SAG-bitfield/build/nptest  benchmarks/jobset-log-uniform-discrete_69.csv
198.9 ± 10.2
179.4
221.6
1.00

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest benchmarks/jobset-log-uniform-discrete_73.csv
24.6 ± 3.2
10.2
27.8
1.00

SAG-bitfield/build/nptest  benchmarks/jobset-log-uniform-discrete_73.csv
25.1 ± 1.6
14.1
27.2
1.02 ± 0.15

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest benchmarks/jobset-log-uniform-discrete_94.csv
17.9 ± 1.6
11.1
24.7
1.00

SAG-bitfield/build/nptest  benchmarks/jobset-log-uniform-discrete_94.csv
18.0 ± 1.1
10.8
19.7
1.00 ± 0.11

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest benchmarks/jobset-uniform-discrete_29.csv
148.3 ± 5.1
129.2
153.6
1.00 ± 0.04

SAG-bitfield/build/nptest  benchmarks/jobset-uniform-discrete_29.csv
148.1 ± 2.7
143.3
154.6
1.00

The compiler is identified as GNU 10.2.1.  It appears that this version is compiling the vector<bool> code just fine.
What compiler versions did you see major slowdowns with?

I have used GCC versions 11.4 and 12.3. But the time that you get for these job sets is too fast. (I am still thinking you were probably not using -m 4 option (these examples as I mentioned in #20 are for 4 cores). Because for example for jobset-log-uniform-discrete_69.csv I get this output:
jobsets/jobset-log-uniform-discrete_69.csv,  1,  68767,  1110411,  2843423,  1001,  2625.695838,  54.609375,  0,  4

Yes, the table shows the full invocation. I did not specify -m 4; I missed your comment.

I'm seeing this output now (on macOS):
# file name, schedulable?(1Y/0N), #jobs, #nodes, #states, #edges, max width, CPU time, memory, timeout, #CPUs
benchmarks/jobset-log-uniform-discrete_69.csv,  1,  68767,  1031793,  1111366,  2844642,  1001,  5.074074,<PHONE_NUMBER>00,  0,  4

It agrees in outcome and #jobs, but not #nodes nor #edges. Is that reasonable? How is that possible?

I guess this is the result that you got with v3.0 branch. right? The result I mentioned in the previous comment was for the master branch.
For me also the v3.0 branch which uses the new method gives the same result as you:
jobsets/jobset-log-uniform-discrete_69.csv,  1,  68767,  1031793,  1111366,  2844642,  1001,  4.936089,  70.277344,  0,  4

Here's the outcome of the rerun with -m 4 on my 2017 iMac with XCode's clang version:

Command
Mean [s]
Min [s]
Max [s]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_69.csv
5.659 ± 0.217
5.401
6.117
1.00 ± 0.04

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_69.csv
5.633 ± 0.086
5.438
5.765
1.00

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
520.7 ± 17.0
503.6
557.2
1.02 ± 0.04

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
511.1 ± 12.6
491.2
529.0
1.00

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
366.5 ± 7.7
351.8
374.7
1.01 ± 0.03

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
361.6 ± 7.5
350.2
376.2
1.00

Command
Mean [ms]
Min [ms]
Max [ms]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
727.8 ± 9.0
716.4
743.0
1.00

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
751.2 ± 29.6
710.9
807.6
1.03 ± 0.04

So at least it's still the case that there's no major performance difference on macOS.

Unfortunately, the Linux numbers I get now confirm the issue also for g++ 10.2.1. It's rather shocking how big the difference is.

Command
Mean [s]
Min [s]
Max [s]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_69.csv
433.015 ± 0.270
432.657
433.591
116.65 ± 1.38

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_69.csv
3.712 ± 0.044
3.680
3.813
1.00

Here are updated numbers from Linux. Out of curiosity, I also compiled the two SAG versions with clang++ version 18.1.8 (which is very recent), to see if g++ really is the culprit.

Command
Mean [s]
Min [s]
Max [s]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
3.180 ± 0.029
3.149
3.257
9.68 ± 0.29

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
0.328 ± 0.009
0.311
0.337
1.00

clang++/SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
4.008 ± 0.010
3.989
4.017
12.20 ± 0.35

clang++/SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_73.csv
0.378 ± 0.011
0.362
0.386
1.15 ± 0.05

Command
Mean [s]
Min [s]
Max [s]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
1.596 ± 0.020
1.576
1.642
6.97 ± 0.18

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
0.229 ± 0.005
0.211
0.232
1.00

clang++/SAG-v3/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
2.006 ± 0.011
1.991
2.017
8.76 ± 0.21

clang++/SAG-bitfield/build/nptest -m 4 benchmarks/jobset-log-uniform-discrete_94.csv
0.259 ± 0.002
0.256
0.261
1.13 ± 0.03

Command
Mean [s]
Min [s]
Max [s]
Relative

SAG-v3/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
33.472 ± 0.078
33.357
33.585
67.90 ± 1.24

SAG-bitfield/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
0.493 ± 0.009
0.473
0.500
1.00

clang++/SAG-v3/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
41.914 ± 0.148
41.638
42.149
85.02 ± 1.56

clang++/SAG-bitfield/build/nptest -m 4 benchmarks/jobset-uniform-discrete_29.csv
0.521 ± 0.011
0.501
0.533
1.06 ± 0.03

This shows a couple of interesting things:

The new bitfield variant is always the quickest. So as @gnelissen already observed, between these numbers and his observations on Windows, theres is no reason to keep any other implementation around.
The most recent stable clang actually has the very same issue as g++. Yet clang works just fine on macOS. This strongly suggests that the issue is in the STL implementation, and not in the compiler. (AFAIK clang++ and g++ use the same GNU standard library on Linux, but a different one on macOS.)
clang++ produces moderately longer runtimes than g++ does. So for SAG g++ is still the preferred compiler.


Verify source key exists on CopyObject and CopyObjectPart

Description
See subject.
Related Issue
Fixes #459
Tasks

[x] I have signed the CLA.
[x] I have written tests and verified that they fail without my change.

Thanks for that quick fix 👍


Could not analyze layer: POST to Clair failed Post http://clair:6060/v1/layers: dial tcp: lookup clair on <IP_ADDRESS>:53: server misbehaving

Just wanna mention, if I or anyone else get similar issue because it was kind of frustrating.
This was working up, to a while ago. But then suddenly:
$ docker run -p 6060:6060 --net=scanning --link db:postgres -d --name clair arminc/clair-local-scan:v2.1.6_3bfb31ea61aa42eeb836354976065ccea308707e ; sleep 10
7b7XXxxxxxxxxXXXXXXxxxxxxXXXXXXxxxxxxXXXXXXxxxxxxXXXd7ed
$ docker run --net=scanning --rm --name=scanner --link=clair:clair -v '/var/run/docker.sock:/var/run/docker.sock' $SCANNERIMAGE --clair="http://clair:6060" --ip="scanner" -t Medium $IMAGE
2021/05/27 20:41:59 [INFO] ▶ Start clair-scanner
2021/05/27 20:45:52 [INFO] ▶ Server listening on port 9279
2021/05/27 20:45:52 [INFO] ▶ Analyzing 239XXxxxxxxxxXXXXXXxxxxxxXXXXXXxxxxxxXXXXXXxxxxxxXXXcbcf
2021/05/27 20:45:52 [CRIT] ▶ Could not analyze layer: POST to Clair failed Post http://clair:6060/v1/layers: dial tcp: lookup clair on <IP_ADDRESS>:53: server misbehaving

I spent probably half a day chasing the error in the wrong end and eventually I started digging in the specific version being used and updated the image to the latest tag:
arminc/clair-local-scan:v2.1.7_5125fde67edee46cb058a3feee7164af9645e07d
And it worked.
I have no insight in why it broke, but updating fixed it.
You can close the issue.
Br, Jorge

Or I can close it myself.


Fixed TS_INFO_PACKET

Those fields exclude the length of the mandatory null terminator:

cbDomain
cbUserName
cbPassword
cbAlternateShell
cbWorkingDir

According to MS-RDPBCGR section <IP_ADDRESS>.1.1, cbDomain,  cbUserName, cbPassword, cbAlternateShell and cbWorkingDir should exclude the length of the mandatory null terminator.
And the example capture in section 4.1.10 also shows the fact:

09 04 09 04 -> TS_INFO_PACKET::CodePage = 0x04090409
Low word = 0x0409 = 1033 = English (US)
Since the INFO_UNICODE flag is set, this is the active language identifier.

b3 43 00 00 -> TS_INFO_PACKET::flags = 0x000043b3
0x000043b3
= 0x00000001 |
  0x00000002 |
  0x00000010 |
  0x00000020 |
  0x00000080 |
  0x00000100 |
  0x00000200 |
  0x00004000
= INFO_MOUSE |
  INFO_DISABLECTRLALTDEL |
  INFO_UNICODE |
  INFO_MAXIMIZESHELL |
  INFO_COMPRESSION |
  INFO_ENABLEWINDOWSKEY |
  PACKET_COMPR_TYPE_64K << 9 |
  INFO_FORCE_ENCRYPTED_CS_PDU

0a 00 -> TS_INFO_PACKET::cbDomain = 0x0a = 10 bytes (not including the size of the mandatory NULL terminator)
0c 00 -> TS_INFO_PACKET::cbUserName = 0x0c = 12 bytes (not including the size of the mandatory NULL terminator)
00 00 -> TS_INFO_PACKET::cbPassword = 0 bytes
00 00 -> TS_INFO_PACKET::cbAlternateShell = 0 bytes
00 00 -> TS_INFO_PACKET::cbWorkingDir = 0 bytes

4e 00 54 00 44 00 45 00 56 00 00 00 -> TS_INFO_PACKET::Domain = "NTDEV"
65 00 6c 00 74 00 6f 00 6e 00 73 00 00 00 ->
TS_INFO_PACKET::UserName = "eltons"
00 00 -> TS_INFO_PACKET::Password = ""
00 00 -> TS_INFO_PACKET::AlternateShell = ""
00 00 -> TS_INFO_PACKET::WorkingDir = ""

@freerdp-bot test


Add Django 1.8 migrations

I'm not a fan of setting the south migrations to blank, instead I'd just move the existing migrations into south_migrations and add the django 1.7 ones to migrations

hi @czpython yeah that's what I did :) I didn't add any blank migrations, I just moved existing ones to the south_migrations folder but in git diff you just see a new add of 0001_initial but it's not mine.

ahh yes you're right. :+1:

:smile: thanks!


busybot: add readme and deploy.yaml

Demo busybot
This is a simple app to fill the demo environment with dummy data. Here's what it does:

List files and read a random set of 5 files.
Write a random set of 5 files; allow overwrites.
List files and delete a random set of 2 files

Each file is of size 50MB. The files are numbered 00-99.
This will be run using a k8s cronjob every two minutes. The yaml file for the cronjob is included in this folder. CephFS is used since filesystem interface is the easiest to use. We will echo the time it took to write/read each file into logs. To ensure the whole file is read, an md5 will be calculated and out in logs.

The file busybot.deploy.yaml is currently manually deployed. We'll add flux integration later.


Broken wasm build due to std::process::id function call, is this a bug?

WASM build is broken in my project since upgrading wgpu-profiler. I guess it's been 'broken' since https://github.com/Wumpf/wgpu-profiler/pull/30.
I'm not sure how you would like to proceed with this. On the one hand, I could probably find a way to never call wgpu-profiler functions from wasm builds. On the other hand, it was pretty nice being able to compile to web with no extra work required.
What do you think?

oof yeah definitely a bug. Should:

add wasm build to ci
make pid gathering native-only


Cleanup documentation site

GitHub now nicely generates a documentation site for us at https://brew.sh/brew based on our docs folder. Optimise the output of this and the GitHub docs directory for readability and the various user groupings.

The link you just mentioned causes Safari (on Sierra) to give the ol' "Can't verify that the server is who they say they are, do you want to continue?" rigamarole.

@chdiza I added an https accidentally.

✨ to suggestions (and very open to feedback):

You may want to gitignore the Gemfile.lock so that local builds build with the latest version, not the cached version (since you're essentially using the GitHub Pages gem as your lockfile).

You may want to consider docs.brew.sh (just edit the CNAME via settings here and with your DNS provider). I can't articulate any specific technical advantage, other than docs.brew.sh is a lot cleaner to me than brew.sh/brew (and matches other large open source projects which have a marketing / quickstart site at the TLD and docs on subdomains).

@benbalter Great, thanks for suggestions, done them all.


SSL Verification error when using async ContentSafetyClient

Package Name: azure-ai-contentsafety
Package Version: 1.0.0
Operating System: Linux
Python Version: 3.11.9

Describe the bug
When using the azure.ai.contentsafety.aio.ContentSafetyClient the SSL verification fails with the message '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)')]. This error only occurs when the application is running in a linux based docker container. On the local setup (Mac) the application works fine.
Note: We recently changed the ContentSafetyClient to the asynchronous client. Before this change there was no issue with SSL verification either on local machine or docker container.
Screenshot of the exception:

Can you please guide to help resolve this issue?
To Reproduce
Steps to reproduce the behavior:
1.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Note: We recently changed the ContentSafetyClient to the asynchronous client. Before this change there was no issue with SSL verification either on local machine or docker container.

@xiangyan99 Any idea why this change causes it? I would have assumed that both the synchronous and the asynchronous client rely on the presence of the same certs when establishing the connection and verifying Azure's SSL certificate.

/unresolve

/unresolve

Sorry for the chaos, it tooks us some time to unresolve this issue due to other things.
@xiangyan99 I'd still be interested in understanding what caused this problem in the first place. If only using the asyncio client surfaces this issue, it sounds to me like the sync client could hide the issue, which sounds problematic. See my original comment: https://github.com/Azure/azure-sdk-for-python/issues/36955#issuecomment-2304293899.
@Eitol May also have had a question?


Implement /expired page

Ticket
Resolves FFS-1437.
Changes
The designs weren't ready when I initially implemented link expiry.
Let's implement them now.
Since the @cbv_flow is not available, we pass the site_id as a param
to the expiration controller.
Context for reviewers
N/A
Testing
Tested locally that an expired link takes us to the right version of the page.

@carmenrosalop


Failed to find target with hash string

Hello,
I tested the add-on example. I've no issue generating the add-on sdk. But while deploying it to Android Studio, I'm facing challenge.
Its showing up in my SDK Manager, but when I'm adding the following in my App's build.gradle :
compileSdkVersion 'Profusion:ProfusionAddOn:30'
Then my compilation is failing with the following error :
Failed to find target with hash string Profusion:ProfusionAddOn:30
Can you please help me on how to use this Addon SDK on Studio or how to resolve this error.
Thanks

Could you please report here the full error message please?


Ft/views

FEATURE DESCRIPTION
TASK
In this project, I  add the Views associated with the Models and Controllers I've already created for my Blog App.
Cheers
Happy Review

Hey @review, I build the project design in mobile, Please consider that while doing a review. I will make sure to fix and add the desktop version late as I'm running behind the deadline. thanks for understanding


ignore  in PDF

https://github.com/metanorma/metanorma-iso/issues/595 is forcing the introduction of <span> markup into Presentation XML, to enable the addition of character span markup with semantic styling for DIS Word output. This markup is to be ignored in all other destinations of the ISO Presentation XML: <span> is to be parsed as a parse of its children.

Done.