Bug: editor does not update textures on models Or rendered incorrectly when resizing a texture sheet.

It's a bit of a problem, but it might confuse newbies who try this mod.
-Just the editor doesn't rendered correctly.
-Editor doesn't update texture on model when resizing Texture Sheet Size in Skin Settings menu.
(Nothing happens when adjusting numbers.)
-Still update when reloading the model (Save and load the file) or use any 4 button on Skin Settings.
-If using the new skin and do copy old texture and then when the texture is updated the textures are not rendered correctly.
(Like size or position UV not updating and messed up)
-Need to reload the model or use the Open Skin button to fix issues.
-Delete skin sometime not work. If it happens, it must be reloaded before deleting.
-When tested in games, UV and textures always render correctly.
(upscaling and reducing texture sheet or texture skin still work fine).
-GUI show skin UV and textures are still ok.
more info
-File Latest.log Looks good, no errors related to cpm.
-I'm not using any shader mod.
-I don't use mods that modify network packages.
-Tested in single player mode.
-fabric-loader-1.19 (loader version 0.14.8)
-fabric-api-0.58.0+1.19.jar
-CustomPlayerModels-Fabric-1.19-0.4.5a
https://user-images.githubusercontent.com/51751845/183263684-a7ae4e10-d543-4bfa-9002-71867d7b8af7.mp4

and i found a problem on the web editor as well.
https://tom5454.com/cpm/editor.html


chore: remove some lying types

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


event-hubs SDK consumer subscribe ignores maxBatchSize in 5.10.0

Package Name:  @azure/event-hubs
Package Version:  5.10.0
Operating system:
[x] nodejs

version: 18.14.1, 20.2.0

[ ] browser

name/version:

[x] typescript

version: 4.9.5

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[ ] SDK API docs on https://docs.microsoft.com

Describe the bug
The maxBatchSize we set to 128 but the SDK 5.10.0 ignores it and invokes the consumer functions every 10-20 milliseconds for every single message. A batch of messages appears only when our consumer function cannot catch up. The maximum number of messages in a batch we see was 3.
The maxBatchSize works well in 5.8.0. So we downgraded to that version and fixed it to exactly this version.
To Reproduce
Steps to reproduce the behavior:

Register to a eventhub and subscribe with maxBatchSize of 128 and maxWaitTimeInSeconds of 10
Send single events into the eventhub every few milliseconds
Watch your consumer function how often it is invoked and how many messages it receives.

      const clientOptions: EventHubConsumerClientOptions = { retryOptions: { maxRetries: 4, retryDelayInMs: 30000 } };
      consumerClient = new EventHubConsumerClient(
          iotConsumerGroup,
          connectionString,
          eventHubsCompatiblePath,
          checkpointStore,
          clientOptions
        );
      this.subscription = consumerClient.subscribe(
        {
          processEvents: handleTelemetryMessages,
          processError: printError
        },
        {
          maxBatchSize: config.telemetry.maxBatchSize,
          maxWaitTimeInSeconds: config.telemetry.maxWaitTimeInSeconds || 10
        }
      );

Expected behavior
The consumer function is expected to be called with at least 128 messages or after 10 seconds.
Additional context
Works well in 5.8.0 which we used for a year (or so) until last week.

@SimonX200 am I correct in understanding you that you want the minimum batch size / wait time to be 128 messages and 10 seconds? From the name "max" I take it to mean that batches will be no larger than 128 messages or older than 10 seconds.

@SimonX200 am I correct in understanding you that you want the minimum batch size / wait time to be 128 messages and 10 seconds? From the name "max" I take it to mean that batches will be no larger than 128 messages or older than 10 seconds.

I hope the following clarifies your question:
I want that a call of the processEvents function gets a batch of messages.
The batch should be as large as possible considering maxBatchSize and maxWaitTimeInSeconds.
As I wrote above, currently the processEvents function gets almost always single messages to process.
(Which is very bad because inserts to a database are single inserts then)
You can write following test scenarios to verify this issue:

Push 100 messages/second into the eventhub; Verify that processEvents is usually called with a batch of nearly 128 messages
Push 1 messages/second into the eventhub; Verify that processEvents is usally called after 10 seconds with a batch of nearly 10 messages.

@SimonX200 Thanks for sharing. Event Hubs as a service tries to maximize throughput so clients can process incoming events as soon as possible. In<EMAIL_ADDRESS>we made the decision to better realize this goal in the SDK by returning received events faster than before by not waiting until maxBatchSize has been received.
What you describe though, unlike what maxBatchSize controls, is a minimum batch size control where each batch has to be at least of a certain size. To help me better understand your use case, did you consider buffering up the received events in your application code where you can have full control over the number of roundtrips to the database?

We did not consider caching events in the application as it is (and must be) stateless.
The reason for that:

The Azure EventHub SDK provided this for 4 years as standard. So we had no need even think about such caching.
No cleanup/flush of caching on restart.
Code is completely stateless.
At the end of a batch we performance the necessary checkpoint update we can rely on for a restart.

I am quite certain that batching is a necessary feature by most eventhub consumers if they want to forward messages somewhere (database or not) and this SDK change will have a negative performance effect.

@deyaaeldeen how costly would it be to have a way to opt-in to something like the previous behavior? I confess, it's not clear to me how older versions decided when to yield events.
@SimonX200 could you give us a few more details of how you are using the Event Hubs client so we can make sure we're understanding your usage pattern? I feel like there might be others who have come to rely on the "slow" batching we did previously.

@xirzec there was a discussion about adding such a parameter before but it didn't materialize. I can resume the discussion once we have more information.
@SimonX200 Thanks for sharing! I wonder when you say "stateless", do you imply you're using an Azure Functions? With Functions, you can set a minimum batch size by setting minEventBatchSize in the configuration json as explained in https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-hubs?tabs=in-process%2Cextensionv5&pivots=programming-language-javascript#hostjson-settings
If not, could you please share more about your use case and what type of infra your app runs on?

We are using the buildin EventHub of the Azure IotHub. The IotHub processes about 1M messages a day and growing. Or application runs as kubernetes pod to transfer and preprocess the IotHub Data into a persistent database. The default IotHub has two event partitions, so the subscribe-code from above spawns two processEvents eventually (one for each partition).
By stateless I mean that each message once processed in gone from the pod.
The only persistent state is the checkpoint to be able to recover the event position on re-subscribe.
@deyaaeldeen since you mentioned that Azure Functions have already a parameter minEventBatchSize wouldn't it be logical to provide such thing in the SDK too?

@SimonX200 Thanks for sharing! I think I understand your use case better now and I added your request to our feature requests list.

Hi @SimonX200<EMAIL_ADDRESS>has been released with support for improved consumer performance as it now prefetches events instead of asking the service for the exact number of events every time it reads. Please give it a try and let me know if that alleviates your concern.
Also, let me know if you have any further questions about application-side event buffering.

Sorry for the late answer. I will now be able to use it.
What exactly will the SubscribeOptions.prefetchCount do? I have problems understanding that from the attribute comment.
Will it wait for (events>=prefetchCount)  OR (events>=maxBatchSize) OR (last-call older than maxWaitTimeInSeconds) before invoking processEvents?

I am glad that you're able to use it!
Regarding prefetch, it just controls the flow of events over to the Event Hubs client. The higher the value you choose for it, the higher the throughput your application enjoys as long as enough events are actually sent to the hub/paritioin.

Will it wait for (events>=prefetchCount) OR (events>=maxBatchSize) OR (last-call older than maxWaitTimeInSeconds) before invoking processEvents?

The wait before processEvents invokation is not directly related to the prefetch count in the sense that processEvents will be invoked every few milliseconds as long as there is at least one event received. prefetchCount influences the number of events sent to the processEvents callback in the sense that the larger the queue of prefetched events, the larger the number of events sent to the processEvents call. maxBatchSize sets an upper bound on the batch size so if after a few milliseconds, the number of prefetched events is maxBatchSize + n, then only maxBatchSize events will be sent to processEvents. maxWaitTime controls the wait time before sending an empty batch to processEvents. This behavior serves as a health pulse to your application so it doesn't wait indefinitely in case no events were sent to the event hub.

Hi @SimonX200 I am closing this issue for now but please feel free to re-open if you would like to continue the discussion.


DVR with green bars

Hi, after updating my HDZero goggles to the latest firmware version, sometimes the DVR recordings have green bars on the left and bottom sides, similar to the screen info. I'm using the Rev20240816 firmware. I never had this issue before. It happens with both analog and HDZero systems.

log.zip

Please refer https://github.com/hd-zero/hdzero-goggle/issues/432


Fix #74

Description
Before this PR a bug was occurring

If the target location is a multi-valued attribute for which a
value selection filter ("valuePath") has been supplied and no
record match was made, the service provider SHALL indicate failure
by returning HTTP status code 400 and a "scimType" error code of
"noTarget".

We were adding a new item into the array when we should return a NoTarget error.
Changes include

[x] Bugfix (non-breaking change that solves an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking changes (change that is not backward-comptible and/or changes current functionality)

Closes issue(s)
Resolve #74
Checklist

[x] I have tested this code
[x] I have added unit test to cover this code
[ ] I have updated the Readme
[x] I have followed the contributing guide

This looks good to me! I think the new tests you added verified that the adding fields to a complex object is still supported, so I think this covers all the bases.

This looks good to me! I think the new tests you added verified that the adding fields to a complex object is still supported, so I think this covers all the bases.


[web]: Trying to use web support to test application.

Could not load content for org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_primitives.dart (HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME)

Hi @dholiya
can you please provide flutter doctor -v, flutter run -v, and minimal reproduction code?
Thanks.

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Remove Jasmine, there are no JavaScript tests

There are no javascript tests, remove jasmine and its configuration.

Undoes 99a9b25bca857bf9f80dd9faf7a7b18d7794567e (https://github.com/alphagov/specialist-frontend/pull/4)
PR In favour of updating jQuery (https://github.com/alphagov/specialist-frontend/pull/96)

cc @tommyp

:+1:


chore(feat-multi-module-components): release 0.76.6

:robot: I have created a release beep boop
0.76.6 (2022-11-18)
BugFixes

Add tflint ignores (#32) (8c9e885)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/vincenthsh/fogg/releases/tag/v0.76.6 :sunflower:


[DO NOT MERGE] POC: Revamped autocomplete

Description

[!TIP]
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.

Fixes #34921
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test tags=""
:mag: Cypress test results

[!CAUTION]
If you modify the content in this section, you are likely to disrupt the CI result for your PR.

Communication
Should the DevRel and Marketing teams inform users about this change?

[ ] Yes
[ ] No

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true recreate=true

/build-deploy-preview skip-tests=true recreate=true

/build-deploy-preview skip-tests=true recreate=true

Something seems messed up with this PR, not able to create DP, closing this one and reopening new PR.


"minecraft" folder can be ".minecraft"

Hi ! In a recent update (0.6.0), multiMC changed the default name of the instance directory from "minecraft" to ".minecraft". Instances with "minecraft" directory are still supported but new ones are now created with the dot.
The problem with mmc-export is in "parser.py", line 51. Here you only accept "minecraft" folders for the overrides, so we can't export overrides from modern instances.
It should be able to read either from "minecraft" or ".minecraft".

As far as I remember it always was .minecraft at least in windows. And pathlib handles everything without any problems.
Does it actually throw any errors?

Can confirm that using .minecraft instead of minecraft will make mmc-export ignore config folder in the Modrinth export.

Can someone please test latest patch? I have some problems with my current dev environment, so I can't do it myself.

Works for me now.

So, I guess I can close the issue now? I'll wait till tomorrow for more responses, if nothing happen I'll close it.


Extend user profile editor to allow editing of bio, address, etc.

Type of change made:

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactoring (improves existing functionality)
[ ] Testing (tests existing code or improves existing tests)
[ ] Styling (no functionality changed, just visual improvements)

Description:
This PR changes a few lines, specifically in the GraphQL queries of user/api/actions.js, to allow the user to change their profile information, as well as see that information displayed on their page.
What functionality does this accomplish?

Allows user to edit all of their profile info

closes #26
Checklist:

[x] My code has no unused/commented out code
[x] I have reviewed my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have fully tested my code
[x] I have partially tested my code (please explain why):

Need profileeditor tests

Does this PR also add the ability to display the newly added information on the User Profile page (bio, address, image)? I don't see that in the PR description.

It does! Let me add that.

I think it would be a good idea to be a little more detailed in general in regard to the description and functionality sections of the PR template.

If we are adding testing should we also indicate that using the provided checkbox?


[simde] update to 0.8.0

Fixes #37444
Note: no feature need to test.

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[ ] The "supports" clause reflects platforms that may be fixed by this new version.
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the update!


Education screen updated with images

Issue

Link: https://github.com/NebraLtd/maker-starter-app/issues/11
Summary: Update onboarding education carousal images

How

Added the images to the asset.
Updated the carousal interface.
imported the education images

Screenshots

References

Checklist

[ ] Tests added
[ ] Cleaned up commit history (rebase!)
[ ] Documentation added
[ ] Thought about variable and method names

@marvinmarnold i have replaced them with higher resolution in png format.


IIS SSL not working after run letsencrypt-win-simple

Hi,
I was running an old version of the great letsencrypt-win-simple on my IIS 2012R2, and all was ok.
Today I've installed the 1.8 over the old one, and created a certificate for a new site. It seems all ok but... every old existing SSL sites do not work anymore!
IIS always respond using the new SSL for every site. Bindings are ok, they refer to right SSL
What's wrong?
The only way I found to solve was

remove the new bending from the web site
delete the new ssl certificate from Windows certificates
then reboot the entire server.

p.s. I made this on two servers: same probl

What version had you been on before 1.8?
Did you try an iisreset?

The exe is <IP_ADDRESS>
Of course, also full server reboot.

That's strange. Has anyone else had that issue? None of my test boxes had any issues like that.

Really strange. And I cannot explain why is this possible, if IIS config seemed ok.
But experimented on two different servers in different environments..

Sometimes IIS likes caching certs, and same with web browsers. I had an issue this weekend where IIS was serving sites with a cert that wasn't on the server anymore, and I had done an iisreset and tried restarting the app pool all to no avail. Eventually after waiting a few minutes IIS started serving the new certificates. Then I had to force refresh my browser and I saw the new certs.

Dit a test on my production server and i van confirm it happens.
Already rolled out a normal certificate (san), today i created a certificate on the same server for another site with --test --san switches and and i got my test certificate served instead of the normal/good cerificate.
I had to delete the test certificaten to het the normal / good certificaten server again.
Though i also noticed rkerber his remarks about caching in the past. An old deleted certificate still was server after deleting.

After looking through some posts on the IIS forum, it looks like if you don't renew the certificate but generate a new one that you have to remove the HTTPS binding and add it back in.
Since the renewal for Let's Encrypt certificates is really a new certificate not a renewal, this is probably why.
I'm thinking a command line parameter to replace HTTPS bindings would probably be the best way to handle it. So when the certificate is generated it knows to replace HTTPS bindings. That can then be saved for renewals.

Should be fixed by #111

I think it's still hapening.
Already i have one site with a certificate (Website A)
executed letsencrypt witch switches --test --san for another site on the same iis server (website B).
Now the test certificate of website B is served when i try to reach website A.
To repair this i have to recreate the binding for website A again.
Kind regards,
Dennis

Are you using the latest source (I pushed a new version this morning File Version <IP_ADDRESS>)? If not, then you need to add --replaceexisting. I changed it this morning so it replaces them by default and you have to tell it that you want to --keepexisting.

Compiled the code yesterday, so i willtry the last build you made.
Thanks!

You can use yesterdays, just you will have to specify --replaceexisting when you run it.

I'm sotty, but still I have problems and cannot understand what it's wrong.
I installed the last release today 1.8.9-pre on a server when I have website A and website B running (quite old) letsencrypt SSL certificates.
Then I did run  --renew. It has upgraded certificated with new one. But now IIS serves BOTH A and B using the SSL certificate of A!
I tried to remove and recreate bindings both from A and from B. Also rebooted the entire server. Nothing: settings in IIS are ok, but it's serving both A and B with same certificate.
I don't understand what also I can do... :((((

What version of IIS are you running?

Windows 2012 R2
An other notice: I have a third website C, running an SSL certificate from Comodo. It's still working well and it's the only website served with a certificate different from the A. It's also the only non letsencrypt website on the server.

You aren't using Central SSL are you?
Also, if you manually update the HTTPS binding, just edit it change something, change it back, hit OK, does that fix it? I noticed that I had to do that with some of my Central SSL bindings even though they are deleted and recreated if the cert changes too much.

no Centralized SSL
Nothing changes :( Still if I remove SNI and make a website the default https one, without host name specified, it's served using the wrong certificate assigned to an other one.

if can help, the Comodo certificate (the only one that works) is in Personal store. All Letsencrypt are in Web hosting store. No duplicates or exipired certificates, or something that seems not ok.

Can you delete the HTTPS bindings for those 2 sites and manually recreate them and see if they serve the correct certificate then? I have noticed on a couple of tests that I had to wait for the App Pool Timeout period for IIS to start serving the new certificate, even after deleting and recreating the HTTPS binding.
There is a setting in the letsencrypt.exe.config file for what certificate store it uses. So you could change that to personal to see if that helps.

Deleted https binding from A and B -> iisreset - > new bindings to A and B -> both are served with same certificate (the one of A).... :(
If I change letsencrypt store to Personal and it brokes the Comodo certificate of C, is really a big disaster so I cannot make this test :(

I have read numerous posts that iisreset, restarting the app pool, and restarting the server won't change the cert. The only way I have seen it work is when the app pool's idle timeout occurs.
The only way changing the certificate store would break the comodo cert is if your hostname for C is the same as for A or B. If so, the app will remove the comodo cert unless you add --keepexisting  when you run the app.
You could also try using the manual plugin, that won't make any IIS changes so you can generate the new certificates for A & B and manually add them in.

Another idea, is that you could generate a SAN cert for both A and B. Then they are both on the same cert so the same cert is valid for both.

Ok, but really is a trick :( How can I do this?
I also tried:

remove bindings
remove certificates from cert store
reboot
import certificates pfx from letxencrypt db to certificate store
created bindings for A and B

Still both respond using A certificates... this doesn't makes really any sense!

I had this problem on a machine and the only way to get new cert bindings quickly, was to

create a self signed cert via IIS manager and
apply that to the affected sites,
remove it again and
manually reassign the let's encrypt certs.

It only happens on one machine and I have no clue why.

I'll see if I can reproduce it on one of my test servers. If so, i'll see if I can get a ticket open with Microsoft for IIS support.
If you want to do a san cert, run it with --san  and then enter s  at the prompt. Then enter the site ID's for both A and B.

@dwtm-ts tried, but same. Also when assigned the self signed, it respond using the wrong one. When I reassign the let's encrypt one, still the same.
Other things I noticed today, maybe useful maybe not.

if I stop the website B, the browser negotiate the connection (using the wrong certificate) then reports a 404. If I start the website, the 404 become the right website content.
I noticed that the website A is the first in ID order (lower ID) in this IIS that has SSL enabled. Maybe the IIS is serving letsencrypt certificate using always the first (this can explain why is using the certificate A and not B, maybe).

However I cannot explain why this behavior is started after letsencrypt has updated certificates for A and B. Really no idea.

I can't imagine that IIS serves the first cert by default since all the bindings look correct. Also netsh http show sslcert outputs correct certs and bindings.
Interestingly this only happens with let's encrypt certs. Sites with certs from other CAs are not affected, but those using let's encrypt will all serve the latest installed cert.
So far this happens only on one machine, without anything special in it's setup. Another identically configured server behaves correctly.

only happens with let's encrypt certs and only to shared port: I tried to bind my website B to port 444 (used only by this site, without SNI), using same letsencrypt certificate used for binding to port 443. On port 444 it uses the right certificate, on 443 the on from site A.

Just did some further tests and it seems that IIS delivers the cert for the highest site ID, not the most recently installed one.
e.g. I installed a san cert for site 5, which worked. Then one for site 7, which got delivered instead of that for site 5 and then one more for site 3. After that, all websites served the cert for site 7.
I hope this helps in pinning down the issue.

Some more info…
Deleting the cert for the highest site ID (7 in the above case) and rebooting the server restores all other bindings and the correct certs are delivered for all sites. Manually reinstalling the site 7 cert didn't work this time. After doing that, all sites served the wrong certificate again.
I compiled the current source code of letsencrypt-win-simple, btw.

I got a test machine to reproduce it with the latest code.
Just for fun I tried version 1.7 and I don't see the issues with that. I have a couple of ideas where the problem might potentially be. I'll see if I can narrow it down.

If you run it with --keepexisting  does it still mess up the cert for the other sites?

Running letsencrypt --san --keepexisting had an interesting side effect just now:

letsencrypt requested certs for site n+1 (I typed 3, it took 4)
while committing binding changes to IIS, the following exception was thrown (sorry for german):

System.ComponentModel.Win32Exception (0x80004005): Eine angegebene Anmeldesitzung ist nicht vorhanden. Sie wurde gegeben enfalls bereits beendet     bei Microsoft.Web.Management.Utility.HttpApiWrapper.CreateSSLBinding(IPEndPoint endPoint, String hostName, HTTP_SERVI CE_CONFIG_SSL_PARAM_MANAGED allSSLData, SslFlags sslFlags)    bei Microsoft.Web.Management.Utility.HttpApiWrapper.CreateSSLBinding(IPEndPoint endPoint, String hostName, Byte[] certificateHash, String certificateStoreName, SslFlags sslFlags)    bei Microsoft.Web.Administration.BindingManager.BindingTransaction.Commit()    bei Microsoft.Web.Administration.BindingManager.Save()    bei Microsoft.Web.Administration.ServerManager.CommitChanges()    bei LetsEncrypt.ACME.Simple.IISPlugin.Install(Target target, String pfxFilename, X509Store store, X509Certificate2 certificate) in S:\dev\letsencrypt-win-simple\letsencrypt-win-simple\Plugin\IISPlugin.cs:Zeile 306.    bei LetsEncrypt.ACME.Simple.Program.Auto(Target binding) in S:\dev\letsencrypt-win-simple\letsencrypt-win-simple\Program.cs:Zeile 450.    bei LetsEncrypt.ACME.Simple.Plugin.Auto(Target target) in S:\dev\letsencrypt-win-simple\letsencrypt-win-simple\Plugin\Plugin.cs:Zeile 41.    bei LetsEncrypt.ACME.Simple.Program.Main(String[] args) in S:\dev\letsencrypt-win-simple\letsencrypt-win-simple\Program.cs:Zeile 363.

Aside from the error it seems that the existing bindings for the other sites weren't affected!

That happens occasionally. If you rerun it it should work just fine.

I think I might have figured out the issue. My last test I was able to run it normally and no issues with the other sites, and it was able to cleanup the cert stores.

alright. --keepexisting worked for another site. Bindings were applied correctly, no other sites affected.
Nonetheless with this option I have to select SiteID-1 in order to get the right site. ;)

Correction: After a few seconds the other sites started to serve the newly created (wrong) cert.

So if the site ID is shown in the list as 8 you have to enter 7?

right.

If you can open another issue for that, i'll look into that separately.

So the fix I found worked for a regular IIS site but not with SAN support. So i'll look at that now.

umm... I can't reproduce the index problem on a different machine. Going to check some more and give you feedback as soon as I know more.

Ok, thanks. I thought I fixed that a few days ago, so I would be frustrated if it was still happening.

The issue with a single site was the existing binding info was being accessed after the binding was removed. However since --keepexisting  doesn't fix the issue with --san  if's probably a different issue.

I might have found the reason for the index problem: the machine has a few dozen sites configured and the san enumeration counts correctly to 19 and then jumps to 21 (…, 18, 19, 21, 22, …). The index is correct up to site 19 and then it shifts.
Shall I open the issue?

Yeah, I was hoping that issue wouldn't occur so i'll have to change some code to get it to work correctly.

Any news? I've some expiring certificates on a server and I don't know how to renew them without broke my entire server. :(
If I install the 1.7?

I did a ton of testing the last few days and I can't get repeatable results. Sometimes the fix worked for a bit, then it didn't, and others it worked every single time.
However, I think the issue is fixed for both SAN and non SAN with the latest source since I couldn't get the issue to occur one multiple test machines last night running the latest source. But I would like someone to help test to let me know for sure.
Also, --keepexisting  has worked for me every time, but not everyone else. The only issue with that is that it doesn't replace an existing HTTPS binding. So the new certificate will not take effect until the App Pool reaches it's idle timeout time. that's the only way I have ever seen IIS change the certs, rebooting the server, recycling the app pool, iisreset all don't work. Only waiting for the idle timeout period to terminate it works.
v 1.7 won't give you the issue, but it doesn't remove the existing HTTPS binding so you will have to take the same steps as if using --keepexisting .

I'm going to test the new source somewhen tomorrow and give you the results.

downloaded and build the latest master source.
There is already an san cert for website A
Had to create a certificate for B and C no SAN
After creating B website A servers B certificate
After creating C, A and B are serving C certificate
Did not use --keepexisting, I was in the asumption that --keepexisting is only needed when creating a SAN certificate..?
Checked the bindings from website A and B, they are still configured with the right certificate in IIS.
So now waiting when the idle timeout expires, to see if that solves the problem.

Did B and C have existing HTTPS bindings before you ran it?
--keepexisting  won't delete an existing HTTPS binding if there is one. Using it would delay when the certificate takes effect. It won't change the cert until after the idle timeout period.

No they did not have any HTTPS binding.
--
Het is een raar fenomeen.
Maar echte Amsterdammers wonen er 20 kilometer omheen!!
Quote Marije en Dennis
-----Original Message-----
From: Robert Kerber<EMAIL_ADDRESS>To: Lone-Coder/letsencrypt-win-simple<EMAIL_ADDRESS>Cc: Dennis<EMAIL_ADDRESS>Date: Mon, 07 Mar 2016 07:10:20 -0800
Subject: Re: [letsencrypt-win-simple] IIS SSL not working after run letsencrypt-win-simple (#94)

Did B and C have existing HTTPS bindings before you ran it?
--keepexisting  won't delete an existing HTTPS binding if there
is one. Using it would delay when the certificate takes effect. It
won't change the cert until after the idle timeout period.

Reply to this email directly or view it on GitHub:
https://github.com/Lone-Coder/letsencrypt-win-simple/issues/94#issuecom
ment-193290528

I was finally able to get a server with Visual Studio on it to replicate the issue. I'm going to debug it and see if I can figure out where it messes up the other sites.

So I found and fixed a different issue. I'm installing VS on another server that always gives me this issue and i'll step through it there.

After I installed Visual Studio, I can't reproduce the issue on the server. This has now happened on two different Server 2012 R2 servers.
I added in manual debugging steps and tried on another server, and it doesn't mess up anything until it commits the changes to the Server Manager. So that doesn't tell me what is causing it but i'll keep digging.

I think I figured it out.
When it sets the IP address for the binding, that's when it messes up any other site bound to that IP address and HTTPS.
If you just update an existing HTTPS binding it now works. If you try to add a HTTPS binding through the app, and your HTTP site is bound to an IP, it gives you a warning message and lets you proceed or cancel. If it's set to listen on any IP address it will create the HTTPS binding and you should be good now.
So if you aren't listening on any IP address, the best bet is to manually create the HTTPS binding and then run the app.

I tested the latest code on a couple more servers and I didn't find any issues with sites using the wrong certs anymore.
It might be a bit of a pain manually creating the HTTPS bindings if you aren't listening on all available IPs, but to not have it mess up your certs on all of your sites, I think it's a small price to pay.

I tried to compile current code and run it on my servers.
It run better that the last one I tried. I can now assign certificates, and then IIS works as expected. Only two sites required to manually the "remove the SNI flag and reenable it" workaround; others worked well without workarounds.
Tried some --san requests, and some standard. Some was new certificates replacing old (not renewals, I asked new certificates), some was renewals (--renew), a few was new certificates on sites without SSL.

Well that sounds better than before. The only sites I had to do the workaround to on my servers were ones that had already been messed up from the previous versions.
I also created a Wiki article about the issue.

Yes, seems really better.
Also mine was a site that was broken by previous version.

Sorry for the delay. I tested the new version on 3 servers and a few dozen websites. For most of the sites, everything worked. A few sites gave me the "A Specified Logon Session Does Not Exist" error, even after several retries. However, I could install the cert manually in these cases.
Right now there are 3 sites without ssl bindings in IIS. When trying to access them via https they answer with a connection reset. Before installing all the certs, they did not react to https requests at all (i.e. "Server not found"). I'm not sure, why that happens. The sites in question aren't bound to a specific IP.
Aside from that there were only a few problems with app specific URL rewrite rules that had nothing to do with let's encrypt. Most notably it is necessary to either deactivate any canonical hostname rules, or add a condition that doesn't fire the redirect if the request goes to .well-known/acme-challenge/.*

Could this problem somehow be related to this? I have previously solved problem, where IIS after certificate replacement always presented the old one instead new one even the old one was deleted from cerificate store. It was necessary to use netsh command and manually delete old binding like described here: http://thinknook.com/ssrs-ssl-certificate-nightmare-2011-06-28/ Could it be any diiference between binding [::] and <IP_ADDRESS>? Just guessing... It would be maybe good to have list of bindings created by netsh command before and after running letsencrypt to see how bindings will change..

IIS can be a giant pain when it comes to changing SSL certificates. The Let's Encrypt Win Simple app can't bind to specific IPs without causing issues with other sites. Recreating the HTTPS binding can change the certificate, but it also can cause issues with other SSL sites. The only way I have found to always get the cert to update is to wait for the IIS Application Pool's timeout period to be reached.

Had this happen to me now. All SSL sites (all SNI) provide the latest Let's Encrypt certificate. All settings are correct, all certs are fine, but everything's messed up. Version <IP_ADDRESS>
Had to manually delete the IP binding that override everything with netsh http delete sslcert ipport=<IP_ADDRESS>:443 and things started working.
I think the client should never add that kind of binding, since it's not even visible from IIS site management. And I would like to hear how this is a problem in IIS and not in the Let's Encrypt code.

I just had the same issue, and @Symbiatch's solution fixed it.

I can verify that this problem still exists in version 1.9.3
My OS is Windows Server 2016
The approach of @Symbiatch helped me too.

Has this problem been raised with Microsoft? Is there an existing ticket reference I can cross-reference?

Can confirm that the solution of @Symbiatch works. Thanks for figuring that out.

If @Symbiatch's fix works, then this solution seems to be a LetsEncrypt client problem and this bug needs reopening?

I can't tell where the described binding came from but according to @Symbiatch it's from the Let's Encrpyt client.

I think the client should never add that kind of binding, since it's not even visible from IIS site management.

What I can confirm is that the binding is nowhere to be found in the IIS Manager.

I'm having the same problem on V<IP_ADDRESS>-beta1. Fix of @Symbiatch did not help. Now this IIS had already a certificate installed on a website. More precisely a wildcard certificate. Removing that wildcard certificate and applying fix of @Symbiatch helped. But then installing wildcard again broke everything.
So, I removed wildcard cert again and started installing letsencrypt on all the hostnames of that site. But that failed too. I would not authorize the domain.com host. All subdomains where no problem, but authorization of root domain.com failed with Timeout status 400 after fetching (although I could fetch from browser without any problem).  Anyway, after 5 tries I discovered the hard way that there is a feature that you can not fail more than 5 times in one hour. :-) So now I have to wait to try more.
But this information might already be valuable.

What I know is that on Windows all HTTP traffic runs through the kernel, so an important part of TLS/SSL handling, including SNI support, is implemented at the kernel level. The kernel bindings are what you see with netsh.
They are distinct from the IIS bindings which, live in user space (stored in the applicationHost.config). The two sets of bindings need to be kept in sync to make the HTTPS connection work. The IIS manager is responsible for that.
While the GUI seems to do a good job, the .NET library that LEWS uses seems to mess up in some unknown set of conditions. Until someone is able to figure out reliable reproducible steps to trigger the mess-up.
What would be extremely useful to have:

Version of Windows/IIS used
Detailed description of initial IIS bindings (protocol, host, ip, port, certificate, etc.)
Exact command line and --verbose output from LEWS
Detailed description of post-run bindings

Some update from #634: for v1.9.8 I'm bumping the system requirements up to .NET 4.6 so that we can upgrade Microsoft.Web.Administration from version 7.0 to version 11.0. I hope that's going to improve reliability.

G'day all,
We're seeing the same/similar issues using LEWS version 1.9.3 on Windows 2012 R1. (Websites involved: almost 400.)
Everything was fine. Working well. Suddenly, reboots & new certs via LEWS means that all the SNI sites are either:

Serving the default web sites selected cert
Serving the most recently created cert (when no HTTPS binding on default web site)

The settings in the IIS GUI, and via the Powershell objects found in module WebAdministration, all look normal.
To overcome this manually, we locate the site where the cert is supposed to be, untick/save/retick/save SNI on HTTPS binding(s). This seems to work, although sometimes there is a 10 min window where it makes no difference.
Notable difference to what I've read above, when we reboot, it happens again. Even without reusing LEWS. We've been trying to pin it to a MS update, but can't. Nothing seemed to have happened? This issue just "started" on the 28th Oct. :(
Aside: I have now written a Powershell script to set the sslFlag on the binding to 0 and then set it back to 1 for all sites, barring the default web site. (Although, running it in the wild for the first time last night didn't seem to have helped. Not sure if we waited long enough?)

@misterHippo  Looks like the newest release might resolve the issue you're seeing. Have you tried updating to <IP_ADDRESS>?

@LBegnaud - We haven't done that as yet, but we are planning on doing that today (Monday).
My senior admin is querying what makes me (ie: you) think that the new one might resolve the issue? Is there anything that you can point me to?
Assuming your above statement holds true, I don't understand why this issue would suddenly start happening. Can anyone shed any light on this?

Seems very similar to the work in #634
You are using a version from before @WouterTinus took the reins and started making a lot of stability improvements. I didn't notice that at first so honestly I would make sure you test your workflow on another machine before making the switch, but it's important to make the switch.
If you run into issues after updating I recommend opening a new Issue to track it specifically

Copy that. Thanks for your input. FYI: Initial signs look good. :)

Hi all. An update you on what our testing has shown... (And to get the content here for anyone else having this issue.)
Version 1.9.3 (previously working fine), currently sets the default HTTPS binding to use the newest created certificate. Upon reboot, this somehow does "stuff" and pushes this effect out to other IIS sites. To get around this, reassign the default HTTPS certificate.
Version <IP_ADDRESS> doesn't play nice with the wildcard certificate. Putting wildcard cert on another IP address seems to help this.
We have downloaded and have begun testing <IP_ADDRESS> beta 4, and there are still issues.
Currently, the server is to a state, where upon reboot, all the non-LE SSL Certs (bar one site) get replaced by the wildcard cert of our own company. That is to say, that with/without issuing new LE SSL, rebooting often (not always) causes sites with their own EV certs to switch to use the hosting companies wildcard.
The solution appears to be to untick SNI on one of the EV sites, and retick it (and continue through the list until you find the "one" that fixes them all). Sometimes it's the first one we pick other times it's a few down the list.
I should note that there are multiple IP addresses, and SNI used too.
IP's (v4)
*.3 houses all the LE certs and the one EV that works.
*.6 houses the EV certs
*.8 houses the wildcard cert sites.
Previously they had all been on *.3, but we moved them and 'assigned' them to be other IPs to try and work out what was going on.
Not having a default HTTPS site seems to help - with this present, everything goes haywire more often.
Thoughts? Experiences?

@misterHippo can I just check if your renewals are using the Administrator account or an alternative (a service account or SYSTEM etc)?

Thanks for chiming in @webprofusion-chrisc .
Some context: users of the Certify project have experienced very similar issues as LEWS users. They've gone as far a adding a button to re-apply certificates (doing that not once but twice on the background) to kick the kernel level HTTPS bindings back into shape. They've theorised it's something to do with Private Keys becoming (temporarily?) inaccessible, causing Windows to fall back to whichever certificate it can find with an accessible key.

@misterHippo regarding the reboot causing the certs to go wrong, this sounds possibly like an issue with the CurrentControlSet - if you are booted using Last Known Good configuration then when you reboot you go back to the old configuration (or some version of it).
If the wrong cert is presenting itself always check first that the "netsh http show sslcert" doesn't show an IP with no hostname being bound to a cert, if it does that will take precedence over SNI bindings, and you can delete it with "netsh http delete sslcert ipport=:443" if you know it shouldn't be there.
Regarding the Private Keys issue @WouterTinus mentioned, yes for Certify SSL Manager we've found that in some cases using an alternative user account for cert requests (and thus cert storage) can (sometimes) lead to a problem whereby the private key for the new cert cannot be accessed shortly after the cert creation. So it can look fine, then stops working, presumably when windows cleans up it's temp private key storage. Repeating the storage of the cert (same cert twice) fixes the issue, but I have no idea why. We do also re-apply the binding twice but I don't know if that makes any difference.
In all cases, our projects have limited resources for exhaustive testing and it's real world feedback that makes all the difference, so thanks to everyone who contributes their time and effort to investigate.

@webprofusion-chrisc
(1) They're scheduled to run as "highest privileges" under an account that is in the Administrator group, but isn't the actual Administrator.
(2) Looking at the output of netsh, there are no ":443" bindings for IP:Port. There are <IP_ADDRESS>:443 though. Which is odd, I thought that was an unassigned non-SNI HTTPS binding... but we don't have one. The default site has an SNI enhanced HTTPS Binding with Hostname.
I'm not sure about the last known good idea. The server's a VM, so there's no console access to see it on boot... although that should show in the event viewer, shouldn't it? There have been a couple of long reboots, without Windows updates being installed... Hmmmm.
@WouterTinus - Interesting. However, there are times when two consecutive reboots, without the use of LEWS (issue or renew), causes the certificates to get "messed up", "most of the time".
Question: Are there any plans in LEWS to double apply the cert storage as a matter of course?
Further thoughts:
We found this: https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-8/iis-80-server-name-indication-sni-ssl-scalability that seems to indicate that the Cert Web Hosting store and the Cert Personal store are same-same, but different.
We then realised that the LEWS certs are in Webhosting, and non-LEWS are in Personal. We have approx 10 EV, Bank (et al) Certs in Personal - AND it includes our WildCard cert.
Question: Does the location of the non-LEWS cert have any bearing on any of this?
Question: Also, do you know if the Personal Store crap itself when you reach a certain number of certificates?
Lastly, thanks for you both being involved in this :) I appreciate your past/future help on this.

@misterHippo Regarding Personal vs Web Hosting. Personal (MY) is better supported in the .net API knows about it, whereas 'Web Hosting' is a kind of add-on). Web hosting has alleged performance benefits but I haven't seen much detail on it. I'm trying to loop in an IIS/httpapi internals developer from MS to see if they can shed any light on the cert storage issues. Ideally we'd get some hard numbers of Personal storage limits, rather than a vague "it's better, somehow" :)
Running as an alternative user account (in Certify's case, Local System when running as a background service) surfaces the private key problem almost immediately. If you can't access the certificate private key permissions (Right click certificate in certlm/"Manage computer certificates", All Tasks > Manage Private Keys) then this is the problem. The other symptom of this is if you try to fix the binding in IIS (deselect and reselect the certificate) you get 'A specified logon session does not exist', so I think generically it may centre around per-user profile storage of private keys. You could try logging in to remote desktop as the alternative user to see if they just need to have a profile folder/registry setup.

Thanks @webprofusion-chrisc, but that doesn't seem like our issue.
We are assuming that certLM/Manage computer certificates, all tasks> manage Private keys is in the MMC? If we do this, we can see the permissions, and they say full control.
The windows/ that we use is machine specific, not AD/Domain, it is logged into remotely by us to initiate LEWS & admin the machine + IIS. We've never seen any errors as you've noted. (re: 'A specified logon session does not exist')

(1) They're scheduled to run as "highest privileges" under an account that is in the Administrator group, but isn't the actual Administrator.

One thing you could try in that case is to follow the guide at https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Migration-to-v1.9.5 and try to run as SYSTEM. For some this improves reliability.

Question: Are there any plans in LEWS to double apply the cert storage as a matter of course?

Not so far, I think it's used as a recovery mechanism rather than a preventative measure, right @webprofusion-chrisc ?

Question: Does the location of the non-LEWS cert have any bearing on any of this?

Possibly, at this point we grasping at straws. We're trying to get Microsoft involved to investigate. You can configure the store to use in the config file, see: https://github.com/Lone-Coder/letsencrypt-win-simple/wiki/Application-Settings any evidence (even if circumstantial) is welcome.

Question: Also, do you know if the Personal Store crap itself when you reach a certain number of certificates?

I haven't run into that myself. I've heard of people using LEWS to manage thousands of certificates though, so my gut feeling is that the problem is not there.
I think the 'ghost' binding on 0:0:0:0 is the issue and that it's triggered somehow by manipulating other bindings through Microsoft.Web.Administration, because it's never explicitly created by LEWS. Since a couple of months we don't edit bindings anymore, but instead delete the originals and add modified versions, which seems to have increased reliability. Circumstantial evidence points to IP-specific and/or non-SNI bindings as having a higher chance of causing trouble.

From the Certify side, one of our users seems to reliably get a 'ghost' cert binding every time they start a new site  using SNI and a specific IP. Using non-SNI works ok, so it seems to be the combination.
@WouterTinus regarding the double cert storage, yes that's done as a preventative measure. Currently the risk that it may or may not cause an issue is too high, so we're doubling up just in case.

FYI: Won't be commenting until the new year. Merry Christmas & Happy new year to all. (And to all a good night?)
Reading back, I'm now enjoying the irony of our default site with a hostname. 😄
On topic question: Should I assume from the above that the <IP_ADDRESS> shouldn't be there at all? Is there a case where it should be there?
 (Thought being, a browser arrives at server, and see's default site for whatever reason on "some random client domain", and gets served HTTPS SSL cert for completely different domain, and thus the "alarmist browser screen of warning +6".)

@webprofusion-chrisc - crazy thought. What is said ghost binding is an indirect result of the machine name being changed at some point in the past?

In other news. We found an old .txt file with output from the netsh command above, prior to our issues starting with this whole thing.
Shock, horror, it doesn't have the <IP_ADDRESS> binding. (Also defenestrates my machine name change idea)

@misterHippo I believe 0.0.0 0 is the catch-all binding thats the same as 'all unassigned' https://www.howtogeek.com/225487/what-is-the-difference-between-<IP_ADDRESS>-and-<IP_ADDRESS>/  regarding default sites, thats just what site you want to show if no hostname is given in the request (like a request by ip only or a DNS pointer to that ip that has no site hostname binding). Default sites are generally unnecessary, but there can be good reasons for them.

Hi, I can confirm with my own testing that any attempt to specify a fixed IP for an SNI binding results in a 'ghost' binding of IP:port being added as well as the hostname:port SNI binding, which then takes precedence over any other https binding on the same IP. This seems to be expected (?) behaviour but I'm just looking for a technical doc to back that up.
I believe that the solution is to always use 'all unassigned' etc for SNI, IIS/http.sys will then direct the traffic to the correct site.

Hi all,
Much time, such wait, wow, Amaze!  ... >> Moving on >>
We have "Exorcised the demon" (Ace Ventura).  I didn't actually work on it, but the ghost binding was the key. What was more the key, was that there were ghost bindings for more than one IP Address. Once we simultaneously removed all these bindings, peace returned to the village.
When the wrong cert was being issued, there was a secondary IP Address which showed the <NAT'd IP>:443. Once we removed that with netsh http delete sslcert ipport=<NAT'd IP>:443, the problem instantly rectified and stopped recurring on reboot.
Thank you so much for your help, patience and collaboration on this. I really appreciate it. :)

I'm going to close this since the problem seems to be understood now and there is no fix possible from our side, only Microsoft can improve IIS/Windows.


Add accident type filter option to the menu

Allow the user to choose which types of accidents to see.
Default should be ALL CHECKED.
The codes mentioned in the mockup are described in AccCodebook.pdf

@omerxx and @LironRS you might wanna take a look

We'll do it, it's not to big of an effort. But only once all previous enhancements are merged...
Otherwise we'll mess up things in the same files with different code.
If @LironRS can do the UI, I'll add the server side requirements.

@omerxx, as I understood from Gal last Monday, he wants us to add all of the sorting options in the sidebar, just with the accordion effect @OmerSchechter was working on. I think UI-wise it's not best practice but it's much better than the popup selection window.

@galraij,  if we're on it.. please open two new "issues" for the cluster and markers design update (from photo icons to css) so we can follow up on their progress.

The lists of checkboxes should be expandable (and collapsed on app load), to avoid clutter

Done in #412


Release v0.3.0

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/151
Originally created by @aaronsteers on 2021-06-24 20:22:57

SDK Release Checklist

[0] Indicate the vX.Y.Z version to be released here in the issue title and here: v0.3.0

SDK Release Flow

[x] Manual steps:

[x] Open this Issue
[x] Create a corresponding MR on a branch named <issue>-release-vX-Y-Z (the default name if your issue is titled correctly)
[x] The release-vX.Y.Z MR is ready when:

[x] Changelog includes all meaningful user-facing updates since the last release

[x] Compare against main branch commit history

[x] Version is bumped:

[x] pyproject.toml
[x] cookiecutter/tap-template/pyproject.toml

[x] Changelog is flushed with the appropriate version number
[x] Changes above are committed as changelog and version bump
[x] Open the Changelog in preview mode, mouse over each link and ensure tooltip descriptions match the resolved issue. Check contributor profile links to make sure they are correct.
[x] Update .gitlab/issue_templates_/Release.md with any missing or changed release steps in this checklist.

[x] Check this box when the CI pipeline status is green :white_check_mark:
[x] Merge to main with the merge commit message Release vX.Y.Z

[x] Release steps:

[x] Manual:

[x] Cut a tag from main named vX.Y.Z with Message=Release vX.Y.Z

Note: tag name must exactly match poetry version text

[x] Automated CD pipeline:

In response to new tag creation, these steps are performed automatically in Gitlab pipelines:

Abort if tag vX.Y.Z does not match output from poetry version --short
Publish to PyPi

[x] Check this box when confirmed

Create a Gitlab 'Release' from the specified tag

SDK Post-Release Flow

[ ] Post-release announcement steps:

[ ] Post announcement to Meltano slack: #announcements, cross-post (share) to #sdk
[ ] Copy-paste with minor contextual edits to Singer slack (with link to original Meltano slack)
[ ] Blog post
[ ] Tweet the blog post

View 20 previous comments from the original issue on GitLab


Nested Sweeping Statistics

For the nested sweeping framework ( #499 ), we want the following statistics (and probably others)
Nested Sweeping Framework

Outer Sweep

[x] Number of times Nested Sweeping was aborted in favour of a simple Reduce.
[x] Number of levels that

are reduced normally or fast
that start an inner recursion
where the inner recursion is aborted.

[x] Type of root requests

Skipped terminals
Preserving
Suppressed
Modifying

[x] Levelized Priority Queue

Inner Sweep

[x] Number of levels that are reduced normally or fast
[x] Levelized Priority Queue

Inner PQ Decorator

[x] The number of arcs tainted by Outer Sweep
[x] The number of arcs untainted from Inner Sweep

Quantification Algorithm

All variants

[x] Number of singleton requests
[x] Number of product requests

Nested Sweeping

[x] Number of requests that are shortcut
[x] Number of requests parsed onto Inner Sweep

Outer Heuristic.

[x] Number of times singleton quantifications was used.
[x] Number of times partial quantification was (re)used.
[x] Number of times Nested Sweeping was used as a backup.

Reopening, as we also need:

[ ] Maximum / Accumulated size of nested sweeps (i.e. the maximum size of the node file before invoking the nested sweep)
[ ] Maximum / Accumulated size of unreduced sweeps (i.e. after invoking the nested sweep but not reducing it)

Furthermore, there is a bug in the data collection on root requests

[ ] Preserved (from suppression or not) are not properly counted.
[ ] Preserving requests that are non-modifying are counted as modifying.


Feat: Show titles of GitHub issues on hover fixes: #19710

Fixes: #19710

Screenshots and screen captures:

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

@zulipbot add "area: message feed (display)"

@zulipbot add "rust community request"


[text] DrawTextRec() could not be found

Please, before submitting a new issue verify and check:
[X ] I tested it on latest raylib version from master branch
[X ] I checked there is no similar issue already reported
[X ] My code has no errors or misuse of raylib
Issue description
When building the raylib library with cmake, and error is generated halting the build. The error declares DrawTexRec as an implicitly declared function within the raygui.h file.
Environment
Issue experienced on Ubuntu 20.04 VM running on VirtualBox. OpenGL version: 3.1 Mesa 21.0.3 GPU: RX580
Issue Screenshot

Code Example
Error occurs when following the Linux Cmake installation guide.
git clone https://github.com/raysan5/raylib.git raylib
cd raylib
mkdir build && cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo make install

@ashtencodes thanks for reporting! this is a known issue, that function was removed some days ago.

I'm closing this issue. It will be updated with a raygui update.


The token probability popup still shows all the remaining tokens with "0.00" probability.

I just noticed if you set say minp=0.15 and turn off all the other samplers, that the token probability popup still shows all the remaining tokens with "0.00" probability. It would be nice if these could be hidden so as to get an idea at a glance what tokens have non-zero probability.

Yes, that makes sense. Thank you for your contribution.


Didn't get Phoscon (RaspbeeII) work with homebridge-deconz

I have an issue using homebridge-deconz together with raspbeeII.
I freshly installed homebridge-deconz and raspbeeII.
After that I restart the RaspberryPi.
Log says:
[04/01/2024, 14:00:40] [deCONZ] Phoscon-GW: websocket connected to ws://<IP_ADDRESS>:4531"
[04/01/2024, 14:00:37] [deCONZ] hardware: Raspberry Pi 2B 1.1 (1GB)
[04/01/2024, 14:00:37] [deCONZ] os: Raspbian GNU/Linux 11 (bullseye) [32 bit]
[04/01/2024, 14:00:37] [deCONZ] restored 1 accessories from cache
[04/01/2024, 14:00:37] [deCONZ] ui server: listening on http://<IP_ADDRESS>:36097/
[04/01/2024, 14:00:40] [deCONZ] Phoscon-GW: websocket connected to ws://<IP_ADDRESS>:4531"

But when using the Phoscon app I see port 4530 instead 4531.
Even the virtual daylight sensor is not available in Homebridge.
Any advice whats going wrong?
Regards

Looks like Homebridge deCONZ connected to deCONZ alright, or it wouldn't know to use port 4531 for the websocket notifications.

But when using the Phoscon app I see port 4530 instead 4531.

For the websocket?

Looks like Homebridge deCONZ connected to deCONZ alright, or it wouldn't know to use port 4531 for the websocket notifications.

But when using the Phoscon app I see port 4530 instead 4531.

For the websocket?

When accessing phoscon app I need to use the ip of the raspberry together with port 4530 —> 192.xxx.x.xxx:4530

That’s the port of the web server, serving the API.

Understood. But why I can‘t see the virtual daylight sensor in homebridge?

Did you expose it?  By default, only Zigbee devices are exposed automatically.

Did you expose it? By default, only Zigbee devices are exposed automatically.

Didn‘t no that. Thanks for your help!


unable to interact with duffy since recent upgrade to 3.4.0rc1

Had a strange issue when trying to ask duffy for a node after the update was done for duffy code :
duffy client request-session pool=virt-ec2-t2-centos-8s-x86_64,quantity=1
Traceback (most recent call last):
  File "/home/arrfab/.local/bin/duffy", line 8, in <module>
    sys.exit(cli())
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/cli.py", line 696, in client_request_session
    result = obj["client"].request_session(nodes_specs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/client/main.py", line 123, in request_session
    return self._query_method(
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/client/main.py", line 106, in _query_method
    return out_model(**response.json())
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 2 validation errors for SessionResult
session -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
session -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)

I updated already to latest duffy client
pip install --user duffy[client] --upgrade
duffy --version
Duffy, version 3.3.9

As I still have access to server side, I had a look at my tenant, as yes, I had non default values for session_lifetime and session_lifetime_max :
duffy admin show-tenant ci-infra-arrfab
OK: ci-infra-arrfab: id=3 node_quota=50 effective_node_quota=50 session_lifetime=3650 days, 0:00:00 effective_session_lifetime=3650 days, 0:00:00 session_lifetime_max=3650 days, 0:00:00 effective_session_lifetime_max=3650 days, 0:00:00 active=True created_at=2022-06-15 14:50:11.346268+00:00 retired_at=None

And it was working, so somethig in new code/db schema doesn't seem to parse that correctly.
I so tried to reset to default with duffy admin update-tenant --session-lifetime NONE ci-infra-arrfab && duffy admin update-tenant --session-lifetime-max NONE ci-infra-arrfab  and then was able to request again duffy nodes.
As soon as I tried to deviate from that, (and duffy should support that per tenant as it was working), it doesn't work anymore :
duffy admin update-tenant --session-lifetime-max 3650d ci-infra-arrfab
duffy admin update-tenant --session-lifetime 3650d ci-infra-arrfab

each call with duffy client would return this again :
duffy client list-sessions
Traceback (most recent call last):
  File "/home/arrfab/.local/bin/duffy", line 8, in <module>
    sys.exit(cli())
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/click/decorators.py", line 38, in new_func
    return f(get_current_context().obj, *args, **kwargs)
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/cli.py", line 670, in client_list_sessions
    result = obj["client"].list_sessions()
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/client/main.py", line 109, in list_sessions
    return self._query_method(
  File "/home/arrfab/.local/lib/python3.9/site-packages/duffy/client/main.py", line 106, in _query_method
    return out_model(**response.json())
  File "pydantic/main.py", line 341, in pydantic.main.BaseModel.__init__
pydantic.error_wrappers.ValidationError: 12 validation errors for SessionResultCollection
sessions -> 0 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 0 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)
sessions -> 1 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 1 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)
sessions -> 2 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 2 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)
sessions -> 3 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 3 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)
sessions -> 4 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 4 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)
sessions -> 5 -> tenant -> effective_session_lifetime
  invalid duration format (type=value_error.duration)
sessions -> 5 -> tenant -> effective_session_lifetime_max
  invalid duration format (type=value_error.duration)

Argh – With the session concurrency fixes  I did chang these fields from returning integer seconds to a human-readable equivalent. I had an uneasy feeling about doing it but thought “which tenant (in their right mind) would even look at this field” and didn’t think of that the Duffy client verifies the returned structure (according to their – now outdated – specification).

I updated already to latest duffy client

NB, server-side is a pre-release so the command to update would have to be:
pip install --user duffy[client] --upgrade --pre

Oh and it’s not a change on the Duffy end, but Pydantic V2 changed how plain timedelta fields are serialized, formerly is numbers (seconds) and now as a string 😢. These really are two issues: this change, plus the fragility of the client (which shouldn’t really verify the whole result, but rather only the pieces it is interested in).


compileError - sh: rm: command not found

When trying to boot now I get a compile error and this:
sh: rm: command not found about 50 times. I was messing around with supercolliderjs and possibly broke something but I reinstalled atom-supercollider and still the same problem. What does that error mean?

Removed all the synthdef files and downloaded quarks and it works now. I guess i'll try to add them back one by one to figure out the offender.


Use local rand.Rand object in FeatureMatrix.BestSplitter

When learning on many threads, there is a lot of contention
on the mutex in global rand source for no real reason.
In my use case, results in speed up from 4m30s to 33s
on 64 core system (7.7x faster)

ppref graphs (large images!):

before: http://i.imgur.com/o0SxiM7.jpg
after: http://i.imgur.com/BeTErB8.jpg

Nice find!
Do you think this should be in BestSplitAllocations (which gets allocated once per thread)?
That object is kind of a mess already but one thing i'd like to support in the near future is parallelism within each tree (ie run the split search on each feature on a separate core) to support parallel gradient boosting.
I'm not sure when i'll have time to get to that though so I'll probably just land this unless you want to take it further,

Okay, this is part of my project at work though, so I'm gonna look into it a bit more on Monday.

Updated it with rand source in BestSplitAllocs and used the source wherever it seemed possible, but the tests will now fail - see the comments in source.

NIce work. I'll investigate the failing tests but some of the tests may just need to be relaxed.

It now uses Rnd from BestSplitAllocs also in ShuffleCases (when you run Grow() with vet == true, it hits this contention point). The tests should now pass, too.

Great! I've been really busy lately but will try to land this in short
order.
On Tue, May 10, 2016 at 4:27 AM, Vojtěch Boček<EMAIL_ADDRESS>wrote:

It now uses Rnd from BestSplitAllocs also in ShuffleCases (when you run
Grow() with vet == true, it hits this contention point). The tests should
now pass, too.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/ryanbressler/CloudForest/pull/56#issuecomment-218118740


UML-44 build containers in pipeline

This pipeline is working. However the app itself returns a 200 and an error. Fixing that can be a separate tiket as it's just a scaffold of an app at present.

I'm Happy with the changes, I would definitely squash the commits though


Update the running-devnet part of the election tutorial

Revised to use steps, some changes to flow, some clarification under using the Kadena client.

You need to run a couple commands:

pnpm turbo format from the root of the monorepo. This should correctly format one of your changed files.
pnpm run --filter @kadena/hd-wallet format from the root of the monorepo. This should format one more file.

Comitting both these changed files, reveals a new build error for kadena docs which you can reproduce locally by running
pnpm --filter @kadena/docs run build
The error is:
 ⨯ brokenlink detected in /src/pages/build/guides/election-dapp-tutorial/02-running-devnet.md (link: /src/pages/github.com/kadena-community/voting-dapp.git election-dapp) ⨯ 1 issues found

Changeset file is missing, adding changeset resolve this issue

Perhaps you could also rename the file 02-running-devnet.md to make the URL of the page correspond to the title of the page. That may require you to add a redirect from the [...]/02-running-devnet URL to the new URL, though.


DONT MERGE: Test commit

@kaa-leeroy test this fully please

@kaa-leeroy test this fully please

#542

test this

@kaa-leeroy test this fully please

@kaa-leeroy could this be tested?


How to read attribute value of a web element?

How do i read the attribute value?
Ex :

I wanted to find out the position at which the colName exists in the table.

This is an XPath question, to access attributes use XPath/@attribute_name. Eg -
http://tebel.org/index_mobile.php
show //*[text()="ABOUT"]/@href

Output for above script will be below, the @href attribute value -
gist/about_tebel

Also, present('//*[text()="ABOUT"]/@href') will be true or false depending if attribute exists.

Adding on an example from https://github.com/kelaberetiv/TagUI/pull/520 -
First, by using XPath and ending the XPath with /@attribute. Second, this can be retrieved using the dom step by querying that web element's attribute directly. Below shows both ways trying to retrieve the class attribute of the search bar in Google webpage.
The type step is to confirm that the identifier used for the search bar is correct. Both will show the class attribute correctly. For my browser and region, it shows gLFyf gsfi.
https://google.com
type //*[@name="q"] as 123
read //*[@name="q"]/@class to element_class
echo element_class

https://google.com
type [name='q'] as 123
dom return document.querySelector('[name="q"]').getAttribute("class")
echo dom_result


Bumping U-Boot to v1.3

Version 1.3 of U-Boot will include the changes made in kubos/uboot#29
Note: This PR will not build successfully until that PR is merged and the 1.3 tag has been created

 Figure out what to do if the system cannot update the boot counter


Will anyone ever make a fork of this repo?

It seems like this project is unmaintained. If someone would have the time and motivation to make a fork and manage it, I think we as a community could maintain it. This project has a great potential, we just need to maintain it!

Would it make sense to create an organization for that?

Would it make sense to create an organization for that?

In my opinion, yes, it would!

In my opinion, yes, it would!

@rockiger Would you be interested in joining that (yet non-existent) organization?

@rockiger Would you be interested in joining that (yet non-existent) organization?

I am sorry about it, but I have been overloaded with work and other projects. I am happy to move to an organization when you set it up and transfer ownership.

I am sorry about it, but I have been overloaded with work and other projects. I am happy to move to an organization when you set it up and transfer ownership.

@rockiger Would you be interested in joining that (yet non-existent) organization?

Yes, I would, but I am wondering if https://github.com/nodegui/react-nodegui does fill the same niche.

@rockiger Would you be interested in joining that (yet non-existent) organization?

Yes, I would, but I am wondering if https://github.com/nodegui/react-nodegui does fill the same niche.

react-nodegui is not production ready

react-nodegui is not production ready

There you go: https://github.com/proton-nativejs/proton-native
Who wants to join?

There you go: https://github.com/proton-nativejs/proton-native
Who wants to join?

@kusti8 Am I allowed to use this logo as the organization profile picture? Also, am I allowed to use the logo for the future (again, yet non-existent) discord server?

@kusti8 Am I allowed to use this logo as the organization profile picture? Also, am I allowed to use the logo for the future (again, yet non-existent) discord server?

I will join

There you go: https://github.com/proton-nativejs/proton-native
Who wants to join?

I will.

I will join

There you go: https://github.com/proton-nativejs/proton-native
Who wants to join?

I will.

I invited you :)

I invited you :)

@kusti8 Am I allowed to use this logo as the organization profile picture? Also, am I allowed to use the logo for the future (again, yet non-existent) discord server?

Yes you're allowed. I will archive this project in a couple days.

@kusti8 Am I allowed to use this logo as the organization profile picture? Also, am I allowed to use the logo for the future (again, yet non-existent) discord server?

Yes you're allowed. I will archive this project in a couple days.

Thank you

Thank you

Here's the permanent invite link: https://discord.gg/9rP6x9Vy3m
Anyone is welcome to join! :)

Here's the permanent invite link: https://discord.gg/9rP6x9Vy3m
Anyone is welcome to join! :)

@rockiger Do you have Discord?

@rockiger Do you have Discord?

@aramodi Can you delete/rename your fork at https://github.com/proton-nativejs/proton-native ? Then, @kusti8 can transfer this repo into the new organization.
I think it's super important to do a proper transfer to prevent confusion and to ensure all the PRs remain open (and all the 10k stars remain on the repo).

@aramodi Can you delete/rename your fork at https://github.com/proton-nativejs/proton-native ? Then, @kusti8 can transfer this repo into the new organization.
I think it's super important to do a proper transfer to prevent confusion and to ensure all the PRs remain open (and all the 10k stars remain on the repo).

Hey, that's a good idea!

Hey, that's a good idea!

I have renamed the fork and organization to Valence Native @kusti8 would you please update the README.md?


Vickel: Watch cigmavape.com

Vickel requests the watch of the watch_keyword cigmavape\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

cigmavape\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Spevacus in Charcoal HQ


 class not updating to ng-invalid

Bug, feature request, or proposal:
The first time the component loads , the class is ng-invalid , if i check and uncheck the checkbox. The class does not update to ng-invalid.
I am using the reactive form.
I have set the Validators.required for this componenet
What is the expected behavior?
Class should update to ng-invalid
What is the current behavior?
Class is ng-valid , even though it should be ng-invalid
What are the steps to reproduce?
Providing a StackBlitz reproduction is the best way to share your issue.
StackBlitz starter: https://goo.gl/wwnhMV
StackBlitz - https://stackblitz.com/edit/angular-material2-issue-jlarze
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
"@angular/material": "^5.2.0"
Is there anything else we should know?

@gauravsoni1 Could you please provide a StackBlitz reproduction?

@tinayuangao - added Stackblitz to the issue.

@gauravsoni1
See https://stackblitz.com/edit/angular-material2-issue-ftuvb7?file=app/app.component.ts
If you use Validators.required the form control will be valid when the checkbox value is false (the value when you uncheck the checkbox). This is because false is still a valid answer.
Use Validators.requireTrue to make form control invalid when checkbox is false.

Validators.requireTrue works but it necessary to alter the class manually to render the checkbox as invalid in html. Should not checkbox behave in the same way as invalid input?


Request for new release

I've just downloaded the binary included in the latest release version but it seems to be outdated. Many of the features presented in the readme are missed like slideshow command and m3u8 support. Could you please provide a new release? I can't install go in the host machine so my only option is to use the binary.

My apologies, I have been a bit slack with the releases. I have released v0.0.15 https://github.com/vishen/go-chromecast/releases/tag/v0.0.15


Clicking on the grid view background incorrectly deselects items when the window is out of focus

Duplicate of #204.


Slice generated from a generic array is accessed outside of its capacity

Aim
Be able to run code like this:
global ARGS_HASH_CHUNK_COUNT = 64;
global ARGS_HASH_CHUNK_LENGTH = 64;

pub fn pedersen_hash<N>(inputs: [Field; N], hash_index: u32) -> Field {
    dep::std::hash::pedersen_hash_with_separator(inputs, hash_index)
}

pub fn hash_args(args: [Field]) -> Field {
    if args.len() == 0 {
        0
    } else {
        let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];
        for i in 0..ARGS_HASH_CHUNK_COUNT {
            let mut chunk_hash = 0;
            let start_chunk_index = i * ARGS_HASH_CHUNK_LENGTH;
            if start_chunk_index < args.len() {
                let mut chunk_args = [0; ARGS_HASH_CHUNK_LENGTH];
                for j in 0..ARGS_HASH_CHUNK_LENGTH {
                    let item_index = i * ARGS_HASH_CHUNK_LENGTH + j;
                    if item_index < args.len() {
                        chunk_args[j] = args[item_index];
                    }
                }
                chunk_hash = pedersen_hash(chunk_args, 44);
            }
            chunks_hashes[i] = chunk_hash;
        }
        pedersen_hash(chunks_hashes, 44)
    }
}

// Unpacks returns values from the returns hash
unconstrained pub fn unpack_returns<N>(return_hash: Field) -> [Field; N] {
    [return_hash; N]
}

// Returns the returns hash
unconstrained pub fn call_private_function_wrapper(targetAddress: Field) -> Field {
    targetAddress + 5
}

pub fn hash_args_array<N>(args: [Field; N]) -> Field {
    hash_args(args.as_slice())
}

fn call_private_function<RET_SIZE>(targetAddress: Field) -> [Field; RET_SIZE] {
    let return_hash = call_private_function_wrapper(targetAddress);
    let unpacked = unpack_returns(return_hash);
    assert_eq(hash_args_array(unpacked), return_hash);
    unpacked
}

fn main(targetAddress: Field) {
    let foo: [Field; 1] = call_private_function(targetAddress);
}

Prover.toml
targetAddress = "27" // any value works here

Expected Behavior
Program should execute successfully, and should be simplified taking into account the array length and slice capacity (hash_args should be simplified to pedersen_hash([pedersen_hash([single_return_value, 0, 0...]), 0, 0, 0...]);
Bug
error: Failed constraint
   ┌─ /mnt/user-data/alvaro/constructor/src/main.nr:49:5
   │
49 │     assert_eq(hash_args_array(unpacked), return_hash);
   │     -------------------------------------------------
   │
   = Call stack:
     1. /mnt/user-data/alvaro/constructor/src/main.nr:54:27
     2. /mnt/user-data/alvaro/constructor/src/main.nr:49:5

It appears that the slice is accessed outside of its capacity (that should be 1)
To Reproduce

Project Impact
None
Impact Context
No response
Workaround
None
Workaround Description
No response
Additional Context
No response
Installation Method
None
Nargo Version
No response
NoirJS Version
No response
Would you like to submit a PR for this Issue?
None
Support Needs
No response

This might be related, if I change the hash_args implementation to iterate over the length of the slice:
pub fn hash_args(args: [Field]) -> Field {
    if args.len() == 0 {
        0
    } else {
        assert(args.len() < ARGS_HASH_CHUNK_COUNT * ARGS_HASH_CHUNK_LENGTH);
        let mut chunks_hashes = [0; ARGS_HASH_CHUNK_COUNT];
        let mut current_chunk = [0; ARGS_HASH_CHUNK_LENGTH];
        let mut hash_index = 0;
        let mut chunk_index = 0;
        for i in 0..args.len() {
            current_chunk[chunk_index] = args[i];
            chunk_index+=1;
            if chunk_index == ARGS_HASH_CHUNK_LENGTH {
                chunks_hashes[hash_index] = pedersen_hash(current_chunk, 44);
                current_chunk = [0; ARGS_HASH_CHUNK_LENGTH];
                hash_index+=1;
                chunk_index = 0;
            }
        }
        if chunk_index > 0 {
            chunks_hashes[hash_index] = pedersen_hash(current_chunk, 44);
        }
        pedersen_hash(chunks_hashes, 44)
    }
}

I get a could not determine loop bound at compile time error
error: Could not determine loop bound at compile-time
   ┌─ /mnt/user-data/alvaro/constructor/src/main.nr:17:21
   │
17 │         for i in 0..args.len() {
   │                     ---------- If attempting to fetch the length of a slice, try converting to an array. Slices only use dynamic lengths.
   │
   = Call stack:
     1. /mnt/user-data/alvaro/constructor/src/main.nr:56:27
     2. /mnt/user-data/alvaro/constructor/src/main.nr:51:15
     3. /mnt/user-data/alvaro/constructor/src/main.nr:45:5
     4. /mnt/user-data/alvaro/constructor/src/main.nr:17:21

However, the loop bound should be known since the slice length should be the original array length from this function:
pub fn hash_args_array<N>(args: [Field; N]) -> Field {
    hash_args(args.as_slice())
}

Seems like we are losing information at some point

This compiles fine on master afaict.

This compiles fine on master afaict.
The original message? could you try to execute it? I get a runtime error there

Deleted initial comment as I was just compiling rather than executing.
I'd expect that the second example would fail to compile. unpack_returns returns a [u8;N] with unknown N and this return value is only used in hash_args_array which doesn't give N a concrete value so it's not possible to determine the length of the slice based on the current information in the program.

Ah, we do actually as unpacked is returned from the circuit.

Yes, the length of the array is known at the ssa level afaict, I did put a log in capacity tracker and it seems to know the capacity of the slice being one when returning from as_slice()

I think the issue is that as_slice() returns an unknown variable length, and a slice with capacity N. Since the length is unknown, the compiler cannot figure out that this evaluates to false if item_index < args.len() so it codegens a runtime access to that item_index. Problem is, that item index is beyond the capacity of the slice

So it's kind of related with the second issue: if the length returned from the intrinsic as_slice() was known at the SSA level, then both programs would compile & execute

I can add a pass in SSA to make it aware of slice lengths returning from as_slice. I'm testing it now and it seems to work fine. I'll make a PR to see what you guys think. I don't know if it can be added in SSA gen, I tried there at first but it seems like it's not easy to transform the as_slice call to return a constant and the slice, but maybe I'm missing something.

Thanks, yeah that would be helpful.
It should be possible for us to handle this in simplify_call however, we'd need to add handling for Value::Instructions which have an array as their output type.


Unified module click handler

Each module should support click-left, click-right and so on.
Modules that define custom actions (date, volume, ...) also support all actions and if an action is defined, it overrides the built-in action.This is only for actions that surround the whole module.
Action blocks that only surround parts (e.g. xworkspaces) are handled as before. Modules should offer an option to disable each of these actions.
Action blocks around the whole module can be disabled by setting the appropriate click-* key to the empty string
This will help reducing much of the code duplication that we have with click actions.
It will also make modules more flexible.
Should probably be tackled, after #1172 is solved.
EDIT: This will also resolve #273
EDIT2: There is a handle-events key in all modules (but it's only actually used by alsa and pulse). An implementation for this should either deprecate that key or incorporate it (meaning it shouldn't be loaded from the config in the constructor in base.inl but rather by whatever helper functions implement loading the click commands)
EDIT: This would deprecate enable-scroll in internal/xbacklight
EDIT: Anytime builder::flush is called, all open action tags are closed (e.g. progressbars do this). We need to make sure that we only close open action tags at the end of modules and not on every flush.
EDIT: This would deprecate enable-(click|scroll) in the internal/bspwm, internal/xworkspaces and internal/i3 modules. We will also need to think about what to do with reverse-scroll and wrapping-scroll.
EDIT: This will achieve #1942
EDIT: Tokens should also be available for these action keys, this will give an alternative for #887 and #2067. This will also require all tokens to be available in the entire module instead of limited per label.
Ref: #1521

In case someone else wants this right now, it's possible to add custom click actions to existing modules using format strings. Took me a while to discover

@patrick96
Heya!
Is there a current in-progress PR for this?
If not do you have a suggestion of where I should start?
GRowell (from the Gitter)

There is currently no ongoing work for this.
The way that I imagined this going is that there is some shared code that takes care of loading the commands for all supported click actions (click-left, double-click-right, etc.) and that code can then also be used to directly produce the right output when the module output is created. The goal is that we don't have to duplicate code within modules (as we kind of do right now) to support click commands.
Have a look at how the script and ipc module currently support this. We basically want this generalized for all modules.
However, many modules define their own internal click actions (e.g. the two volume modules) so this gets a bit more complicated. I think initially we can just not support for example click-left if the module already defines an internal left click action.
This can probably take the form of a class that stores all the click commands the user has defined in a module.
Probably best to create a proof of concept in the script or ipc module for how this could look.
Let me know if this too vague ;)

The lemonbar syntax will be supported in the foreseeable future (it's also what we still use internally to format the modules). But we do want to give users the ability to configure their bar even without formatting tags.

As Polybar supports inheritance,
presumably we could abstract this code to a root/base module?
(if I understand the code duplication issue correctly, that is).

Will take a look when I can, but I'm very busy right now sadly :(
Thanks for the tips, will likely ask a few questions at the end of the week or smth!

There is no hurry, take your time :)
Yes, the base module code is one place to put this. But preferably this core functionality could be extracted into its own class for which each module has an instance in the base class (similar to what the action router is doing with m_router).

I'd like to be able to open calcurse through the date module with a right click. Seconding the support request.


I can not install this extension on both chrome and edge

I can not install this extension on both chrome and edge. it always reports that Couldn't move extension directory into profile.

I also have the same problem.
https://user-images.githubusercontent.com/24541350/125290207-a6c9d280-e352-11eb-8a3c-69d3f6c82009.mp4
I also tried to install from local but don't work, either.
https://user-images.githubusercontent.com/24541350/125290928-6b7bd380-e353-11eb-87f2-233016da35aa.mp4

That second video gave me the error I needed to track this down. Apparrently the latest version package was missing the icons folder! No idea how I missed that.
I've submitted a new version to the firefox/edge/chrome stores, so hopefully they will be approved before too long.
In the meantime, you should be able to manually install this one: https://github.com/deathau/markdownload/releases/tag/3.0.1

Thanks, installing manually is work now.


add mulit-agent envs to available list

Sorry, no gifs :-)

Thanks @AndKram !
And I would poke @idvhfd for the gifs 😉  !


Allow for expansion of multiple arguments with init_argument

If I'm not mistaken, the recent PR adding init_argument only allows for a single constructor argument to be passed into the FlaskView. While I like this idea, it would be nice to be able to pass multiple positional/keyword arguments by expanding a list or dictionary. To test this out locally, I added a condition before the else condition here that expands the arguments if it is a dictionary.
To still allow passing a single list or dictionary argument without expanding it, I was thinking that it would be a good idea to create wrapper classes to signify that you want the arguments expanded (e.g. ExpandableArgs and ExpandableKwargs, or something along those lines).
I can create a PR assuming you think this is a good idea. Let me know what you think.

@spfjr thank you for your suggestion. I not sure if we need to add more complexity as you described. If you have real use cases and examples, that's better to consider then.

If you need to pass several parameters (settings, some dependencies), then you will have to "invent" a way to do this. For example, pass tuple, namedtuple, dict, dataclass. etc. It’s not that difficult to do, but it causes certain inconveniences. For each case, you have to write long type annotations (for tuple, dict, etc.) or introduce new entities such as dataclasses.
For example:
@dataclasses.dataclass(frozen=True)
class IndexViewConfig(object):
    first_service: FirstService
    second_service: SecondService

class IndexView(FlaskView):
    def __init__(self, config: IndexViewConfig):
        self.config = config

    def index(self):
        self.config.first_service()
        self.config.second_service()
        ....

I think it would be better to add init_args and init_kwargs so that you can pass any parameters to __init__.
For example:
    @classmethod
    def make_proxy_method(cls, name, init_args=None, init_kwargs=None):
        """Creates a proxy function that can be used by Flasks routing. The
        proxy instantiates the FlaskView subclass and calls the appropriate
        method.
        :param name: the name of the method to create a proxy for
        """

        init_args = init_args or tuple()
        init_kwargs = init_kwargs or {}
        i = cls(*init_args, **init_kwargs)
        view = getattr(i, name)
        ...


Website: invalid link to PyEnchant

On this page:
http://kivy.org/docs/installation/installation.html
Clicking the link to "Enchant" (which is actually PyEnchant) gives a 404 Not Found.
Google says it should link to:
http://pythonhosted.org/pyenchant/
Also here there is a minor typo here:
http://kivy.org/docs/guide/inputs.html
recieve  should be receive

Thanks, fixed in https://github.com/kivy/kivy/commit/595addaae9fb2219d257588a1aba84f409dfd012.