Support Windows Paths

Hi,
I tried to use the library with Windows but it dosn't work. I think the main problem is PHP in this case. __DIR__ should return a trailing slash on Windows as well, but I think that's not possible for legacy reasons. I'm not sure if PHP is just super inconsistent here or if I'm missing something.
Here is what I found out and how I attempted to fix it:
All files in the test cases and examples are loaded using 'file://' . __DIR__ . '/file.json' which resolvs to something like file://C:\folder\subfolder/file.json. This URI is incorrect for 2 reasons:

There shouldn't be any backslashes
parse_url (which is used by sabre-io/uri) returns false if there are backslashes. The backslashes must be converted to normal slashes. Using the provided examples and test cases on windows causes a Sabre\Uri\InvalidUriException
The format is file://<host>/<path> but the host is not present if __DIR__ returns a path on a drive on Windows (if it returns a path from the network the host is present). The (emtpy) host me added (which results in a third slash after file:): file:///C:/folder/subfolder/file.json. If the third slash is not added, parse_url will interprete this as host:port which results in C:empty. The colon is lost and this information can not be recovered from the result of parse_url causing League\JsonReference\SchemaLoadingException when external reference is loaded (e.g. file a.sjon references b.json: the loader will try to load file://c/folder/subfolder/b.json).

Basically the path provided to the function is wrong. Instead of 'file://' . __DIR__ . '/file.json', there should be a logic to correctly determine the host part and convert backslashes. Since this format is used in all test cases, the examples and possible also by everyone else using this lib I think it would be a bad idea to burden this on the user of the library.
Hence I suggest to handle this in the library. Therefore Derferencer.php prepareArguments should replace blackslashes and add the missing slash for windows path.
This will result in a different behavior: functions.php parse_external_ref will return a path with a trailing slash (/C:/folder/subfolder/file.json). This cannot be opened using file_get_contents. Therefore the loader must be changed as well.
The library splitts the URI into prefix and path. But the path is not what parse_url returns as path, but more: it includes host, port, username, password if present. Therefore the file loader should handle the path the same way, the CurlWebLoader does it: $uri = $this->prefix . $path;
This change would change the way the URI is interpreted, hence it may brake something if the loader is used from other interfaces as well. Therefore I suggest to implement the same change for the loader as well, so that it can handle both paths (C:/folder/subfolder/file.json and /C:/folder/subfolder/file.json).
This is a breaking change but it may not have any consequences because it only affects the behavior on Windows and the library was not working on Windows anyway in first place.
I don't see a good way to test this. Basically many of the test cases are failing right now, if you run them on Windows.
Looking forward to feedback!

Hello,
That is unfortunate, I didn't realize windows would return an invalid file URI but I suppose that makes sense.
It seems like the root cause is we aren't passing a valid file URI in to the dereferencer in the first place.  I would rather fix the URI before it's passed in.  It shouldn't be the library's responsibility to fix malformed URIs.
From reading this Windows article it looks like you are on the right track with the steps necessary to transform the file path into a valid URI.  I think it would make sense to extract that logic to a helper function and call that with the path to get the file URI:
$dereferencer->dereference(file_uri(__DIR__ . '/schema.json'));

Reading the Microsoft article it sounds like there are quite a few steps to transform the file path to a valid URI and they don't seem to be fully documented anywhere.  if it ends up being complex I might want to extract that to a separate library.

This will result in a different behavior: functions.php parse_external_ref will return a path with a trailing slash (/C:/folder/subfolder/file.json). This cannot be opened using file_get_contents. Therefore the loader must be changed as well.

Do you mean the leading slash (before C:)?  The Microsoft article seems to indicate the leading slash is supposed to be there, so adding logic to the FileLoader to handle that if the OS is windows seems fine.

The library splitts the URI into prefix and path. But the path is not what parse_url returns as path, but more: it includes host, port, username, password if present. Therefore the file loader should handle the path the same way, the CurlWebLoader does it: $uri = $this->prefix . $path;

I see how this could be a problem but is it currently contributing to the problem with loading windows file URIs?
I will try and setup Windows CI when I get a chance so we can start testing on Windows.

Hello,
The lib looks good.  I think maybe we could add that to composer's suggest and drop a link in the docs for windows users?
It would also be great to use that to get the tests working cross platform.  I am working on setting up CI builds on windows right now.

The function works with the full URI

Hm, does that mean we could re-append the file:// prefix in the FileLoader and it would work correctly if they initially passed in the URI returned from your function?

Hi,
it took some time to work through all the things. Let me share some thought:
I tried to use file:// URIs for everything, but php uses multiple other formats for valid file URIs (http://php.net/manual/en/wrappers.file.php), like

/path/to/file.ext
relative/path/to/file.ext
fileInCwd.ext
C:/path/to/winfile.ext
C:\path\to\winfile.ext
\smbserver\share\path\to\winfile.ext
file:///path/to/file.ext
so I concluded it is better to support those URIs (which can also be opened by file_get_contents), than forcing everyone to convert them to file URIs.

Since sabre/uri does not support windows paths, I recreated the library with support for this URIs. The first change therefore was to replace the parse and resolve URI functions. But this is not sufficent:
In case of

C:/path/to/winfile.ext
C:\path\to\winfile.ext
\smbserver\share\path\to\winfile.ext
there is no prefix to split from the path to determine what is the correct loader. Therefore the prefix is created in this case. If a prefix is present, it is removed from the path to be compatible to the existing interfaces.

I removed "file://" from the test cases, since the lib now supports C:\something or /something. Furthermore I added an empty query to certain URIs: $path = DIR . '/fixtures/schema.json?#/properties';
This is needed becuase # is a valid character for windows file names. Therefore, you can either:

add an empty query
provide a file URI
But C:\file#abc will be interpreted as "file#abc" file but not "file" + fragment "abc".

I also altered the file loader, since file URIs can have query paramenters (file://abc?xyz) but file_get_contents does not support them.

Hi,
The reason for requiring file Uris instead of any path php can support is because that is what the join reference specification requires.  If you use any file path php can parse instead of a uri your schemas are no longer compatible with other libraries or languages and resolution becomes much more difficult.  For example, the behavior when encountering a relative http uri when the previous schema was loaded from a file path would be undefined, but it works with a file uri.
The reason I suggested a function to convert the path into a file uri is because the library remains compliant with the spec, uri resolution still works, and it's still easy for the user.
I started getting appveyor setup for Ci builds (had to resolve some GitHub oauth permission issues with work). I am going to close this PR but it would be great to get the tests  passing on Windows by using your library and making any necessary changes to the file loader.


Moony's Todo Commands Checklist

Description
just a bunch of shit i'll probably implement. feel free to steal from the list and do it yourself, I provide no guarantees i'll finish these (or they may end up obsoleted before I even code them).

[ ] rename <id> <name>
Renames an entity
[ ] quickrename <id>
Renames an entity using the random name generator, with the appropriate gender.
[ ] makewanderai <id>
Sets up an entity with a UtilityAI and required components, and makes it wander around like most passive mobs.
[ ] makeassaultai <id>
Sets up an entity with a UtilityAI and the required components, and makes it attack nearby people, ala space carp.
[ ] addtag <id> <tag>
Adds a tag to an entity.
[ ] rmtag <id> <tag>
Removes a tag from an entity.
[ ] spawntagged <prototype> <x> <y> <tag> OR <prototype> <id> <tag> OR <prototype> <tag>
Spawns an entity, but with a given tag.
[ ] spawninhand <prototype> <id> [force]
Spawns an entity into the given entity's hands, if possible (otherwise drops it on the ground, unless forced, in which case it'll give the entity an extra hand to be able to fit it.)
[ ] pinball <id>
Makes all Hard fixtures on an entity have a restitution of 1.2, mass of 0, Dynamic, and InAir.

fucking around
Summon a murder of angry clowns. With bats.
forall with Body do spawntagged MobHuman $ID admintag1
forall with Body tagged admintag1 do quickrename $ID; setoutfit $ID ClownGear; makeassaultai $ID; rmtag admintag1; spawninhand BaseBallBat $ID

needs specific issues not super actionable rn (or already basically done)

needs specific issues not super actionable rn (or already basically done)

oh god this is ANCIENT how did you even find this.
(most of this is completely inactionable yes)

needs specific issues not super actionable rn (or already basically done)

oh god this is ANCIENT how did you even find this.
(most of this is completely inactionable yes)

We're clearing out issues, so all the old ones are getting closed or commented on.


Abd cach rand tests

I enabled the random test.
There are many failures once I try and let the random free.
Currently, constraints are:
MAX_REQ_DELAY = 16;
MIN_REQ_DELAY = 15;
NUM_REQ       = 50;
RD_RATIO      = 25; //25% read , 75% write
NUM_SET_PULL  = 2;
NUM_TAG_PULL  = 2;

Try and increase number of tags to 5 - it will fail.
This not expected.. We must ensure we know how to fill a set without data corruption.
Try and reduce the delay to under 12 - it will fail.
This is expected due to us no supporting Read miss stall & re-issue.
So first lets try debug & fix the set "stress" where we have 5 tags hitting the same set forcing swaps in and out of the cache CL from same set

@noamsabb  - Please review, Ask questions, add comments, then approve the PR.

no need to merge this - already opened a new PR with this content


OwnerApp does not update on deployment

It appears that the Owner WebApp is set to be cached in CloudFront (as expected),  but there is no mechanism to circumvent caching when a new deployment is created.  Perhaps I need to bump the version of the solution for this to take place.
My own research indicates that this can be accomplished by setting index.html to be uncached.
This article recommends the use of aws s3 sync as follows:
aws s3 sync --cache-control 'max-age=604800' --exclude index.html build/ s3://mywebsitebucket/
aws s3 sync --cache-control 'no-cache' build/ s3://mywebsitebucket/

I believe these updates would be part of the update in the postbuild step, if that is the correct approach.
For reference,  the current post build is:
post_build:
    commands:
        - echo "Copying S3 assets to /$BUILD_OUTPUT_BUCKET/$SOLUTION_NAME/$VERSION"
        - aws s3 cp ./global-s3-assets/ s3://$BUILD_OUTPUT_BUCKET/$SOLUTION_NAME/$VERSION/ --recursive --acl bucket-owner-full-control
        - aws s3 cp ./regional-s3-assets/ s3://$BUILD_OUTPUT_BUCKET/$SOLUTION_NAME/$VERSION/ --recursive --acl bucket-owner-full-control
        - echo "Copying assets to output bucket complete `date`"

I am happy to attempt the changes if this is the right approach, but I'd rather have some input on it.

It appears I was incorrect about the post_build step.  That is to get the assets in the output bucket, and the changes mentioned above are for putting it in the distribution bucket.
This is done via CDK.  However, It does not appear that subsequent runs of the codepipline are updating the owner app in the bucket.

I don't know where this belongs in the process, but these statements updated my product owner webapp
aws s3 sync --cache-control 'max-age=604800' --exclude index.html s3://smart-fan-devoutputbucket-1f5bkjob6sxdm/smart-product-solution/v0.0.2/console s3://smartproductsolutionstac-smartproductownerwebappw-1lh59cyzvxeaa/
aws s3 sync --cache-control 'no-cache' s3://smart-fan-devoutputbucket-1f5bkjob6sxdm/smart-product-solution/v0.0.2/console s3://smartproductsolutionstac-smartproductownerwebappw-1lh59cyzvxeaa/

Hello,
Can you try to bump the version number of the deployed stack by using the parameter section, as mentioned here
Please let us know if this resolves the issue for you.

Thanks for the suggestion.  I did bump the version number in one of my attempts.  I can try it again to be sure I was not making multiple changes.  I'll review the doc again for that suggestion and make the change.

I bumped the stack version and I still see the issue.  Here are the specific steps, in case that helps.

Make a cosmetic change to the owner web app
source/console/src/views/Devices.jsx

          <Row>
            <Col md={12}>
              <Card
-                title={title}
+                title={title + " plus changes"}
                content={
                  <div>
                    <Col md={4}>

Verify the change locally by running npm start

Bump the version of the owner app

This was not mentioned as required, but seemed like good practice.
source/console/package.json
{
  "name": "aws-smart-product",
-  "version": "1.1.1",
+ "version": "1.1.2",
  "private": true,
  "dependencies": {
    "aws-amplify": "^1.2.4",

Bump the solution stack version

deployment/custom-deployment/cdk-manifest.json
{
    "default": {
-        "version": "v0.0.2",
+        "version": "v0.0.3",

Commit the changes.  Push the changes.
Validate that CodePipeline detects the changes.
Validate the solution stack version is correct in build
[Container] 2020/06/15 11:09:30 Running command echo "Deployment version $VERSION"
--
335 | Deployment version v0.0.3

Verify the version number in the deployment step...

SmartProductOwnerWebAppCopyS3Assets27AEC5DE:
--
320 | Type: Custom::CopyS3Assets
321 | Properties:
322 | ServiceToken:
323 | Fn::GetAtt:
324 | - SingletonLambdahelperFunction069AB33D
325 | - Arn
326 | Region:
327 | Ref: AWS::Region
328 | ManifestKey: smart-product-solution/v0.0.3/site-manifest.json
329 | SourceS3Bucket: smart-fan-devoutputbucket-1f5bkjob6sxdm
330 | SourceS3key: smart-product-solution/v0.0.3/console
331 | DestS3Bucket:
332 | Ref: SmartProductOwnerWebAppWebsiteBucketFD64D2DA
333 | DependsOn:
334 | - SmartProductOwnerWebAppHelperS3Policy0AFA4848
335 | UpdateReplacePolicy: Delete
336 | DeletionPolicy: Delete
337 | Metadata:
338 | aws:cdk:path: SmartProductSolutionStack/SmartProductOwnerWebApp/CopyS3Assets/Default

Expected Results:
Change shows in the Owner Web App
Actual Results:
The changes do not appear in the Owner Web App


BEAM-934 Findbugs doesn't pass in Java8 Examples

Maven Build result:
...
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ beam-examples-java8 ---
[INFO] Installing C:\workspace-apache\beam\examples\java8\target\beam-examples-java8-2.2.0-SNAPSHOT.jar to C:\Users\almass.m2\repository\org\apache\beam\beam-examples-java8\2.2.0-SNAPSHOT\beam-examples-java8-2.2.0-SNAPSHOT.jar
[INFO] Installing C:\workspace-apache\beam\examples\java8\dependency-reduced-pom.xml to C:\Users\almass.m2\repository\org\apache\beam\beam-examples-java8\2.2.0-SNAPSHOT\beam-examples-java8-2.2.0-SNAPSHOT.pom
[INFO] Installing C:\workspace-apache\beam\examples\java8\target\beam-examples-java8-2.2.0-SNAPSHOT-tests.jar to C:\Users\almass.m2\repository\org\apache\beam\beam-examples-java8\2.2.0-SNAPSHOT\beam-examples-java8-2.2.0-SNAPSHOT-tests.jar
[INFO] Installing C:\workspace-apache\beam\examples\java8\target\beam-examples-java8-2.2.0-SNAPSHOT-tests.jar to C:\Users\almass.m2\repository\org\apache\beam\beam-examples-java8\2.2.0-SNAPSHOT\beam-examples-java8-2.2.0-SNAPSHOT-tests.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:20 min
[INFO] Finished at: 2017-07-09T11:49:43+05:30
[INFO] Final Memory: 30M/109M
[INFO] ------------------------------------------------------------------------

R: @jbonofre

retest this please

Python SDK build failed. Let me take a look.

It's nothing to do with the module in which i the change has been released. It's in the python module which is unchanged.
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:exec (setuptools-test) on project beam-sdks-python: Command execution failed.

Weird that latest build failed for no issue of code issue:
2017-07-10T16:57:01.907 [ERROR] Failed to execute goal on project beam-sdks-java-io-hadoop-jdk1.8-tests: Could not resolve dependencies for project org.apache.beam:beam-sdks-java-io-hadoop-jdk1.8-tests:jar:2.2.0-SNAPSHOT: The following artifacts could not be resolved: org.apache.hive:hive-exec:jar:1.2.1, org.apache.calcite:calcite-core:jar:1.2.0-incubating: Could not transfer artifact org.apache.hive:hive-exec:jar:1.2.1 from/to central (https://repo.maven.apache.org/maven2): GET request of: org/apache/hive/hive-exec/1.2.1/hive-exec-1.2.1.jar from central failed: Connection reset -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project beam-sdks-java-io-hadoop-jdk1.8-tests: Could not resolve dependencies for project org.apache.beam:beam-sdks-java-io-hadoop-jdk1.8-tests:jar:2.2.0-SNAPSHOT: The following artifacts could not be resolved: org.apache.hive:hive-exec:jar:1.2.1, org.apache.calcite:calcite-core:jar:1.2.0-incubating: Could not transfer artifact org.apache.hive:hive-exec:jar:1.2.1 from/to central (https://repo.maven.apache.org/maven2): GET request of: org/apache/hive/hive-exec/1.2.1/hive-exec-1.2.1.jar from central failed

Coverage increased (+0.007%) to 70.975% when pulling c909c9efe97632a9a9ab19ca6a6d99f3c8c5ffe0 on eralmas7:bugFix-934 into f467d6bbbe50a5b1fbca9a417c587615ad7943e5 on apache:master.

Can you also edit the pom to re-enable findbugs?

Coverage decreased (-0.2%) to 70.73% when pulling 462c66dc0466dfe543b1aeaf8970b43278839dfd on eralmas7:bugFix-934 into f467d6bbbe50a5b1fbca9a417c587615ad7943e5 on apache:master.

Anything more needed for this PR?

Nothing @reuvenlax . I'm waiting for a long time to get it merged!


Ignore benign error in destructor. Fix #113

It’s not really an issue, but when the Chromecast object gets garbage
collected after failing to connect to a device (before creating a
SocketClient instance), its del is called, which in turn calls
self.socket_client.stop.set(). This leads to the error described in
the mentioned issue being logged/printed.

Thanks!


Rework STs using obosolete profile member add commands.

One small comment. The tests are passing on semaphore now. Woohoo!

Tom, strip() is now pulled into the execute() method.  Also updated a couple of doc strings that were missing some details.

LGTM


Alphabetized the list of projects

https://github.com/nzufelt/open_source_movement_csc630/issues/81

Thanks!


Update azure-monitor-data-explorer-proxy.md

The rights to the Log Analytics Workspace must always be added, even if those tables are not queried (eg. when only ADX tables are queried).

@sandervandevelde Thanks for your dedication to our documentation! I would like to better understand the clarification that's required. Can you please provide a bit more context about the scenario in which you feel the current documentation is ambiguous? I'm hesitant to change the wording to "your alert needs explicit..." since this article applies to all cross-service queries, including those not used by an alert.

Hello @guywi-ms ,
My concerns are that the permission prerequisites here are given without any context.
Yes, the need for Azure Resource Graph permissions and Azure Data Explorer permissions are clear if you want to access those resources.
The permissions for the Log Analytics workspaces are needed because the scope is set with a cross-service query in mind.
If someone only want to use the Azure Data Explorer, the Log Analytics workspace permissions must be set because that Log Analytics workspace scope should be set according to the documentation.
but that permission is not needed if the scope is set to the ADX cluster itself.
Thus, that relationship between permission prerequisites and scope selection was not clear to me.
I would like to see this relatinoship is stated more explicitly.

Hi @sandervandevelde,
Thank you very much for the clarification! This is very helpful. 👍
I have created a separate PR to clarify in a few places throughout the article that the article deals with querying Azure Data Explorer and Resource Graph from a Log Analytics workspace (and as a note, that you can also create cross-service queries from these other services).
Thanks again for your contribution!
#please-close


Tables don't need to be selectable

Tables in table panel just need to be expandable to show columns and clickable to trigger query

Fixed with a90a45f7c20cf5827eb142997696e7aa8c9424a9


Capturing comments instead of ignoring in the LIN file

I would like to parse the comments in the ldf file. Will you able to provide update to "ldf.lark" for it?
My LDF file starts like this
/*************************************************************************************/
//
// Description: LIN Description file created using internal tool
// Created:     26 Aug 2019 08:46:58
// Author:      Venkatesh
// Version:     0.0
//
/*************************************************************************************/
// BASELINE_1.1.0
I would like to get at least the string "BASELINE_1.1.0"

The relevant segment is probably easy to change:
https://github.com/c4deszes/ldfparser/blob/345c3fb3a098ea612d7656614649c0abb9a38f01/ldfparser/ldf.lark#L108-L109
The only thing I am unsure about is how comments are seen from the parser side. As of 0.5.0 released today the parsing mechanism has two stages, first the LDF is converted into a dictionary then converted objects.
It's fairly easy to add a 'comments' field to the dictionary, then you could just use this example to access them.
https://github.com/c4deszes/ldfparser/blob/345c3fb3a098ea612d7656614649c0abb9a38f01/examples/ldf2json.py#L1-L7
After the dictionary conversion there's an LDF object which holds signals, frames, nodes, etc. that can be used for data manipulation, I'm not sure how I would go about adding a comment list there but I'll see what I can do.
What I can guarantee even before implementing this request is that it's going to store all comments in a list, multiline comments will likely be a single string, so you'll have iterate through all comments and find the relevant segment. Also you can expect this feature to be in 0.5.1 since I don't have anything else planned.

The linked PR should allow such functionality, the one thing I'd note is that it doesn't trim the // and /* */ parts of comments so you're getting the raw comment tokens and for block comments the string contains the newline characters, you'll have to do some string magic to get the information you need. Also you have to specify that the parser should capture comments, here's an example:
https://github.com/c4deszes/ldfparser/blob/b1421fde700d0550fd90effec620f7a19e5161ef/examples/read_comments.py#L1-L7
Both parseLDF and parseLDFtoDict methods should work, when using the dictionary you can access it via json['comments'] and when using the LDF object it has a string list field ldf.comments.
For technical reasons the LDF lark file stays the same and a separate lark file and parser is used to capture comments, Lark doesn't allow redirecting tokens to different channels and since comments can appear anywhere in the code there was no good way of collecting them all without major modifications to the syntax tree.
I still have to verify it against production LDF files before merging the PR.

Added some extra CI steps so you can test it out before release, just run this command to install.
pip install -i https://test.pypi.org/simple/ ldfparser==0.5.1.dev83

Works great!! It captures comments in my LDF as list of 2 elements. I just need 2nd element in the list. I would have preferred without  // and /* */ parts. But this one may be more robust for different situations. Thank you!

After your reply I checked and block comments seem to absorb line comments when there's no code interruptions in between. I merged the PR anyway since it's working in your case and will capture all comments albeit with some extra work needed from the user side and regarding these cases I'd rather let users decide how they extract information out of comments, in your case it seems fairly trivial since the format of the line of interest is given.
In the future if this feature has more applications there may be some improvements to it.
The release is available on PyPi, can be upgraded to via pip install ldfparser==0.5.1


pynautobot reqquest error

I am trying to flter devices based on their tags it is working on and off but I am not what is the reason
the environment
nornir 3.1.1 and Nautobot 1.0.3
File "/home/test/pynet_nautobot/lib64/python3.6/site-packages/pynautobot/core/query.py", line 226, in _make_call
    raise RequestError(req)
pynautobot.core.query.RequestError: The request failed with code 504 Gateway Time-out but more specific details were not returned in json. Check the Nautobot Logs or investigate this exception's error attribute.

and here is the init file
    nr = InitNornir(
        inventory={
            "plugin": "NautobotInventory",
            "options": {
                "nautobot_url": nb_url,
                "nautobot_token": nb_token,
                "ssl_verify": False,
            },
        },
    )

nb = pynautobot.api(url=nb_url,token=nb_token)
    nb.http_session.verify = False

    fd = {}
    smartnet_devices=[]
    for a in filt:
        k, v = a.split(':')
        fd[k] = v
    #ff = F(**fd)

    #print(type(ff))
        new_devices = nb.dcim.devices.filter(tag=[f"{v}"])
        smartnet_devices.extend(new_devices)
        #import ipdb ; ipdb.set_trace()
    my_device_list = list(set(smartnet_devices))
    nr = nr.filter(F(name__any= [f"{items}" for items in my_device_list]))

If I try to run the script couple of items then it works

It looks like Nautobot is returning a 504

is there a way of increasing that timeout value? since it is working intermittently? or is there a way of getting more details like why nautobot can't return the requested data on time?

It would be best to open an issue on the Nautobot Repo. There would be several things to look at, two that come to mind is that it the query is taking too long, and caching is allowing subsequent calls to work, or that there are several requests being sent to the web service, and it is taking too long to process the request.

Appears it was resolved by excluding config contexts. Closing for now.


Extension methods for prefix operators may not be correctly resolved

Consider the following program:
extension E1 on Function {
  operator -() => this;
  operator ~() => this;
}

void main() {
  ~- (() => 1);
}

This program should compile without errors and is accepted by the analyzer, but dart from commit 082c10aab7ce80c7f11b007fb45357ade9776f84 (rather fresh, from today Nov 13th) incurs a dynamic error reported as follows:
Unhandled exception:
NoSuchMethodError: Closure call with mismatched arguments: function '~'
Receiver: Closure: () => int
Tried calling: ~()
Found: ~() => int
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      main (file:///usr/local/google/home/eernst/lang/dart/scratch/201911/n026.dart:7:3)
#2      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:19)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)

A similar problem occurs if the operators occur in the opposite order, or if we use ~~ (-- has a different meaning so we can't use that).
It is not important that the extension is on a function type or Function, the same issue arises when it is on a regular class.
It occurs when more than one <prefixOperator> occurs together, and when they are resolved to extension method invocations. For instance, there is no problem with this:
class A {
  operator ~() => this;
  operator -() => this;
}

void main() {
  print(~-~A());
}

Isn't this because the return type of the operators aren't defined, so it defaults to dynamic?

 So there is no problem. Closing.
And thanks for spotting that! ;-)


[62] Issue #62 - March 23, 2017

https://twitter.com/clattner_llvm/status/842590310525947906

http://lists.llvm.org/pipermail/llvm-dev/2017-March/111025.html

https://oleb.net/blog/2017/03/swift-themed-releases/

https://github.com/apple/swift-evolution/pull/651

swift-stdlib-tool open source:
https://github.com/apple/swift/pull/8258

SE-0155 revision 2 (review round not yet started)


[Python][CI] GCFS python tests fail due to updated version of google-cloud-cpp

Describe the bug, including details regarding any error messages, version, and platform.
As discussed here:
https://github.com/apache/arrow/pull/36119#issuecomment-1611147978
*originally from @raulcd *
I am unsure if there's something else to be done but it seems the nightlies for:

test-debian-11-python-3
test-fedora-35-python-3

Failed with:
E   pyarrow.lib.ArrowInvalid: google::cloud::Status(INVALID_ARGUMENT: missing project id error_info={reason=INVALID_ARGUMENT, domain=gcloud-cpp, metadata={gcloud-cpp.source.function=CreateBucket, gcloud-cpp.source.line=402, gcloud-cpp.source.filename=/build/cpp/google_cloud_cpp_ep-install/include/google/cloud/storage/client.h, gcloud-cpp.version=v2.12.0}}). Detail: [errno 22] Invalid argument

Is there something else to be done? Should I create a new issue for those failures?
and
*originally from @raulcd *
No worries, from my understanding we have to add the new project_id to our GcsFileSystem constructor:
https://github.com/apache/arrow/blob/main/python/pyarrow/_gcsfs.pyx#L83-L89
And adding that to the underlying CGcsOptions.
We migt have to update the __reduce__ function on that file and update the tests on python/pyarrow/tests/test_fs.py:
https://github.com/apache/arrow/blob/main/python/pyarrow/tests/test_fs.py#L211
I'll create an issue
Component(s)
Continuous Integration, Python

Oh, sorry. I missed it.

@kou does this change mean we should require a mandatory project_id when creating a GcsFileSystem?


Employee Management validation does not correctly respect bound sales channels for customers

In the {{\Shopware\Commercial\B2B\EmployeeManagement\Domain\Validation\PreWriteValidationEventSubscriber}} , the duplication of customers' email is checked. Since this is a PreWriteValidationEvent, this also happens on customers, not only on employees. This may already be an issue. Normal customer registration via the {{RegisterRoute}} does not have any PreWriteValidations, only its own validation before trying to write to the database. This leads to an error, because during customer registration, only {{ConstraintViolationExceptions}} are caught, not {{WriteExceptions}} from the DAL, which leads to the registration form being unusable on duplicate emails.
Also, the check is even triggered on wrong occasions, because the {{boundSalesChannelId}} of the customer is only loaded from existing customers (which isn’t the case when trying to register a customer).
I suggest totally ignoring customer validation during PreWrite (or skip PreWrite completely and validate differently?), trusting the {{RegisterRoute}}, and only validate employees. Alternatively, at the very least, the {{boundSalesChannelId}} needs to be loaded correctly from the payload during an Insert and the SystemConfig, whether customers should be bound to a SalesChannel needs to be respected.

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-35555.
[created from NEXT-35555, comment 486549]


fix: adding required setting to comply to the deny policy

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Adding required setting for VMSS resource that will be needed when the Deny Azure policy is applied over our SUBs
Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
This setting was provided by Qian in an email
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2566

Relevant Lines:
3613

💛  - Coveralls


Fix possible endless loop while polling curl socket

In case of high frequency of received signals (more than once per second) the field now will never be updated and it can lead to exceeding of timeout or endless loop if socket will never be ready. For instance in ClickHouse signals SIGUSR1 and SIGUSR2 are being sent each second by internal query profiler and we faced this issue.
Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[ ] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

Yes, I'll try to add a test.

That's a great catch! I am curious, how did you discover this?

how did you discover this?

We use this sdk for integration with azure blob storage in ClickHouse. I ran a stress test with heavy queries and after finishing it I noticed some hung queries with stacktrace on the line changed in this PR. I don't know why poll hasn't received any events, maybe because the connection was by timeout, but I didn't investigate it. After fixing this the issue has disappeared.

Sorry for the delay, it appeared to be harder to add test than I thought.


[cxx-interop] Synthesize conformances to CxxSequence

This makes ClangImporter automatically conform C++ sequence types to Cxx.CxxSequence protocol.
We consider a C++ type to be a sequence type if it defines begin() & end() methods that return iterators of the same type which conforms to UnsafeCxxInputIterator.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test


Migration docs

@aurbiztondo-splunk Let's focus mostly on the language for now, get this into good-enough shape for beta partners, and we'll keep improving as we migrate customers.


Euro forest data

Do we have this in ISCN?
http://icp-forests.net/page/level-ii
Apparently they have soil chem data from almost 800 forests? Though admittedly, I have no clue what soil chem actually includes, but can always find out.

https://www.epa.gov/national-aquatic-resource-surveys/nwca and another one to look into one day (wetlands not Euro forests)


A component has changed the uncontrolled prop "inputValue" to be controlled.

Sorry for the unformated issue. I'll forget about it if I don't post now.
this works when currentWordText is a string
        inputValue={this.state.currentWordText}

this gives the warning in the title
        inputValue={this.state.currentWord.text}

No idea why dotting into a text field would result in this error but thought you should know. Feel free to close.

It's probably because the way your state object is. Make sure you're accessing the right value.
Good luck.


[Menu Entry Swapper] Quick stairs

When using stairs in Lumbridge Castle or other similar stairs/ladders with climb options it would be nice to have [Left Click] set to menu entry [Climb-up Staircase] and have [Shift Left Click] to [Climb-down Staircase].

duplicate of #3562


Change missing scene to self cause editor silently crash

Godot version:
3.2 5823b5d
OS/device including version:
Linux Mint 19
Issue description:
When I set one of missing scene to root scene, then editor crash after a while. Shouldn't be possible to attach scene to itself.
Probably crash will happen if someone change scene directly in .tscn file(via text editor) because Godot doesn't seems to validate if children of scene is not root.

Can anyone still reproduce this bug in Godot 3.2.3 rc3 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

Still valid in 3.2.3


[5.7] Adding RouteRegistrar mixin to Router

I don't typically merge things without a description. What does this fix?

This is a fix for IDE when you're calling something $this->middleware() in Illuminate\Foundation\Support\Providers\RouteServiceProvider instead of using Route::middleware() (Facade).

This is the second reason:
https://github.com/laravel/framework/blob/5.7/src/Illuminate/Routing/Router.php#L1250-L1262
cc @taylorotwell

Hi @taylorotwell, can you review this PR again ?
Thanks

OK @driesvints. Thanks :+1:

@arcanedev-maroc when I said to resend it I actually meant with a clear description in the first comment. This way it's just gonna get closed again.

I've updated the description, let me know @driesvints if there is any missed info


Multiple write workers for 'insert into ... select xxx'

I found that when executing the sql 'insert into ... select xxx', the server only selects one write worker to write data, instead of multiple write workers writing at the same time.

Hi @juppylm , yeah, it is true. Thank you for your recommendation. We will try to improve in future

It should can be supported in August.

solved in https://github.com/ByConity/ByConity/pull/638


New CacheProvider for the nextjs app directory setup changes my pro theme

Description
Hello all,
I appreciate all the efforts that have been made to get this awesome UI to work with the nextjs 13 app directory setup. My application setup is with the new app directory only. It is a brand new application.
My issue issue is, when I add the CacheProvider per docs, my pro theme changes. Most noticeably with its borders in dark mode.
Here is an example of the pro theme component I am using

Here is how it looks like on my local dev page (notice the borders)

and I can get rid of the borders if I take the <CacheProvider> off but I know thats not right :)
Here is my setup (@myapp/ui is a local npm workspace that I import as package but it is full chakra)
app/layout.tsx
'use client'

import { Chakra } from '@myapp/ui'
import SWRConfig from '../src/providers/swrProvider'

export default function RootLayout({
  // Layouts must accept a children prop.
  // This will be populated with nested layouts or pages
  children,
}: {
  children: React.ReactNode
}): React.ReactNode {
  return (
    <html lang="en">
      <head />
      <body>
        <SWRConfig>
          <Chakra>{children}</Chakra>
        </SWRConfig>
      </body>
    </html>
  )
}

here is Chakra from @Myapp/ui
'use client'

import { ReactNode } from 'react'
import { CacheProvider } from '@chakra-ui/next-js'
import { ChakraProvider } from '@chakra-ui/react'
// import chakraTheme from './themeProvider'
import { theme as proTheme } from '@chakra-ui/pro-theme'

interface Props {
  children: ReactNode
}

export const Chakra = (props: Props): JSX.Element => {
  return (
    <>
      <CacheProvider>
        <ChakraProvider theme={proTheme}>{props.children}</ChakraProvider>
      </CacheProvider>
    </>
  )
}

I am not sure why it is happening and I'd greatly appreciate some input on this.
Thank you!

Thanks for raising an Issue :) Maybe @cschroeter can help here?


Improvement suggestions

Hello
Thank you for your help in setting up this nice solution.
I have implemented most of your code for the LCD output of the chronyc status, and everything works as expected. I have a few remarks.
-In latest Linux distributions, in particular on Debian 12, you cannot "pip install" a package system wide anymore in standard.
You must restrict the installation of python packages to a venv. The proposed way to circumvent this is to use pipx to install packages system wise, but pipx only accepts programs pacakges, not libraries (which is the case for gpsd-py3 and smbus).
So the only possible solution is to manually delete the file "EXTERNALLY-MANAGED" located in /usr/lib/python3.xx/.
Considering that this venv constraint will be more and more widespread as systems get updated, you should consider updating your installation documentation.
-Considering the display itself, I believe it would be useful to replace some static information which takes some room, or to switch the content  of a line every once in a while, in particular for one missing very important information, which is the STRATUM status of the server.
If you have a synchronization issue of any kind (like a process unable to access SHM) your server can be degraded to a higher stratum level without any notice. It will still serve time internally on your LAN, but as a lower grade reference. So I believe it would be nice to have the current stratum level directly displayed as well.
I have fiddled with the code that would allow this, but haven't been successful in doing so. It would be nice to complete this ntp_offset() function to parse the stratum level as it processes the chronyc tracking output.
You could then alternate the second line of the display every 5 seconds or so with NTP: X.XXXXXXXXXsec / Stratum level : X
Or any other useful info such as RMS offset and Frequency, both of which have a slow evolution and have some level of importance.
Sorry I am not good enough in Python to work this out myself and also it would be valuable for the community.
Thanks!
Snipet of the current function below
def ntp_offset():
    cmd = ["chronyc", "tracking"]
    ret = exec_cmd(cmd)
    for line in ret:
        pars = line.split(":", 1)
        if len(pars) == 2:
            if pars[0].strip() == "System time":
                sub_pars = pars[1].strip().split(" ")
                if len(sub_pars) > 2:
                    val = float(sub_pars[0])
                    if "slow" == sub_pars[2]:
                        val = -1.0 * val
            return "NTP: {:+12.9f}sec".format(val)

Ok forget it, I asked my new best friend Chat GPT. It took about half a second to generate the following code which I only very slightly modified to adjust the display...
I guess coders will start to get worried...
def ntp_offset():
    cmd = ["chronyc", "tracking"]
    ret = exec_cmd(cmd)
    ntp_val = None
    stratum_val = None
    for line in ret:
        pars = line.split(":", 1)
        if len(pars) == 2:
            key = pars[0].strip()
            value = pars[1].strip()
            if key == "System time":
                sub_pars = value.split(" ")
                if len(sub_pars) > 2:
                    ntp_val = float(sub_pars[0])
                    if "slow" == sub_pars[2]:
                        ntp_val = -1.0 * ntp_val
            elif key == "Stratum":
                stratum_val = int(value)

    if ntp_val is not None and stratum_val is not None:
        return "S:{} NTP:{:+12.9f}s".format(stratum_val, ntp_val)
    elif ntp_val is not None:
        return "NTP: {:+12.9f}sec".format(ntp_val)
    else:
        return "NTP and Stratum values not found"

Thank you for the suggestions and remarks. I will look into both.

Having stratum information available is definitely a good idea.
Yes python packages became more of an effort. My bad recommendation would be to use pip with the infamous --break-system-packages flag for gpsd-py3 since it has no dependencies. venv is of course the correct solution, this would require to modify the chronotron.service file to point to the specific python instance of the venv, which requires some documentation effort. I guess that's the way to go.

I'll update this, once I've had time to look at this.

Hello,
I wanted to install the screen by following the instructions, but I could not succeed in the installation due to the errors mentioned above, which I still had difficulty understanding (I am not a programmer). Have you had a chance to update the instructions to use screen?
Everything is working now, but I have to check by ssh. It would be nice to see from the screen if everything is OK.

@aGGreSSiv : I've updated the documentation of the install process. If you are still having trouble, please open a new issue and describe at what step you're stuck, and we have a look at it!

@aGGreSSiv : I've updated the documentation of the install process. If you are still having trouble, please open a new issue and describe at what step you're stuck, and we have a look at it!

Thank you very much. I will try it as soon as possible.

@aGGreSSiv : I've updated the documentation of the install process. If you are still having trouble, please open a new issue and describe at what step you're stuck, and we have a look at it!

I connected remotely and followed the steps one by one according to the instructions. First I updated the operating system, then I entered the commands one by one. None of the commands gave an error. The LCD is not plugged in right now, maybe that's why it gives an error, but when I check the chronotron service status to check, it gives the following output.
pi@raspberrypi:~ $ sudo systemctl status chronotron
● chronotron.service - Display chrony statistics on 4x20 LCD
     Loaded: loaded (/etc/systemd/system/chronotron.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2023-12-21 13:22:11 +03; 11s ago
    Process: 537 ExecStart=/opt/chronotron/bin/python /opt/chronotron/chronotron.py (code=exited, status=1/FAILURE)
   Main PID: 537 (code=exited, status=1/FAILURE)
        CPU: 422ms

Dec 21 13:22:11 raspberrypi python[537]: Traceback (most recent call last):
Dec 21 13:22:11 raspberrypi python[537]:   File "/opt/chronotron/chronotron.py", line 237, in <module>
Dec 21 13:22:11 raspberrypi python[537]:     main_loop()
Dec 21 13:22:11 raspberrypi python[537]:   File "/opt/chronotron/chronotron.py", line 151, in main_loop
Dec 21 13:22:11 raspberrypi python[537]:     lcd = LcdDisplay()
Dec 21 13:22:11 raspberrypi python[537]:   File "/opt/chronotron/i2c_lcd.py", line 8, in __init__
Dec 21 13:22:11 raspberrypi python[537]:     self.bus = smbus.SMBus(sm_bus)  # Rev 1 Pi: 0, Rev 2 Pi: 1
Dec 21 13:22:11 raspberrypi python[537]: FileNotFoundError: [Errno 2] No such file or directory
Dec 21 13:22:11 raspberrypi systemd[1]: chronotron.service: Main process exited, code=exited, status=1/FAILURE
Dec 21 13:22:11 raspberrypi systemd[1]: chronotron.service: Failed with result 'exit-code'.


Library not working with TAMC_GT911 library

I have 4.3' TFT touch screen module from Makerfabs https://www.makerfabs.com/esp32-s3-parallel-tft-with-touch-4-3-inch.html. I am trying to use the DF2301Q module with the TFT module but it does not work if the TAMC_GT911 touch library (https://github.com/TAMCTec/gt911-arduino) of the TFT module is in the code. The TFT module keeps restarting. If I remove the touch library from the code, the DF2301Q works with the TFT module, and if I remove the DF2301Q library from the code, the touch library works with the TFT module. I am not an expert in Arduino and cannot identify what is causing the problem. Please help me. Thank you in advance.

At present, I have not obtained more effective information. I can only briefly tell you not to let the communication pins of these two devices conflict. The I2C example of DF2301Q uses the default I2C pins of the master controller, and the UART example uses the pins as explained in the example. These should be modified according to your needs. Please ensure that the relevant pins of the two libraries are configured correctly. The pin configuration for gt911-arduino is provided in the example.

Because there was no follow-up communication for a long time, it was temporarily closed


A couple issues with the PHPUnit printer

So there are two main issues I have with the PHPUnit printer:

If you pass --coverage-text into phpunit, it doesn't give the coverage information.
If you dump() inside your tests, the last couple lines of the dump get stripped out, because of how you are replacing output in the console.

Images!

I'll submit a PR for these if I have the time, but I wanted to record these here in case someone else wants to tackle them.

That mainly related to the fact that we use symfony's output sections for providing some console animations. And they don't behave well with long outputs.
Honestly, I am using collision for pest, so I am thinking about remove those animations.

I think doing it the way --testdox does it, where it prints them out as they are finished may be a good compromise, instead of replacing the test one by one, then pushing them all up at once.

@m50 Agree. Even thought the code may be a little messy, do you think you are able to work on it?

@nunomaduro  Not this week, but I can start to take a look next week.


Implementing AWS S3 storage engine

Implementing an AWS S3 storage engine that supports the following commands:

[x] backup: It is used to create a backup for a server.
[ ] restore: It is used to restore a backup from a server.
[ ] archive: It is used to archive a backup from a server.
[ ] delete: It is used to delete a backup from a server.
[ ] retain: It is used to retain a backup from a server.
[ ] expunge: It is used to expunge a backup from a server.
[ ] list-backups: It is used to list the backups for a server.

HTTP requests will be sent using libcurl.

The worker framework could likely be used for parallel upload


WSL Don't works on Windows 11

Windows Build Number
10.0.21996.1
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
idk
Distro Version
any
Other Software
none
Repro Steps
Just installed Windows 11 leak, WSL seems to doesn't work, but on Windows 10 it worked fine. I started setup.exe on flash drive with leak and selected update option with saving files and options
Expected Behavior
It must work, but it don't, says something like "Enable virtualization in BIOS and some features are not installed"
Actual Behavior
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.
Diagnostic Logs
none

Seriously?

/dupe #7068.


Use re-entrant version of strtok(), i.e. strtok_r(), to get tokens

Use re-entrant version of strtok(), i.e. strtok_r(), to get tokens.

Due to there are static variables used in files, changed to strtok_r() does not make the built library thread safe. There is another pull request #45 addressed this issue by totally removing strtok().

I believe Windows does not have strtok_r, which is part of the reason I open-coded it in #45 instead.

@tavianator You are right, there is no strtok_r in Windows. However, there is strtok_s in Windows API having the same signature. So one way to resolve it is adding
#ifdef WINDOWS
#define strtok_r strtok_s
#endif

in certain header file to change it from strtok_r() to strtok_s().


Change timeout in config

Change where the timeout is accessed from

This is broken now because it's pointing to a non-existent branch for the workflows. I opened #19 instead.


fixes #48 by popping unneeded axis out of messages.axes

See #48 for motivation.

Good find, thanks for the contribution!!


feat(cluster-agent): implementing persistence layer and switchover engine

changes:

Added support to store switchover request in etcd
Added support to process incomplete switchover request on cluster-agent restart

Signed-off-by: Mayank<EMAIL_ADDRESS>

bors try


Profiles of Team Members Opening in the Same Tab Instead of a New Tab

Contact Details
<EMAIL_ADDRESS>What happened?
When navigating to the FOSSCU website and attempting to view the profiles of the team members, the profile opens in the same tab instead of opening in a new tab as expected. This behavior disrupts the user's browsing experience and makes it difficult to navigate back to the team section without using the browser's navigation buttons.
What browsers are you seeing the problem on?
Firefox, Chrome
Relevant log output
No response
Code of Conduct

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

#118


Can not use git!

Environment
Windows build number: 1903 (18362.175)
Windows Terminal version (if applicable): <IP_ADDRESS>

Steps to reproduce
Can't use git and console seems not to be responding to pings neither:
_alesdonoso@DESKTOP-HK3S6GS:/mnt/c/Users/ale__/Desktop/Development$_ cd scope.ink.landing/
_alesdonoso@DESKTOP-HK3S6GS:/mnt/c/Users/ale__/Desktop/Development/scope.ink.landing$_ git pull
**fatal: unable to access 'https://github.com/alesdonoso/scope.ink.landing.git/': Could not resolve host: github.com**

_alesdonoso@DESKTOP-HK3S6GS:/mnt/c/Users/ale__/Desktop/Development/scope.ink.landing$_ ping www.github.com
**ping: www.github.com: Temporary failure in name resolution**

Expected behavior
It should be working fine, terminal is just apparently broken.
Actual behavior
Can't use it.

Update!
Pings are not being resolved.

This is not going to be anything to do with the terminal you are using, you have a networking problem with your system

This looks like a WSL issue. Please file it at Microsoft/WSL.


The main markets listing page should have total share value outstanding in ETH as one of the things listed [our closest thing to market cap for markets]

...
@sprinkle We already display number of shares outstanding, correct?  If share value outstanding is just number of shares outstanding * last trade price, would this be redundant?  (Although, maybe relevant enough that it should be shown anyway...?)
...
That’s correct.
It’s effectively just a user aid so they don’t have to do the math.
...

If share value outstanding is just number of shares outstanding * last trade price, would this be redundant?

Not quite, it'd be shares outstanding * range, not times last trade price.
-joeykrug

Done


Code vanished on this exercise!

Challenge Waypoint: Line up Form Elements Responsively with Bootstrap has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:42.0) Gecko/20100101 Firefox/42.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
After completing the previous exercise, this page loaded with no code or output displayed at all!

Unfortunately I am not able to reproduce this error when finishing the previous challenge and moving onto this one.
You can reset the seed code by using the Reset button on the left hand side of the page, underneath the Run Tests button.
Thanks and happy coding!


Add whisper-ctranslate2

Add whisper-ctranslate2

Tip: You should not submit pull requests from the main branch.


MiFareIOS - Slow and Inconsistent Performance

Hi all.
I'm experiencing some odd performance issues using this on my iPhone 12 Pro (iOS 16.0). I am trying to scan some test cards and it is taking sometimes up to 30sec for me to get the tag ID. However if I open an app such as NFC Tools, the cards scan immediately.
The cards I'm scanning are both Mifare (ISO 14443-3A), one appears in NSF tools as a "NXP - Mifare DESFire EV1 4k" and the other appears as "NXP - Mifare Ultralight EV1 48 bytes". Both cards scan within a second in that app.
When I try with the code below, I am seeing some very long delays between each of the console.log steps, particularly between step 3 and 4.
console.log("Step 1");
let resp = await NfcManager.requestTechnology(NfcTech.MifareIOS, {
    alertMessage: "Scan a registered Card"
});

console.log("Step 2");
NfcManager.cancelTechnologyRequest(resp);

console.log("Step 3");
let tag = await NfcManager.getTag();

console.log("Step 4 - tag: " + tag.id);
actionCard(tag.id);

My specific process here is:

Launch the app and trigger the code above via a button press. The iPhone pops up with the "Ready to Scan" popup as usual. The XCode output log displays "NFCTag didBecomeActive"
Bring the card near the phone. The XCode output log displays "NFCTag didDetectTags" immediately.
Anywhere from 3-20 seconds later, I see "Step 2" logged, the technologyrequest is cancelled, and I see "Step 3" logged.
Anywhere from 5-30 seconds later again, I see "Step 4 - tag: " logged, and my next function is triggered.

Is there something that might be causing the delays? I am running version 3.14.0 of this library, and I can also get this to behave the same way on an iPhone 8 Plus

@ntbutler-nbcs were you able to figure this out? I am running into the same issue.

@hkaras19 unfortunately not sorry - for the project I was working on, I had to abandon iOS MiFARE and go with an external USB card reader


daemon retard (can i say retard hear?)

Describe the bug
stuck on daemon
To Reproduce
Steps to reproduce the behavior:

Go to 'the download'
Click on 'reinstall'
See error

Expected behavior
dosent work
Logs
Attach logs (app, node, supervisor) to the issue. Where to find the logs: https://github.com/mysteriumnetwork/mysterium-vpn-desktop#logs
Screenshots

Desktop (please complete the following information):

OS: [windows 11]

App Version [not sure]

Additional context
Add any other context about the problem here.

with logs i did everying. deleted the folder and did things with logs. i can show my logs if you want but i reisntalled then so theres really no point

so idk how but it started working all i did was task manager myst_supervisor and closed out of mysterium launched the installer from the mysterium website and while the installer was launching launched mysterium

im getting this now

nvm its happening agian

Which version of the app do you have downloaded? Make sure you are running latest version of the app

latest


z-index issues related to comments

Observed issues related to pins -

[ ] Pins at the edges
[ ] New comment pins should be on top of old comment pins
[ ] Unpublished comment pin is below the widget / table widget column

https://user-images.githubusercontent.com/13262095/131613053-d624afc6-0a2c-4085-9201-6e6a801f4204.mov

@pranavkanade some of the CSS changes in this fix have broken Layout control.
#7195
as discussed lets revert some of the changes and think of a fix accommodating both features.

With this PR - https://github.com/appsmithorg/appsmith/pull/7502 the bug comment pins being cut off at the top of canvas will be reintroduced. Tracking it through https://github.com/appsmithorg/appsmith/issues/7396


Fix TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage

About the PR
When Content.Shared.Atmos.Atmospherics.LowPressureDamage is set to anything other than 1 or 0 TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage fail assertions of damage done.
With LowPressureDamage = 4
  Failed TestSuicideByHeldItemSpreadDamage [475 ms]
  Error Message:
     Assert.That(damageableComp.Damage.DamageDict["Slash"], Is.EqualTo(lethalDamageThreshold / 2))
  Expected: 100
  But was:  99

  Failed TestSuicideByHeldItem [955 ms]
  Error Message:
     Assert.That(damageableComp.Damage.DamageDict["Slash"], Is.EqualTo(lethalDamageThreshold))
  Expected: 200
  But was:  198

The tests are fine with Atmospherics.LowPressureDamage = 1 due to rounding up to next integer (199.5->200) which is why this issue was not spotted sooner.
I've noticed that tests fail only on full or expanded test runs.
Example: --filter SuicideCommandTests passes, --filter Commands fails.
The test player must take a tick of barotrauma damage at some point.
Healing all damage before running the command and the damage assertions fixes the issue.
Special thanks to @SlamBamActionman for tracking down the bug.
Why / Balance
Bug fix. Needed downstream due to changed low pressure damage.
Technical details
DamageableSystem.SetAllDamage() to 0 before running the commands and asserting the damage.
Media
N/A
Requirements

[x] I have read and am following the Pull Request and Changelog Guidelines.
[x] I have added media to this PR or it does not require an ingame showcase.

Breaking changes
N/A
Changelog
Not player facing

god bless you

thanks for fixing my jank test


Add kivy.uix.behaviors.touchripple module

Introduces general TouchRippleBehavior and TouchRippleButtonBehavior classes

@rnixx, thanks for your work, this will be a popular feature.
There were some concerns about the ways variables are set, @Kovak could you give some pointers what needs to be changed in the pr?

@Kovak, if you provide some details I can adopt the pull request where appropriate. Thanks

All of the controlling properties were made into non-properties, things like:
ripple_fade_from_alpha = .5
ripple_fade_to_alpha = .8
This makes it needlessly difficult to style the ripple. Also is a step back from the original implementation this code is based on.
In addition we touch ungrab but never grab, which means we are randomly ungrabbing some grab caused by another logic. This of course is the reason my original implementation actually had a GrabBehavior that no one else seems to have liked. It is the only really solid way to handle widgets that may have several mixins that depend on touch.grab without ending up with tons of touch.grab for the same widget.

This makes it needlessly difficult to style the ripple
Is there really a scenario where some want to bind these settings? I mean, normally you do not change these settings during an animation and if you change the settings on a subclass or an instance, changes get respected for the next animation.

In addition we touch ungrab but never grab
Ok, what's your suggestion then? Remove the ungrab in on_touch_up or add a grab to on_touch_down?

This of course is the reason my original implementation actually had a GrabBehavior that no one else seems to have liked
I cannot remember a GrabBehavior, but I'm fine if one exists.

@Kovak @dessant may you review again please?

@rnixx  if you can fix the last error, we'd like to merge this this weekend if possible.

@Kovak Sorry for the late reply, missed that one in my mails. Fix is committed

I fear the TouchRippleButtonBehavior cannot stay as it is right now.
We have different behviour how on_release gets triggered. thus is think we cannot work with super calls because on_touch_up of ButtonBehavior would be called then, which causes the behaviour trouble.
But we want to delegate on_touch_down and on_touch_up anyways to other superclasses, right?
An option would be to create a ButtonBehaviorBase class, not implementing on_touch_down and on_touch_up. This base gets inherited from then in ButtonBehavior and TouchRippleButtonBehavior which implement the touch event handlers.
Next, if i understand ButtonBehavior and how it is used in uix.button and kv, state is only used for visual effect, which is also not desired in a TouchRippleButton because the ripple animation is the visual effect there. So the base class also might not provide state and min_state_time.

I changed TouchRippleButtonBehavior not to derive from ButtonBehavior now.
Event registration, on_mouse_move, default on_press and on_release handler, last_touch and always_release share the same code, so this might go to a base class.
After thinking a little more about state, it might be worth supporting it as well in TouchRippleButtonBehavior, if someone wants a toggle button with ripple effect on each state change.
What do you think?

Thanks for the update @rnixx. @Kovak, are you ok with the current state, api names etc?

@Kovak ping 😄

Last time we talked about this topic in IRC, @Kovak complained about the reimplementation of a touch ripple related button behaviour.
I was pointing out problems with super chains when starting to inherit from multiple behaviours, especially if we have in detail slightly different needs when exactly events are triggered, etc. The discussion ended with no result.
We have some options now:

Remove TouchRippleButtonBehavior, merge with TouchRippleBehavior only and work/discuss on the multiple inheritance problem in a new PR/issue.
Add experimental note to  TouchRippleButtonBehavior and merge as is.
Keep discussing ;)

@Kovak @dessant @KeyWeeUsr
Hi,
how should we proceed with this one?

@Kovak Hi, do you have some time so we can finally finish this task?

@KeyWeeUsr Hi,
I updated the import formatting, added experimental note to this module and added a fix which ensures ripple animation completes if disabled property gets set to True in TouchRippleButtonBehavior.
Hope this can get merged in this state now.
Thanks

@rnixx Thanks for waiting and for the work 🍡

@KeyWeeUsr Thank you likewise.


MinMaxScaleConstraints missing from HandInteractionExample Scene

Describe the bug
Canvas UI portion of the Hand Interaction Example scene is missing its Min/Max Scale constraints.
To reproduce

Select the Canvas UI window and unlock its bounds control
See issue, no min/max scale constraints

Expected behavior
hologram has min/max size
Screenshot
'+' is the entire window size

Your setup

Unity Version 2020.3.37f1
Commit Version 064f7cf9dd7eaa6addf29b3ed2706ed683fe7fe2

Target platform

HoloLens 2

At this point I need to just bake this into objmanip or something...

Fixed with this PR #11497


Deprecate other package repos

dnsstorm and lookupstorm are now in this repository, deprecate the old repos now that they're unused. Also update the awesome-synapse list.

Archived the dnsstorm and lookupstorm repos. Opened https://github.com/EXC3L-ONE/awesome-synapse/pull/1 to update links.


create applyPluginsWaterfallWhileCond method

I created this so that I could make plugins that act as filters for what subsequent plugins are applied.  This method is like applyPluginsWaterfall but bails when the given condition function returns falsey when called with the current value.  For instance if the condition just returns the current value, a plugin that returns undefined instead of the current value under certain circumstances would prevent application of subsequent plugins.

And thanks for this nifty little library, I love it!

Could you add a testcase for this?

Sure, I'm going to recreate the PR because I made the all-too-easy mistake of committing to master


Customisable keyboard shortcuts.

I see a few issues where people are asking for specific shortcuts to be added. Please consider allowing people to add and remove shortcuts. For simplicity, this could be a standalone config file with actions mapped to one or more shortcuts, organised by window/tab as is already the case. Ideally this could be configured in the GUI but I don't think that's necessary. With this in place, you would simply have to define the actions and let users configure what they want without having to worry about what users on different platforms expect.

Made it.


Create 2.0.16 release

Latest stable release is from March.
There have been quite some bugfixes.
2.0.16 was scheduled for 3rd quarter

https://github.com/yiisoft/yii2/blob/master/ROADMAP.md
https://github.com/yiisoft/yii2/milestone/25
Issues should be moved to 2.0.17

I think it also makes sense to have a 2.x branch.

There are some critical issues to be fixed. I've already moved some to next milestone but there are still plenty to check. If you have some time to burn, help is really appreciated.

Which ones are the critical ones ... "ready for adoption" + "bug"?

Can you post a link to a filtered view for triaged issues?

https://github.com/yiisoft/yii2/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.0.16+label%3A"status%3Aready+for+adoption"

I think it would be good to adjust the release policy for 2.x slightly.
When looking at the changelog there are almost 80(!) bugs fixed for 2.0.16 - why keep them back? Issuing a patch release is perfectly fine.
The remaining open ones are looking rather hard and complicated to me (half of them are for PgSQL, MSSQL and Oracle), IMHO there's no need to wait until all of them are fixed to get a new release.
We're having a much greater flexibility regarding version numbers now.

Issuing a patch release is perfectly fine

I'd at least at a "critical" label then.

We haven't triaged all issues for the milestone so haven't applied labels yet.


tf.lookup.StaticHashTable with TextFileInitializer uses a cached version of the file even after the file is changed

Click to expand!
Issue Type
Bug
Source
binary
Tensorflow Version
2.8.2
Custom Code
Yes
OS Platform and Distribution
Ubuntu 18.04
Mobile device
No response
Python version
3.7.13
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
When I create a tf.lookup.StaticHashTable with tf.lookup.TextFileInitializer, then change the text file and create a new tf.lookup.StaticHashTable, it uses the contents from the original text file. If this caching behavior is expected, it's not clear to me how to clear this cache.

Standalone code to reproduce the issue
https://colab.research.google.com/drive/1mJ2rTixQXxaePjkdoEfbRMfNbJjlAFSe?usp=sharing

import tensorflow as tf
import tempfile

f = tempfile.NamedTemporaryFile(delete=False)
csv_data1 = f"""0,0
1,1
2,2
"""
with open(f.name, "w") as csv_file:
  csv_file.write(csv_data1)

!cat {f.name}

table1 = tf.lookup.StaticHashTable(
    initializer=tf.lookup.TextFileInitializer(
        f.name,
        key_dtype=tf.int64, key_index=0,
        value_dtype=tf.int64, value_index=1,
        delimiter=",",
    ),
    default_value=-1,
)

csv_data2 = f"""0,1
1,2
2,3
"""
with open(f.name, "w") as csv_file:
  csv_file.write(csv_data2)

!cat {f.name}

table2 = tf.lookup.StaticHashTable(
    initializer=tf.lookup.TextFileInitializer(
        f.name,
        key_dtype=tf.int64, key_index=0,
        value_dtype=tf.int64, value_index=1,
        delimiter=",",
    ),
    default_value=-1,
)

table1.export(), table2.export()

### Relevant log output

```shell
0,0
1,1
2,2
0,1
1,2
2,3

((<tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 1, 2])>,
  <tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 1, 2])>),
 (<tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 1, 2])>,
  <tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 1, 2])>))

Hi @gadagashwini !
Could you look at this issue . Attached gist in 2.8, 2.9 and nightly for reference.
Thank you!

Hi @rjchee, Looks like it is working as expected. There is no cashing
import tensorflow as tf
import tempfile

f = tempfile.NamedTemporaryFile(delete=False)
csv_data1 = f"""0,0
1,1
2,2
"""
with open(f.name, "w") as csv_file:
  csv_file.write(csv_data1)

!cat {f.name}

table1 = tf.lookup.StaticHashTable(
    initializer=tf.lookup.TextFileInitializer(
        f.name,
        key_dtype=tf.int64, key_index=0,
        value_dtype=tf.int64, value_index=1,
        delimiter=",",
    ),
    default_value=-1,
)
table1.export()

Output
0,0
1,1
2,2
(<tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 2, 1])>,
 <tf.Tensor: shape=(3,), dtype=int64, numpy=array([0, 2, 1])>)

f = tempfile.NamedTemporaryFile(delete=False)
csv_data2 = f"""0,1
1,2
2,3
"""
with open(f.name, "w") as csv_file:
  csv_file.write(csv_data2)

!cat {f.name}

table2 = tf.lookup.StaticHashTable(
    initializer=tf.lookup.TextFileInitializer(
        f.name,
        key_dtype=tf.int64, key_index=0,
        value_dtype=tf.int64, value_index=1,
        delimiter=",",
    ),
    default_value=-1,
)

table2.export()

Output
0,1
1,2
2,3
(<tf.Tensor: shape=(3,), dtype=int64, numpy=array([1, 2, 0])>,
 <tf.Tensor: shape=(3,), dtype=int64, numpy=array([2, 3, 1])>)

Hmm, that's strange. The colab notebooks @mohantym linked also show the issue. Does it depend on the system you're on?

Hi @rjchee, On Colab if you are executing both the cases in same cell, we can observe cashing, since both are printing from single cell.
You should execute it in different cell to and print the tables accordingly. Thank you!

@gadagashwini I observe this behavior even if I use different cells in colab. https://colab.research.google.com/drive/1mJ2rTixQXxaePjkdoEfbRMfNbJjlAFSe?usp=sharing.
Also, I don't see why the behavior should be different if they were in the same cell.

Hi @rjchee, Even if we execute on single cell, there is no cashing,
Code is working as expected, Please find the gist here. Thank you!

It looks like in the gist, you use a different NamedTemporaryFile each time. These are different files with different names, so of course there is no caching. The case I am looking at is if you use the same filename for two different StaticHashTables. Could you please check that case?

HI @rjchee, I am using same file name called f in both case. Initialising freshly for second case. Can you verify. Thank you!

f is a variable name, not the file name. If you do f = tempfile.NamedTemporaryFile, it creates a new file with a different name, so writes to it won't affect the first file. I modified your gist so that it prints the names of the files being used. I also added a version which doesn't create a new NamedTemporaryFile. Please refer to the last cell which demonstrates the bug.

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


Update code_info.py

occured -> occurred

Emm...Thanks for your correction.
FYI, the documents and comments in the code are still being written. We will update them later.


Allow manual editing of recruitment priority after recruitment has started

Right now, priority can be set when first starting the recruitment process. Admins should be able to edit the priority after the recruitment has started as well.

@pbanaszkiewicz @elichad is there any other information needed to implement this feature?

@maneesha I think there's little or no UI for editing the individual recruitment processes. Do you want to create a separate view for that? Do you want to include more fields, not just the priority?

Currently, workshop priority does not update as the workshop gets closer to the start date.


Available vehicle library and Default vehicle

Hello everyone,
I am using CARLA 0.8.4 and I am trying to run it by changing default vehicle to two wheeled vehicle, but I am not able to.
I have seen that I can change the model in initial settings at, 'PlayerVehicle', like this
"PlayerVehicle=/Game/Blueprints/Vehicles/BmwGrandTourer/BmwGranTourer.BmwGranTourer_C"
But my problem is, I am not able to find these blueprints (Since I have not built CARLA from source, but just using pre-compiled versions). Can someone help me in finding models for bike?
Note: As it is easy enough to change the default vehicle by knowing the models and path, I think it would be good idea to have a text file with all the vehicle models available. It will make it easier for the documentation.
PS: Please excuse me if this question is really basic or if there is already such file existing. I have not been in touch with CARLA from past few months.

@marcgpuig
Thank you for your reply. It helps a lot.
And I hope you had a nice time on vacation. :-)

Let me reopen this issue until the spelling errors got fixed :)


Move pynput dep

Pull Request
What type of PR is this? (check all applicable)

[x] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update

Description
Moves pynput dep to rosdep.

Waiting for like 3 weeks

Waiting for pynput to make it into rosdep


Wine (with mingw support)

Project description
There is a great wine package currently in NixOS but it lacks mingw support for the DLLs.
This is needed for a few games including World of Warcraft it seems. Basically we need to build WINE with "--with-mingw" compile flag. The problem I have here is - I have no idea how to actually include the mingw compiler as a dependency to WINE.
Any help here would be appreciated.
Metadata

homepage URL: https://www.winehq.org/ | http://www.mingw.org/
source URL: n/a
license: n/a
platforms: linux

cc @avnik @bendlas @7c6f434c

@cawilliamson I think something like this should work:
{ wine, pkgsCross }:

wine.overrideAttrs (attrs: {
  nativeBuildInputs = attrs.nativeBuildInputs ++ [
    # Needed if building with wine32 or wineWow
    pkgsCross.mingw32.windows.crossThreadsStdenv.cc

    # Needed if building with wine64 or wineWow
    pkgsCross.mingwW64.windows.crossThreadsStdenv.cc
  ];
})

I've had to do something similar when trying build Guy1524's Easy Anti-Cheat fork:
https://github.com/MetaDark/nur-packages/blob/6d867e5b3c14027981a2772d0a8b937120fe24e3/pkgs/misc/emulators/wine-eac/default.nix

@avnik @bendlas @7c6f434c Maybe it would make sense to add a mingwSupport parameter to handle this?

I am not sure what it actually does, but maybe

@MetaDark Thanks a lot for that - I also faced another problem which your linked code sorted - the "compiler cannot create executables" error - strictDeps looks to have solved it though. :+1:
@7c6f434c I can tell you - it uses the mingw compiler to compile "PE DLLs" (I believe this is in reference to Windows PE DLLs but could be wrong.) It then uses these in place of the normal fake builtin DLLs it uses. This enables a much more convincing Windows environment which some apps / games appear to need.

@7c6f434c I can tell you - it uses the mingw compiler to compile "PE DLLs" (I believe this is in reference to Windows PE DLLs but could be wrong.) It then uses these in place of the normal fake builtin DLLs it uses. This enables a much more convincing Windows environment which some apps / games appear to need.

Ahhh makes perfect sense.
Do I understand correctly that build closure grows quite a bit? Any impact on runtime closure? I will merge a PR adding an off-by-default MinGW option, absent some well-grounded onjections, but maybe it should indeed be off-by-default. I guess if runtime closure change is small and build closure change is within 20% or so, we could enable by default…

@7c6f434c I'm not too sure what closure means in this context D: What I will say, however, is that this is OFF by default in most distros so I think it should be added as an option and not enabled by default - just as you suggested.
@MetaDark Your changes got me a lot further in to the build but I believe I am missing one critical change - the build runs correctly and starts building DLLs via mingw but then fails out with:
/build/wine-5.20/dlls/msvcp60/tests/ios.c:1470:9: error: format not a string literal and no format arguments [-Werror=format-security]
Actual overlay pkg:
self: super:

{
  wine-mingw = super.wineWowPackages.full.overrideDerivation (oldAttrs: rec {
    name = "wine-${version}";
    version = "5.20";

    buildScript = ./builder-wow.sh;

    wineRelease = "staging";

    src = super.fetchurl {
      url = "https://dl.winehq.org/wine/source/5.x/wine-${version}.tar.xz";
      sha256 = "0746j29six9cjgxp9pxfw1r67xhi39kvmqaq5yhvmgdyrvw24mcg";
    };

    # Fixes "Compiler cannot create executables" building with wineWow
    strictDeps = true;

    nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [
      # needed for wine32 or wineWow
      super.pkgsCross.mingw32.windows.crossThreadsStdenv.cc

      # needed for wine64 or wineWow
      super.pkgsCross.mingwW64.windows.crossThreadsStdenv.cc
    ];

    # Fixes -Werror=format-security
    hardeningDisable = oldAttrs.hardeningDisable ++ [ "format" ];
  });
}

What I will say, however, is that this is OFF by default in most distros

I think Arch builds wine with mingw: https://github.com/archlinux/svntogit-community/blob/packages/wine-staging/trunk/PKGBUILD#L52 (mingw-w64-gcc)

@7c6f434c I'm not too sure what closure means in this context D: What I will say, however, is that this is OFF by default in most distros so I think it should be added as an option and not enabled by default - just as you suggested.

Transitive closure: deps, deps-of-deps, deps-of-deps-of-deps-of-deps…
This can go over runtime or build-time dependencies, of course
But yes, no need to look too deeply into impact if the default is off.

@MetaDark Your changes got me a lot further in to the build but I believe I am missing one critical change - the build runs correctly and starts building DLLs via mingw but then fails out with:
/build/wine-5.20/dlls/msvcp60/tests/ios.c:1470:9: error: format not a string literal and no format arguments [-Werror=format-security]
Actual overlay pkg (including the fix for exactly this error from your code linked above.) I wonder if mingw is ignoring the hardeningDisable flag or is using defaults somewhere? We're so close to fixing this I can feel it! :+1:

@cawilliamson Hmm, it worked for me when specifying hardeningDisable. Maybe there is a problem with using overrideDerivation? The Nixpkgs manual strongly recommends using overrideAttrs instead of overrideDerivation. I think it's very likely that's the cause: https://nixos.org/manual/nixpkgs/stable/#sec-pkg-overrideDerivation
@7c6f434c I'll gather information about the closure sizes for each configuration (wine32, wine64, wineWow) and I'll also look into creating a PR that adds a new support flag.

@MetaDark I hadn't noticed that little difference - changed it to overrideAttrs and it's now building properly from the looks of things. Thanks again for all of your help on this - that's super helpful! :+1:

@cawilliamson Hm, interesting. We'll see.
@MetaDark if it is default-off, feel free to skip the closure-measuring step for anything you are not going to use anyway. No need to build something just for that.

@7c6f434c I noticed that runtime closure was dramatically increased with this option:

wine32 (minimal): 829.3M -> 2.6G
wine64 (minimal): 912.5M -> 2.6G
wineWow (minimal): 1.5G -> 4.9G

It looks like development header files from mingw-64-gcc are being referenced in all DLLS under lib/wine. For example, these paths are referenced in the wine32 build:
/nix/store/4pif79nqpcigcrq3934p0jaijq24dy3v-i686-w64-mingw32-stage-final-gcc-debug-9.3.0/i686-w64-mingw32/sys-include
/nix/store/lwlaj95fph6gbvvcnnzg1pws9vqa1np7-mingw-w64-6.0.0-i686-w64-mingw32-dev/include
/nix/store/xrswl3dhfjb3zi4dri7ijwzp2ql4zjkv-mingw-w64-6.0.0-i686-w64-mingw32-headers/include
/nix/store/xrswl3dhfjb3zi4dri7ijwzp2ql4zjkv-mingw-w64-6.0.0-i686-w64-mingw32-headers/include/psdk_inc

Right now I'm looking into why they're being added and if they can be removed / reduced.

If mingw is disabled by default, perhaps it could be added as a new attribute so that it's cached? Considering it's enabled by default in (at least) Arch and official wine repos, some users may expect it to be enabled by default in NixOS too. Having to override wine for e.g. lutris and also build wine (which takes a pretty long time) is a lot of friction for an unexperienced NixOS user (or someone with not so powerful hardware).

@wedens Preferably we would enable it by default. Once, binutils 2.34 is merged to nixpkgs we can re-enabled stripping to avoid the closure increase caused by the debug header references.

Considering the OP mentioned specifically games, I'll just mention that lutris now ships  (via its "runners" machinery) wine 5.21 with mingw.

@cawilliamson Now that #103358 has been merged you can just use:
wine.override {
  mingwSupport = true;
}

This isn't currently enabled by default or cached, but does this solve your issue? Hopefully we can enable this on the minimal build once #89793 is merged and we re-enable stripping.

I don't seem to be able to overwrite wineWowPackages.staging to enable mingwSupport. It does work for wineWowPackages.full though. It complains about a missing hexdump dependency and a patch that it is unable to apply.

patching script interpreter paths in gitapply.sh
gitapply.sh: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/4l7wsi6h6283194r6fqy1731qxlagq62-bash-4.4-p23/bin/bash"
Applying /build/wine-5.22/patches/Compiler_Warnings/0001-windowscodecs-Avoid-implicit-cast-of-interface-point.patch
Missing dependency: hexdump - please install this program and try again.
ERROR: Failed to apply patch, aborting!
builder for '/nix/store/imwnnnbdvp0p297984fj9n15yljb3r3c-wine-wow-5.22-staging.drv' failed with exit code 1

@cawilliamson Did you eventually get WoW 9.0.2 running? Starting Wow.exe ends in an Access Violation popup for me.

Just a heads up, I noticed a regression running Cities: Skylines with mingwSupport = true:
[0105/131817.525:ERROR:dxva_video_decode_accelerator_win.cc(1431)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.dll: Module not found. (0x7E)
[0105/131817.527:ERROR:dxva_video_decode_accelerator_win.cc(1439)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: Module not found. (0x7E)

It looks like this is a problem upstream (I have the exact same problem with Lutris wine), but for now I'm just forcing it to launch with a wine built with mingwSupport = false.

Just a heads up, I noticed a regression running Cities: Skylines with mingwSupport = true:
[0105/131817.525:ERROR:dxva_video_decode_accelerator_win.cc(1431)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.dll: Module not found. (0x7E)
[0105/131817.527:ERROR:dxva_video_decode_accelerator_win.cc(1439)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll: Module not found. (0x7E)

It looks like this is a problem upstream (I have the exact same problem with Lutris wine), but for now I'm just forcing it to launch with a wine built with mingwSupport = false.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/wine-installing-mingw32-compiler/19944/2


Mysql exists after docker-compose up

Hello everybody, I'm trying to run docker un Ubuntu, and I have a problem with MysqL. Always I get this: "/usr/bin/mysqld_safe"   5 seconds ago       Exited (0). I have installed this docker image without problems in two machines, but in this one doesn't work. Any idea? Thanks!!

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

@ninjasilicon The GitHub issue tracker is not a general support forum. It's used for reporting bugs and feature requests in Docker.
Could you ask this question on one of the following locations;

the #docker IRC channel on freenode
the docker-user Google Group
https://forums.docker.com
on StackOverflow

I'm going to close this issue, because this is not a bug-report or a feature-request, but feel free to comment here after I've closed.

Sorry, thank you so much

No problem! Thanks!


Use pact-broker to publish pacts

Codecov Report

Merging #148 (0929b1d) into main (313e73c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #148   +/-   ##
=======================================
  Coverage   88.98%   88.98%
=======================================
  Files          35       35
  Lines         899      899
=======================================
  Hits          800      800
  Misses         52       52
  Partials       47       47

Continue to review full report at Codecov.

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


Feature Request: Add doubling rate graph

We need to add the graph to show the doubling rate (measured in days, luckily) for the country and also state wise.
This will help in understanding the growth-degrowth pattern.

Please raise this enhancement on the react repo. Closing this here.


Remove cursor blinking in the input widget

The orange bold cursor is already easy enough to locate.
It is currently blinking only when the window is focused because users said blinking was too distracting: https://github.com/skyjake/lagrange/issues/50
The issue was fixed in 4c176d97043e33bb9d2db264f0ecb4912e32d553
Some users, including me, consider blinking cursor to be annoying and prefer to disable this feature whenever possible, see https://jurta.org/en/prog/noblink
Besides than, blinking cursor unnecessarily increases complexity of the code.

Thanks for the PR, but I'm not going to merge this. Instead, I'll add an option for you to disable the blinking.


Supporting reading and setting connection state

For feature request: https://github.com/Azure/azure-webpubsub/issues/156
Spec described here: https://github.com/Azure/azure-webpubsub/pull/172
Sample:
const handler = new WebPubSubEventHandler("chat", ["https://xxx.webpubsub.azure.com"], {
  handleConnect(req, res) {
    // You can set the state for the connection, it lasts throughout the lifetime of the connection
    res.setState("calledTime", 1);
    res.success();
  },
  handleUserEvent(req, res) {
    var calledTime = req.context.states.calledTime++;
    console.log(calledTime);
    // You can also set the state here
    res.setState("calledTime", calledTime);
    res.success();
  }
});

@vicancy This comment is unrelated to the changes in this PR
I noticed that this PR did not get labelled automatically. This is probably because WebPubSub is missing an entry in the CODEOWNERS file. Can you please make a PR to update this file for WebPubsub?

Thanks @ramya-rao-a  Created a PR to address the issue: https://github.com/Azure/azure-sdk-for-js/pull/16399

Hi experts, @xirzec @bterlson , if there are no further concerns, I'd like to merge and release the beta.3 SDK.

Thanks for the ping @vicancy, and sorry for the delay (still digging out from my long absence).
I've looked over the APIs here and I like it. The feature also seems quite useful. Nice work!


Update packagemanager_provisionpackageforallusersasync_653384863.md

The wording here is confusing. Added more context to it to clarify it does not actually remove the package for any users (some people thought the api would trigger removals)

@hickeys
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
Note: If you want to adjust any wording in the suggested change, you can add a suggestion in the diff view, and either the contributor or the PR review team can commit the change after you sign off for merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

How?

@wcheng-msft @19RachelZoieJovie97 -
PRMerger will only accept sign off from the listed 'author' - @QuinnRadich . However, if you are a Microsoft employee authorized to update this content, you can send a request to<EMAIL_ADDRESS>for this PR to be merged.  Include your role, and an explanation of why the PR should be merged without approval from the listed author.

I don't know the listed author or whether I have authorization to update this content, but I'm one of the developers on the implementation side of the code behind the API being documented.
From: Jak Koke @.>
Sent: Monday, October 28, 2024 1:40 PM
To: MicrosoftDocs/winrt-api @.>
Cc: William Cheng @.>; Mention @.>
Subject: Re: [MicrosoftDocs/winrt-api] Update packagemanager_provisionpackageforallusersasync_653384863.md (PR #2358)
@wcheng-msfthttps://github.com/wcheng-msft @19RachelZoieJovie97https://github.com/19RachelZoieJovie97 -
PRMerger will only accept sign off from the listed 'author' - @QuinnRadichhttps://github.com/QuinnRadich . However, if you are a Microsoft employee authorized to update this content, you can send a request to<EMAIL_ADDRESS>for this PR to be merged. Include your role, and an explanation of why the PR should be merged without approval from the listed author.

Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/winrt-api/pull/2358#issuecomment-2442583454, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AK2FLGEEGKRXHINXAJEVWQTZ52OK5AVCNFSM6AAAAABOYWIBISVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSGU4DGNBVGQ.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@wcheng-msft - as a developer / expert in this area, we'll accept your changes here.
fyi @QuinnRadich .


Toolchain cannot download JDK 18

Hello,
i have setup my project to use toolchains, but Gradle fails to download JDK 18 when running in Github Actions.
This is the error i get:
> Unable to download toolchain matching these requirements: {languageVersion=18, vendor=any, implementation=vendor-specific}
         > Unable to download toolchain. This might indicate that the combination (version, architecture, release/early access, ...) for the requested JDK is not available.
            > Could not read 'https://api.adoptopenjdk.net/v3/binary/latest/18/ga/linux/x64/jdk/hotspot/normal/adoptopenjdk' as it does not exist.

Expected Behavior
Gradle should be able to download JDK 18.
Current Behavior
Gradle fails to download JDK 18.
Context
I am trying to run tests for my project with Github Actions. Given my project will use JDK 8 and 18 to run tests via the Gradle toolchain feature, i haven't installed any JDK via Github Actions, since Gradle is supposed to be able to download them.
I also use the Gradle build action which can cache the downloaded JDK, so it makes sense to let Gradle download the necessary JDK, keeping my workflow file simpler, and letting Gradle do its magic.
Steps to Reproduce
You can check my repo which is public: https://github.com/gotson/NightMonkeys/tree/ci
Running gradle build in an environment that doesn't have an installed JDK 18 will fail.
Your Environment
gradle.build file
Github Action run that failed

AdoptOpenJDK & Adoptium don't seem to fully support 18 yet, we're going to investigate.

Adoptium DOES support JDK 18:
see https://api.adoptium.net/v3/binary/latest/18/ga/linux/x64/jdk/hotspot/normal/eclipse
But looks like AdoptOpenJDK does NOT have JDK 18:
see https://api.adoptopenjdk.net/v3/binary/latest/18/ga/linux/x64/jdk/hotspot/normal/adoptopenjdk
Although, this is misleading:
https://api.adoptopenjdk.net/v3/info/available_releases
{
    "available_lts_releases": [
        8,
        11,
        17
    ],
    "available_releases": [
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18
    ],
    "most_recent_feature_release": 18,
    "most_recent_feature_version": 18,
    "most_recent_lts": 17,
    "tip_version": 19
}


download button for screen reader

from erin: Ohhhh. Yeah, the way the download button exists now requires an extra click fo the user, and might put things out of order for screen readers. It would be preferable to list the files available to download in a way similar to the Classon's example Doug provided above - there's no need to display a file name, but the example does include the file type which is important, and the file link displays at all time, not requiring an extra click. It makes sense to require the extra click fo the citations, because those take up a lot of space so you don't want them to display all the time. But the download is a single line, so my vote it to have it show always, with the rest of the metadata.
best thing to do is to create a download button that directly downloads the item

Disabled the download link list section
Added link to download button that downloads the file directly