make npm scripts work cross platform

Ideally, the commands would just work on either linux or windows (most work is done against windows, but netlify builds on a linux machine)
Here are some examples of scripts used in the package.json:
# build
set ELEVENTY_ENV=prod && npx @11ty/eleventy

# serve
set ELEVENTY_ENV=dev && npx @11ty/eleventy --serve

# clean
rm -rf _site

# favicon
npx real-favicon generate \"./tools/favicon-generator.json\" \"./tools/faviconData.json\" \"./assets/images/icons/fav\

Problems

Environment variables are set very differently depending on OS
Terminal commands depend on which shell you're using, which is largely sensitive to the environment

References

npm package.json OS specific script
Writing cross-platform Node.js
Writing cross-platform npm scripts on Windows

The Problem
The fundamental challenge is that whatever string ends up in the script section will get sent directly to whatever shell you've selected.  Which means for true cross compatibility, the only safe scripts require syntaxes and commands that perfectly overlap in both cmd and bash - which is a small venn diagram.
Here's an outline of some of the commands we'd like to run and several different implementations across environments to see if we can find something that works universally.
1. Setting Environment Variables
BASH / Linux
MY_NAME=Kyle echo Hi, \'$MY_NAME\'
MY_NAME=Kyle && echo Hi, \'$MY_NAME\'

CMD / Windows
*Note: You cannot have any space between the value being set and the && command continuation character
set MY_NAME=Kyle&& echo Hi '%MY_NAME%'

*Note: For this particular example, the variable expansion will occur immediately, so in order to set and use the variable in the same line you'll need to wrap in cmd evaluation, pass in /V for delayed environment variable expansion, and delimit with ! instead of $.   But it should be fine to consume the variable in a subsequent command.
Node.js
Attach directly to process.env
process.env.MY_NAME = 'Kyle';

.ENV file
You can create a file named .env
MY_NAME=Kyle

And then load into the process with a library like dotEnv like this
require('dotenv').config()

Build Machine / Netlify
You might also set some environment variables on your build server settings like in Netlify Environment Variables:

2. Delete Files / Folder
BASH / Linux
rm with -f force and -r recursive
rm -rf _site

CMD / Windows
The windows equivalent is rd remove directory with /s to delete all subfolders and /q to not prompt for y/n confirmation
rd /s /q _site

Node.js
Use fs.rmdir to remove entire directory as of Node v12.10.0
const fs = require('fs');
fs.rmdir("_site", { recursive: true });

CLI / NPX
RimRaf is a recursive delete package that has a CLI which can be brought in using npx
npx rimraf _site

3. Running Multiple Commands
BASH / Linux
How to run multiple bash commands - Docs on list of commands / control operators

Syntax
Description

A ;  B
Run A and then run B

A && B
Run A, if it succeeds then run B

A || B
Run A, if it fails then run B

echo hey && echo you

CMD / Windows
How to run two commands in one cmd line - Docs on redirection and conditional processing symbols

Syntax
Description

A &  B
Run A and then run B

A && B
Run A, if it succeeds then run B

A || B
Run A, if it fails then run B

echo hey && echo you

NPM
You can Run npm scripts sequentially or run npm scripts in parallel with a library called npm-run-all
If you had the following scripts in your package.json:
"scripts": {
    "lint":  "eslint src",
    "build": "babel src -o lib"
}

You could run them all like this:
$ npm-run-all -s lint build # sequentially
$ npm-run-all -p lint build # in parallel

Possible Solutions
Run Script
One escape hatch seems to be to to invoke a script contained in a node.js file - because node is a prerequisite anyway and is cross-OS compatible.  However, this also seems pretty heavy handed for a 1 line function to delete a directory.  This is similar to the approach taken by Create React App with react-scripts, but they have much more complexity to handle.
Another challenge to this approach is when calling CLI / binary commands like eleventy --serve.  To do that we need to execute a command line binary with Node.js and also pipe the response to stdout
So it could work a little something like this:
File: Package.json:
"scripts" : {
    "build" : "node build.js"
}

File: Build.js
let { exec } = require('child_process');
let log = (err, stdout, stderr) => console.log(stdout)

exec("git config --global user.name", log);

If an OS agnostic node command wouldn't work, you can also use require("os") to get "operating system-related utility methods and properties"
Environment Specific Script Names
As outlined in package.json with OS specific script, there's a library called run-script-os that helps automagically toggle between named script versions
So if we had the following scripts:
"scripts": {
    "build": "npx run-script-os",
    "build:windows": "SET ELEVENTY_ENV=prod&& npx @11ty/eleventy",
    "build:default": "export ELEVENTY_ENV=prod && npx @11ty/eleventy"
}

You could manually run a named instance:
$ npm run build:windows

Or you could let run-script-os decide for you:
$ npm run build

Use NPM CLI packages

There's probably an NPM package for it!

From How to set environment variables in a cross-platform way, there's a package by Kent C. Dodds called cross-env that allows you to set environment variables across multiple platforms like this:
"scripts": {
    "build": "npx cross-env ELEVENTY_ENV=prod npx @11ty/eleventy",
}

Cross Platform Scripts
"scripts": {
-    "build": "set ELEVENTY_ENV=prod&& npx @11ty/eleventy",
-    "serve": "set ELEVENTY_ENV=dev&& npx @11ty/eleventy --serve",
-    "clean": "rm -rf _site"
+    "build": "npx cross-env ELEVENTY_ENV=prod npx @11ty/eleventy",
+    "serve": "npx cross-env ELEVENTY_ENV=dev  npx @11ty/eleventy --serve",
+    "clean": "npx rimraf _site"
}

Using npx to invoke cross-env and rimraf but you could also install globally:
npm i rimraf -g
npm i cross-env -g


Merge branch-MailingList-Qiaoran with Master

The tagEvent PR is contained in this PR since persons in the an event is needed for mailing list creation.

I'll review once ur tagEvent PR gets merged! that way the areas where there has been changes in ur tagEvent section will be updated into this PR as well


[JavaScript] BigInt docs tasks, Fx 70 (high priority)

Trello: https://trello.com/c/toqiqtQ1/17-bigint-fx-70
Acceptance criteria

[x] Implement BigInt support to Intl.NumberFormat

[x] Disallow BigInt literals for Annex-B non-octal digits

First one is pending review: https://bugzilla.mozilla.org/show_bug.cgi?id=1543677#c7
Second is done: https://bugzilla.mozilla.org/show_bug.cgi?id=1568619#c7 ff.

Done and reviewed


Interfacing Event Hub

Can I get an Event when a file is created?

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

ID: 534b3ef3-5664-973e-b146-8c1f960bf536
Version Independent ID: 57c3ce18-2857-8ed0-10a5-5061d391a079
Content: Frequently asked questions (FAQ) for Azure Files
Content Source: articles/storage/files/storage-files-faq.md
Service: storage
GitHub Login: @RenaShahMSFT
Microsoft Alias: renash

Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@tjohnson1010 It is actually not supported, Per this documentation it only supports blobs and datalake.
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


openshift deployment

This PR introduces changes for a proper openshift deployment:

get skupper service controller credentials (token, ca) via environment
openshift template

Depends on: https://github.com/skupperproject/skupper/issues/1090

skupper-prometheus-collector isn't needed anymore in favor of the skupper builtin prometheus exporter coming with version 1.4.0


Cannot read property 'document' of undefined

Hi Josh,
Thanks for the require.js UMD wrapper fix. We're not out of the woods yet though. I've updated the test case:
Archive.zip
Cheers, Cam

To clarify, I've also tried putting the Animate call inside domReady, just to make sure the root of the document actually exists at the time it is called. Alas, the error remains.

Hmmm, let me investigate this. I think this is still the UMD wrapper causing issues.

Hi @camslice,
I have pushed an update (version 1.2.7) that should resolve this issue. I've tested it with RequireJS (using your test case files) and Browserify.
Thanks,
Josh


Returning just key-value pairs as dictionary.

When I'm returning all values, I noticed there are only two methods: allItems and allKeys.
Is there a way to return just key value pairs in one dictionary??
For example,  [ "last_name" : "value1", "first_name" : "value2" ].
Thank you!

No, you can use allItems(), then transform to the simple dictionary, instead.


Improve plugin logging of etcd error conditions

The plugin uses some broad except blocks to catch, for example, etcd connection failures during resync.  We just log out the exception but often that doesn't make it clear what the impact is.  For example, @nbartos hit this one during an FV run:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/calico/openstack/t_etcd ", line 88, in periodic_resync_thread
  File "/usr/lib64/python2.7/site-packages/calico/openstack/t_etcd.py", line 333, in provide_felix_config
  File "/usr/lib64/python2.7/site-packages/etcd/client.py", line 349, in read
  File "/usr/lib64/python2.7/site-packages/etcd/client.py", line 586, in api_execute
  File "/usr/lib64/python2.7/site-packages/etcd/client.py", line 541, in _next_server
EtcdException: No more machines in the cluster

It'd be much cleaner if we logged that this exception terminated the resync and that we'll retry.  Even better if we could catch common exceptions explicitly and log appropriate errors/warnings.

In general, seeing an exception traceback in the log should be interpreted as that we are probably handling it!  Note that if an exception is raised that we don't catch, it causes the greenlet to terminate, without any logging.
For this particular log, I'm afraid I don't yet understand what "No more machines in the cluster" really means - and hence what is really the best way to log and handle that situation.  Can anyone else advise?

In general, seeing an exception traceback in the log should be interpreted as that we are probably handling it! Note that if an exception is raised that we don't catch, it causes the greenlet to terminate, without any logging.

Please don't do that. If an exception is an indication of normal flow (e.g. nothing is inherently wrong), don't log the traceback.
Put another way, logging a traceback at any level lower than WARNING is definitely wrong, and doing it at any level lower than ERROR is probably wrong.
Tracebacks stand out very clearly in logs, and so we should only attract attention to them if they're almost certainly a symptom of the problem.

Sorry, I wasn't clear.  By 'handling it' above, I just meant 'preventing the thread from silently dying' - and hence that perhaps there isn't a strong reason for adding another log to say "it's OK, the periodic resyncs will continue'.  Clearly, this isn't 'handling it' in the sense of actually understanding what it means :-)
As soon as I understand what "No more machines in the cluster" really means, and when it can occur, I will completely agree with you that we should replace the exception logging (for that case) with something more meaningful.  I would still like to keep a catch-all exception log for anything else, because I'd prefer to see an exception in the log - for unanticipated exceptions - than nothing at all.

My opinion is that tracebacks should definitely be used in all unexpected error cases, but only in unexpected error cases (or the rare case when it's an expected error but you need a stack trace).  In expected error cases, the tracebacks should be replaced with an appropriate log message.
For example, it seems icky to have a traceback in the case of a database disconnect, when the code handles the reconnect properly.  Instead of a traceback, a single warning log message similar to "Lost database connection to %s, will reconnect." should be used.

+1

I believe we're all in agreement on the principle here.  My comment above @nbartos's one was intended to say the same thing, but @nbartos expressed it rather better!
Regarding the specific problem of "No more machines in the cluster": I've just reviewed this again with @Lukasa and we plan no action for the time being.  We believe that "No more machines in the cluster" occurs when the local etcd proxy is having trouble communicating with the non-proxy instances of the etcd cluster; and we don't yet understand in more detail why that is.  It definitely seems right to catch this exception and allow the resync thread to run again later - as the current code does - but on the other hand it definitely isn't a known-benign problem, so it makes sense for now to leave the exception logging in place, so that we will continue to be alerted when this is happening.

I should note that we are running only a single instance of etcd (master elected and backed with a ramdisk), with both neutron and felix pointing directly to that instance without any etcd proxies.  I'm not sure if that changes your thoughts on why it's coming up in this case.

For another one, we saw the following log while the controller (with the etcd cluster) was rebooting.  This is misleading and excessively scary.
http://calico-jenkins:8080/view/Testing/job/run-long-tests/30/testReport/%3Cnose/suite/ContextSuite_...
=== LOG 2015-06-18 03:14:44 ERROR [pid 23819] ===
calico.felix.fetcd 371: Unknown etcd error "Server response was not valid JSON: ValueError('No JSON object could be decoded',)"; doing resync.
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/calico/felix/fetcd.py", line 329, in _wait_for_etcd_event
check_cluster_uuid=True)
File "/usr/lib/python2.7/dist-packages/etcd/client.py", line 357, in read
return self._result_from_response(response)
File "/usr/lib/python2.7/dist-packages/etcd/client.py", line 537, in _result_from_response
'Server response was not valid JSON: %r' % e)
EtcdException: Server response was not valid JSON: ValueError('No JSON object could be decoded',)```

Renamed this because several of the issues discussed here actually affect Felix, not the plugin.

@neiljerram For context: "No more machines in cluster" is a poor error message from python-etcd.  It happens when python-etcd's retry code gets invoked, which tries the request against a different node in the cluster and then it runs out of nodes to try.  The original cause of the retry (usually a connection failure or timeout) is the more interesting thing but that is lost because the retry code raises its own error.

I don't think this made it into 0.27.

I have also been seeing the "No more machines in cluster" exception when the etcd disk is full. We can definitely provide a more useful message than that.
(Scale testing, with a single node in the etcd cluster. I stuffed it full of endpoints until it ran out of space, and then this exception bubbled up.)

Ok, I think there's only one actual high-priority issue in here, which is the 'no more machines in cluster' error. I'm going to track that separately in #721, and otherwise I think we have nothing else to do here.


Considering breaking changes to SDKs

There are a few issues that would require breaking changes to the SDKs. Spin 2.0 might be a good time for such changes. For example:

https://github.com/fermyon/spin/issues/1372
https://github.com/fermyon/spin/issues/1355

Both of the linked issues have been completed. I think at this point this issue is too general to be helpful. Going to close.


The Trident operator fails to install via Helm on Rancher

Describe the bug
When installing the Trident operator from the Helm chart in a Kubernetes cluster managed by Rancher, the operator fails because it is unable to add the PSA label pod-security.kubernetes.io/enforce: privileged on its installation namespace. This is because Rancher has a special admission webhook in place for setting PSA labels, which must be granted to the ServiceAccount, on top of all the other RBAC rules it needs.
Environment

Trident version: 23.04.0
Trident installation flags used: helm install trident netapp-trident/trident-operator --version 23.04.0 --create-namespace --namespace trident
Container runtime: Containerd v1.6.19-k3s1
Kubernetes version: v1.25.9
Kubernetes orchestrator: Rancher v2.7.5
Kubernetes enabled feature gates: None.
OS: Ubuntu 22.04.2 LTS
NetApp backend types: n/a
Other: n/a

To Reproduce

Have a Rancher managed RKE2 cluster (but I'm guessing it'll work with any Rancher managed cluster).

helm repo add netapp-trident https://netapp.github.io/trident-helm-chart

helm install trident netapp-trident/trident-operator --version 23.04.0 --create-namespace --namespace trident

Check the status of the installed CRDs, thetrident TridentOrchestrator object and the pods deployed:
$ kubectl get crd | grep trident
tridentorchestrators.trident.netapp.io                            2023-06-28T14:56:46Z

$ kubectl -n trident get pods
NAME                                 READY    STATUS    RESTARTS    AGE
trident-operator-5789cf4777-nc4vn    1/1      Runnnig   0           7m32s

$ kubectl -n trident get tridentorchestrators trident -o yaml
 […]
 status:
   message: 'Failed to install Trident; err: failed to patch Trident installation namespace
     trident; admission webhook "rancher.cattle.io.namespaces" denied the request:
     Unauthorized'
   namespace: trident
   status: Failed
   version: ""

Expected behavior
I expect it to deploy as it should and not crash. Here's an example of what it looks like when deploying successfully:
$ kubectl -n trident get pods
NAME                                  READY   STATUS    RESTARTS   AGE
trident-controller-6d7c9c5d8c-wg8zj   6/6     Running   0          4h28m
trident-node-linux-4tk6q              2/2     Running   0          4h28m
trident-node-linux-97rgx              2/2     Running   0          4h28m
trident-node-linux-9jfbh              2/2     Running   0          4h28m
trident-node-linux-btjx6              2/2     Running   0          4h28m
trident-node-linux-n5k75              2/2     Running   0          4h28m
trident-node-linux-vpcgd              2/2     Running   0          4h28m
trident-operator-5789cf4777-66mth     1/1     Running   0          4h29m

$ kubectl get crd | grep trident
tridentbackendconfigs.trident.netapp.io                           2023-07-05T08:09:56Z
tridentbackends.trident.netapp.io                                 2023-07-05T08:09:55Z
tridentmirrorrelationships.trident.netapp.io                      2023-07-05T08:10:00Z
tridentnodes.trident.netapp.io                                    2023-07-05T08:09:58Z
tridentorchestrators.trident.netapp.io                            2023-06-28T14:56:46Z
tridentsnapshotinfos.trident.netapp.io                            2023-07-05T08:09:56Z
tridentsnapshots.trident.netapp.io                                2023-07-05T08:09:59Z
tridentstorageclasses.trident.netapp.io                           2023-07-05T08:09:56Z
tridenttransactions.trident.netapp.io                             2023-07-05T08:09:59Z
tridentversions.trident.netapp.io                                 2023-07-05T08:09:55Z
tridentvolumepublications.trident.netapp.io                       2023-07-05T08:09:57Z
tridentvolumereferences.trident.netapp.io                         2023-07-05T08:10:00Z
tridentvolumes.trident.netapp.io                                  2023-07-05T08:09:57Z

Additional context
This was already reported to Rancher's GitHub page as issue #41191. People (understandably) thought that this was a bug in Rancher, while it's more of a documentation issue on their part (in my opinion).
There's also some information available in the operator's pod logs. I don't have them easily available right now, but it basically amounts to the same message as the one displayed by the TridentOrchestrator object anyway; it fails to patch the trident namespace because the Rancher admission webhook rancher.cattle.io.namespaces denied the request (Unauthorized).
Work-around
Inspired by this comment from the issue reported to Rancher's GitHub page, applying the following manifest and then restarting the operator fixes the issue:
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: trident-operator-psa
rules:
- apiGroups:
  - management.cattle.io
  resources:
  - projects
  verbs:
  - updatepsa
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: trident-operator-psa
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: trident-operator-psa
subjects:
- kind: ServiceAccount
  name: trident-operator
  namespace: trident

+1 We're running into the same issue after upgrading from Rancher 2.6.11 to 2.7.5. I can confirm that your workaround fixes the issue.

@lindhe: Thanks for bringing this up and creating the corresponding pull request. I can confirm as well, that this solves the issue in my cluster.
Does NetApp has a plan to merge this at some point in time? Applying these workarounds in automation is a bit cumbersome and unclean.

We're still seeing the same issue in Rancher 2.7.9 and Trident 23.10.0. Can we perhaps get an update from Netapp on this issue and the pending PR?

If the namespace is part of "System" project then you won't run into above issue.

How do i split a string in ansible on ":"

@nheinemans-asml Could you try with v24.10.0? It's apparently resolved there, but I have no idea which PR that was.

@lindhe I tested it with Rancher v2.9.2 and trident 24.10.0 is still an issue. After applying the workaround it suceeds:
kubectl describe torc trident

Events:
  Type     Reason      Age                  From                        Message
  ----     ------      ----                 ----                        -------
  Normal   Installing  16m                  trident-operator.netapp.io  Installing Trident
  Warning  Failed      3m45s (x6 over 16m)  trident-operator.netapp.io  Failed to install Trident; err: failed to patch Trident installation namespace netapp-trident; admission webhook "rancher.cattle.io.namespaces" denied the request: Unauthorized
  Normal   Installed   27s                  trident-operator.netapp.io  Trident installed

Hi, I've asked for confirmation regarding this issue being fixed or not.

Hi @betweenclouds This should have been fixed in 24.10.0 as part of https://github.com/NetApp/trident/commit/5824103a201cb2f1be13f9435e554ad160c829b3
Can you try setting the  forceInstallRancherClusterRoles: true in  helm/trident-operator/values.yaml

@sjpeeris Thank you, with forceInstallRancherClusterRoles=true the installation is sucessful, but only if I create a namespace named trident. Is this a expected behavior?
works:
helm install netapp-trident netapp-trident/trident-operator --version 100.2410.0 --create-namespace --namespace trident --set tridentDebug=true --set forceInstallRancherClusterRoles=true

does not work:
helm install netapp-trident netapp-trident/trident-operator --version 100.2410.0 --create-namespace --namespace netapp-trident --set tridentDebug=true --set forceInstallRancherClusterRoles=true

Hi @betweenclouds, you are correct. That namespace shouldn't be hard-coded. We will have this fixed in the next release. Thanks for pointing that out.


Helm History node always loads latest release

You can click on a Helm Release node to see the release a la helm get all.  If you click on a historical sub-node, though, it still loads the latest release instead of the one you selected.  We can fix this by running helm get all --revision.

@itowlson thanks for opening this. I do have a WIP fix for this bug. Happy to give this a shot if you are not actively working on this, else please ignore my comment.

Oops, sorry, was about to send a PR.  My apologies, I should have self-assigned to let you know.

All good! Thanks for fixing this.


[Obsolete] 'connective tissue cancer'

Mondo term (ID and Label)
'connective tissue cancer'
Reason for deprecation
out of scope
Suggested term to consider

need to coordinate with NCIT

part of #3155


Comments added when <?php tags are included in the snippet

This snippet:

<?php
echo "
PHP is Fun!
";
echo "Hello world!
";
echo "I'm about to learn PHP!
";
echo "This ", "string ", "was ", "made ", "with multiple parameters.";
?>

results in this output:

The issue caused by < or > in HTML can be solved using hljs-include.
See here: https://github.com/pc035860/angular-highlightjs/issues/59#issuecomment-178765205


Problem with Gadget2 evolve_model

I am evolving the same set of sph particles up to the same time but in different chunks of time, using Gadget2.
The total wall clock time increases dramatically for very small chunks of time, which only makes sense to me if
somehow the timestep for Gadget2 particles is determined based on the time you give to the 'evolve_model()' function.
I am attaching the script to reproduce the issue. This does not occur with ph4.
Some idea of whats going on?
Thanks,
Bastián
gadget2_test.txt

Hi @ReinosoB,
You're comparing Gadget2 (an SPH code) with ph4 (an Nbody code). ph4 won't do any SPH calculations, so it will certainly be faster (also note that the "plummer gas sphere" initial conditions intentionally set the velocity of all gas particles to 0).
If you have regions with high density (which is likely for a Plummer model - which isn't initialised with equal density), the time it takes to evolve the model will definitely increase, certainly when you get close to one free-fall time.
evolve_model(time) will integrate from the current time of the code (model_time) until time. I'm not sure why you use increasingly short timesteps in your script?
One suggestion I would have is to use a time quantity as one of the variables for your converter (instead of mass or position), and to then always use factors of 2 of that time to determine the timestep. Also, depending on what you are attempting to simulate, you may prefer using the 'molecular cloud' initial conditions (as found in one of the textbook examples) to the Plummer gas model.

Hi @rieder,
Many thanks for your answer.
I did not compare Gadget2 with ph4, I did a similar experiment using ph4 (but using different initial conditions, better suited for an Nbody code).
The point I wanted to make here is that Gadget2 makes use of individual timesteps and so I would expect that evolving the same set of particles to the same final time, but in different chunks (if you want for example more frequent snapshot output), should
not have this impact in the integration time, or am I missing something important here?
I am going to try your suggestion. Thanks again for your reply.

you can check more carefully what is going on with passing the redirection="none" option to Gadget2 (at instantiation). For the small timesteps, the code is indeed not evolving for most of the evolve calls. Apperently there is some overhead in a "empty" evolve call...its a bit more than I would expect...
btw, you have to be careful setting the timestep parameters (max_size_timestep, and time_max) ie its a good idea to set your max_size_timestep to the timestep you want to have in the script and time_max some power of two multiple of that bigger than the eventual time you want to reach...

closing as substantially solved


dtab playground hangs forever if namerd is not up

If namerd is referenced in the config file but is not running, loading the dtab page hangs forever. It should do something else. (0.7.0)

We should add timeouts to the delegater.(whatever).toFuture() calls.


ViewArgs

Fix https://github.com/revel/revel/issues/622
ViewAgs instead of RenderArgs

I am going to cancel this PR, in favor of the other one...


Fix character encoding error when writing binary data (certificates)

Currently, files are written in non-binary mode, thus throwing an Encoding::UndefinedConversionError:
     Encoding::UndefinedConversionError:
       "\x82" from ASCII-8BIT to UTF-8

Fixes:

Specify binary write mode (wb) when writing downloaded certificates to files in download_url method of developer_center.rb.

Thanks https://github.com/fastlane/cert/pull/20


Otimes on GPU not work/disabled

cuOuter need modify to perform the kron  on GPU

This function is deprecated, and seperate into Outer and Kron.


Vulkan + Slang work

This is a PR to track progress, and not ready for merging yet. It builds upon the Slang-ification of the shader library already done in slang-support.

I believe all the relevant changes here have been merged into the Vulkan working branch. Closing the PR.


TODO LIst before v1.0.0

DONE

[x] typo: https://github.com/parnurzeal/gorequest/issues/177
[x] use bytes/string conv func
[x] add context? https://github.com/parnurzeal/gorequest/pull/227 https://github.com/parnurzeal/gorequest/pull/218 https://github.com/parnurzeal/gorequest/issues/255
[x] https://github.com/parnurzeal/gorequest/issues/264
[x] https://github.com/parnurzeal/gorequest/issues/265
[x] https://github.com/parnurzeal/gorequest/issues/220
[x] https://github.com/parnurzeal/gorequest/issues/205
[x] https://github.com/parnurzeal/gorequest/issues/138
[x] https://github.com/parnurzeal/gorequest/issues/253
[x] https://github.com/parnurzeal/gorequest/issues/214
[x] https://github.com/parnurzeal/gorequest/issues/207
[x] https://github.com/parnurzeal/gorequest/issues/250
[x] https://github.com/parnurzeal/gorequest/issues/131
[x] retry

https://github.com/parnurzeal/gorequest/issues/254
https://github.com/parnurzeal/gorequest/issues/168
https://github.com/parnurzeal/gorequest/pull/203/files
https://github.com/parnurzeal/gorequest/pull/190/files

[x] https://github.com/parnurzeal/gorequest/issues/11
[x] set headers? https://github.com/parnurzeal/gorequest/pull/231/files

TODO

[ ] https://github.com/parnurzeal/gorequest/pull/170

High

[ ] use https://github.com/json-iterator/go
[ ] use httpbin.org in docs and examples
[ ] use ginkgo
[ ] enhance debug / print
[ ] otel support
[ ] metrics and slow logs
[ ] enable custom Content-Type for SendFile https://github.com/parnurzeal/gorequest/pull/213/files
[ ] timeout detail https://github.com/parnurzeal/gorequest/pull/183/files
[ ] Trim the BOM in EndStruct() https://github.com/parnurzeal/gorequest/pull/179
[ ] https://github.com/parnurzeal/gorequest/issues/219
[ ] https://github.com/parnurzeal/gorequest/issues/143
[ ] https://github.com/parnurzeal/gorequest/issues/132
[ ] https://github.com/parnurzeal/gorequest/issues/75

Medium

[ ] https://github.com/parnurzeal/gorequest/issues/262
[ ] https://github.com/parnurzeal/gorequest/issues/256
[ ] support digest https://github.com/parnurzeal/gorequest/issues/247  /  https://github.com/parnurzeal/gorequest/issues/206
[ ] https://github.com/parnurzeal/gorequest/issues/245
[ ] logger, maybe add a better interface https://github.com/parnurzeal/gorequest/issues/232
[ ] https://github.com/parnurzeal/gorequest/issues/222
[ ] https://github.com/parnurzeal/gorequest/issues/208
[ ] https://github.com/parnurzeal/gorequest/issues/204
[ ] gzip support: https://github.com/parnurzeal/gorequest/issues/195
[ ] fasthttp alternative?

https://github.com/parnurzeal/gorequest/issues/153
https://github.com/parnurzeal/gorequest/issues/110
https://github.com/parnurzeal/gorequest/issues/71

[ ] docs and faqs

[ ] https://github.com/parnurzeal/gorequest/issues/152
[ ] https://github.com/parnurzeal/gorequest/issues/145
[ ] https://github.com/parnurzeal/gorequest/issues/125
[ ] https://github.com/parnurzeal/gorequest/issues/117
[ ] https://github.com/parnurzeal/gorequest/issues/112
[x] https://github.com/parnurzeal/gorequest/issues/159
[ ] https://github.com/parnurzeal/gorequest/pull/171/files

[ ] add examples/*.go

[x] https://github.com/parnurzeal/gorequest/issues/145
[ ] https://github.com/parnurzeal/gorequest/issues/152
[ ] https://github.com/parnurzeal/gorequest/issues/125
[ ] https://github.com/parnurzeal/gorequest/issues/117
[ ] https://github.com/parnurzeal/gorequest/issues/112
[x] https://github.com/parnurzeal/gorequest/issues/159
[x] https://github.com/parnurzeal/gorequest/pull/171/files

[ ] return errors(an array), add more functions to get size/firstOne/hasError/error handler
[ ] add metrics support
[ ] add slow log/error log support
[ ] https  https://github.com/parnurzeal/gorequest/issues/144
[ ] https://github.com/parnurzeal/gorequest/issues/113
[ ] concurrent https://github.com/parnurzeal/gorequest/issues/27

Low

[ ] https://github.com/parnurzeal/gorequest/issues/261
[ ] https://github.com/parnurzeal/gorequest/issues/260
[ ] https://github.com/parnurzeal/gorequest/issues/251
[ ] https://github.com/parnurzeal/gorequest/issues/217
[ ] https://github.com/parnurzeal/gorequest/issues/192
[ ] question: https://github.com/parnurzeal/gorequest/issues/142 https://github.com/parnurzeal/gorequest/issues/141 https://github.com/parnurzeal/gorequest/issues/45
[ ] https://github.com/parnurzeal/gorequest/issues/77

Won't Fix

[x] https://github.com/parnurzeal/gorequest/issues/182
[x] fork and make some changes => https://github.com/parnurzeal/gorequest/issues/173 https://github.com/parnurzeal/gorequest/issues/221

CR Required

bug: send {}: https://github.com/wklken/gorequest/pull/6

move to https://github.com/wklken/gorequest/issues/16
close


Azure Arc-enabled server connectivity behind proxy

New scenarios for Azure Arc-enabled servers behind a proxy server

Made the changes, I also had some comments

Unclear on the Bastion requirement. See comment
Dup vars and code cleanliness
Syntax and lingo


Optimize code

Type of change

[ ] Added new project
[x] Bug fix
[ ] New features
[ ] Enhanced documentation

Changes proposed in this pull request

Project name :

Tic Tac Toe

Short description :

Instead of a loop, just slice to include all elements
Alternative: list.copy() method makes a duplicate of the list but is slower than slicing
Checklist

[x] The code is Python 3 compatible
[x] I have added relevant comments in my file to make code understandable
[ ] I have added my project in a folder which includes all the necessary files

Looks good! Thank you. 🚀


Use keyless cosign approach

Still a work in progress.
Todo:

[ ] Retrieve public key(s)
[ ] Publish public key(s)

Signed-off-by: Brend Smits<EMAIL_ADDRESS>

As described here #122. We decided to hold this back for a while.
Changes look good
We have to consider how to deal with the old releases, to make it transparent for our consumers on how to verify old releases and how to verify the new releases.
Currently the cosign.pub is not part of the release and only in the git repo.
We should think of a strategy how we make this transparent for our consumers which key to use to verify which version.

Makes sense, I'm going to close this PR until we have more time to work on those things. Keeping the branch. I meant to open a draft PR anyways!


Clarification on Efficiency

Hello lovely people,
Thank you for opensourcing this lovely library ! As an AutoML researcher, I am quite grateful.
I however stumbled upon this comment in the Travelling Salesman notebook. "PyGlove is designed to be used with problems with evaluation time greater than sub-second," which proved to be true when I rewrote a Simplified AutoML Zero implementation I coded in numba/numpy vs an attempt to recode it in Pyglove. The NumPy version does about 600-800 iterations per second, while when I run the Pyglove version it takes about a minute to run 400-800 iterations on the same device.
Here is where I define the search space and search process. I let the DNA objects be created automatically (I presume through DNAGenerator?) by using pg.List and pg.oneof:
INIT_MEMORY = initialize_memory(memory_size = MEMORY_SIZE, matrix_size= MATRIX_SIZE, start=-10, end=10)
search_space = pg.List([pg.oneof([key for key in OP_dict_basic.keys()]),
                pg.oneof([i for i in range(0,len(INIT_MEMORY))]),
                pg.oneof([i for i in range(0,len(INIT_MEMORY))]),
                pg.oneof([i for i in range(0,len(INIT_MEMORY))]),
                pg.oneof([i for i in range(0,len(INIT_MEMORY))])] * OP_DEPTH)
search_algorithm = pg.evolution.regularized_evolution(
    population_size=POPULATION_COUNT, tournament_size=TOURNAMENT_COUNT)

auto_ml_zero_session(search_space, search_algorithm)

Is there a solution to improve efficiency? Would it be reasonable to subclass DNA and create a version of DNA that runs with numpy under the hood?
Or would it be more reasonable to do as the onemax example and create a custom decoder subclassing pg.hyper.CustomHyper and a custom mutator which both run numpy under the hood to address this efficiency gap?
Thanks

Thanks for the great question.
If you profile, you will find that the performance overhead from PyGlove's builtin hyper primitives (e.g. pg.oneof) majorly come from symbolic decoding, which involves extensively copy of objects (e.g. pg.Dict/pg.List instances here).
In order to match the performance of native implementations, or to at least close the gap, pg.hyper.CustomHyper/custom mutator is the way to go. They allow the user to control the entire process of DNA decoding and mutation, as you found out. I will be curious to see the speed up you can eventually get through CustomHyper in your Simplified AutoML Zero project.


Passwords for MySQL and PostgreSQL cannot contain the # character

Bug description
Currently passwords (and maybe assume other strings?) may not contain the # character. I assume it's not correctly being escaped.
I tried using all escape characters I could think of: \ ' " backtick (which I ironically cannot get to show as ` formatted as code on GitHub).
I tried the mentioned characters when setting the URL directly in the schema as well as a variable in .env
How to reproduce

Set url to mysql://user:pass#word@localhost:3306/mydb in .env
Run npx prisma introspect
Receive the following error Error parsing connection string: invalid port number in database URL
Same result when removing/adding "
Same result when setting url directly in the schema
Remove the # and notice the error is now the following, indicating that the string was parsed successfully:
P1001
Can't reach database server at localhost:3306
Please make sure your database server is running at localhost:3306.

Expected behavior
No response
Prisma information

datasource db {
  provider = "mysql"
  url = "mysql://user:pass#word@localhost:3306/mydb"
}

generator client {
  provider = "prisma-client-js"
}

Environment & setup

OS: Windows and Ubuntu 20.04 (run via WSL2)
Database: MySQL and also PostgreSQL based on my quick tests, not MSSQL though. Did not test SQLite and MongoDB
Node.js version: 14.17.3 on Windows, 14.17.4 on Ubuntu

Prisma Version
prisma               : 2.28.0
@prisma/client       : Not found
Current platform     : windows
Query Engine         : query-engine 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Default Engines Hash : 89facabd0366f63911d089156a7a70125bfbcd27
Studio               : 0.417.0

and
prisma               : 2.28.0
@prisma/client       : Not found
Current platform     : debian-openssl-1.1.x
Query Engine         : query-engine 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt 89facabd0366f63911d089156a7a70125bfbcd27 (at<EMAIL_ADDRESS>Default Engines Hash : 89facabd0366f63911d089156a7a70125bfbcd27
Studio               : 0.417.0

@lbogerd You will need to use percent encoding here. # in percent encoding is %23 so the connection string will look mysql://user:pass%23word@localhost:3306/mydb
Ref:
https://dev.mysql.com/doc/refman/8.0/en/connecting-using-uri-or-key-value-pairs.html
https://tools.ietf.org/html/rfc3986#section-2.1

Here is our docs section on this: https://www.prisma.io/docs/reference/database-reference/connection-urls/#special-characters

Not sure how I completely missed this obvious solution. Thank you for taking the time to answer!


Alternative intern

Improve the handling of alternative of intern methods since an extern body can be used as a fallback.
redef class Int
   fun foo is intern `{ return foo(self) `}
end

Moreover, NativeArray intern alternatives is now fixed with nitc.
There is still an issue with the extern methods of NativeArray in the interpreter.

+1

:shipit:


Local Vidoes are not playing...

I have an issue / a question (pick one) about Vlc.DotNet.
Generic information

Vlc.DotNet version : 3.0.0-develop275
Vlc.DotNet project used : (WPF)
libvlc version : (3.0.1) (x64) + DL from FTP
.net version : (4.6.1)
Project language : (C#)
Project build architecture : (nyCPU)
Operating system : (Windows ...) (x86/x64)

Summary
Hi, when i try to run basic example i get following error, but sample video still plays...

i did check that path does exist and accessible...
Bigger problem, that i can't play any of the local videos, control just remains blank...
Thank you.

Hi Jeremy,
Installed libvlc from Nuget and error went away, but local video still not playing.
using WPF example:
<Vlc:VlcControl xmlns:Vlc="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf" x:Name="MyControl" />

    var options = new string[]
    {
        // VLC options can be given here. Please refer to the VLC command line documentation.
    };

    this.MyControl.SourceProvider.CreatePlayer(vlcLibDirectory, options);

    //this.MyControl.SourceProvider.MediaPlayer.Play("http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_h264.mov");
    this.MyControl.SourceProvider.MediaPlayer.Play(@"C:\0\qq.mkv");```

Please let me know if I missed something...

Thank you.

When playing local files, you must either use the FileInfo overload, or set the MRL to a valid URL-like value, like file:///C:/0/qq.mkv

wow, thank you, that was to easy !

@jeremyVignelles
Please add your answer to the Getting started.  I just spent a good half hour trying every sample with black screens.
Seems the online versions eg. "http://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_480p_surround-fix.avi" don't work at all.
Please also add where the logs are produced because you're "still pulling hairs" even though you add the params with no logs.

Sure, no problem. I have been playing with it for a couple of hours now so I'll keep some notes for some extra snippets.


Output values.yaml for HelmRelease Resources

I have a question related to https://github.com/fluxcd/helm-controller/issues/453: is there an easy way to see the final values.yaml used by a HelmRelease resource?
Our HelmRelease resources are pretty complicated; we rely heavily on the ordered values merging of spec.valuesFrom from several Secret and ConfigMap resources in addition to spec.values. When the Helm installations succeed, I can use something like helm get values CHART -n NAMESPACE to see what is effectively the values.yaml file. However, when the Helm installations fail, I am stuck trying to piece together a pretty complicated hierarchy of valuesFrom and values references to debug my Helm installations. Is there an easy way to see this that I have somehow missed? Thank you!

I am still having trouble debugging failed HelmRelease reconciliations and haven't found a workaround yet. Any thoughts?

Thanks for getting back to me! I've just tried to use disableWait for install and upgrade, but my issue is actually that the Helm installation fails outright. Thus, I'm not sure that these flags will help me?
To be more specific, I am getting this error:
Helm install failed: unable to build kubernetes objects from release manifest: error validating "": error validating data: [ValidationError(Deployment.spec.template.spec.containers[0].volumeMounts): invalid type  ││ for io.k8s.api.core.v1.Container.volumeMounts: got "string", expected "array", ValidationError(Deployment.spec.template.spec.volumes): invalid type for io.k8s.api.core.v1.PodSpec.volumes: got "string", expected "array"]

I have used helm  template --debug --dry-run locally with what I believe is the correct set of values that Flux will assemble and it produces valid Deployments. Would there be a way for me to see the output of helm template or something similar, or even just to see the final values.yaml file that Flux is using to perform the installation?

Currently there is no way to get the values.yaml from the controller, given the values can contain secrets I don't see how we could expose it in a safe way. cc @hiddeco

I do see that, for successful chart installations we've made with HelmRelease resources, helm get values can return secret values that we referenced within valuesFrom. If I understand it correctly, helm get is getting that release data from Secret resources that correspond to the installations, perhaps we could consider a similar approach?
Another thought that comes to mind is a suggestion implied here: https://github.com/fluxcd/helm-controller/issues/453#issuecomment-1100125577. Would there possibly be a way to run helm template via the Flux CLI and see the output, assuming we could run helm template on the fully assembled set of values from Flux?

Would there possibly be a way to run helm template via the Flux CLI and see the output, assuming we could run helm template using the fully assembled set of values from Flux?

If  you use valuesFrom with a secret how would the CLI find the secret on disk?

Any thoughts on this thread? Thanks!

The previous Helm Operator had a similar feature request with many upvotes: https://github.com/fluxcd/helm-operator/issues/15
If RBAC is the issue, are any of these options feasible?

Inherit RBAC from the CLI user. The CLI will only print the data if the user can read the Secret.
Print the data to a new Secret. The user can only read the data if they have access to Secrets. Copies data between Secrets though, so not perfect from RBAC perspective

I use helm template to generate the expected templates with some debug info on syntax, and helm install dry-run to do the same but with some debug info on how compatible are those templates if you were to install them on the cluster. Both commands support --debug.
If you have the description as a HelmResource file, you can input it as values by means of  "| yq '.spec.values'". Just dont forget to pass the chart version and repo as an extra argument

Thanks @nightswimmings, could you possibly expand on your thoughts just a little bit? I am not sure how your advice would enable debugging valuesFrom. I understand your advice as instead being an alternative workflow which can help produce the input to provide to a HelmRelease?

@stefanprodan @drewmarshburn Also wanted to understand that running helm cli command(template) will result in the exact same output as helm-controller? Does helm-controller use the same APIs? or is there a difference between helm-controller and helm cli tool?

@amit-disc Flux uses the same Helm SDK as the Helm CLI, there no differences in terms of resulting manifests.

The merging of valuesFrom is missing though. The final values can be only debugged using the controller. Making diffs pretty tricky if using multiple config files.

The merging of valuesFrom is missing though.

The merge that Flux performs is identical to what the CLI does when you pass multiple values files.
You can query the cluster for the valuesFrom objects and extract the values locally with yq then pass them to helm template --values=val1.yaml  --values=val2.yaml.


Update nix crate to 0.27

Related: https://github.com/containerd/rust-extensions/pull/184 https://github.com/containerd/rust-extensions/pull/204
cc: @bryantbiggs

nice! With the change of nix moving away from RawFd I wasn't sure what the appropriate avenue would be to update so I was following the convo here https://github.com/containers/youki/pull/2369 to see where they landed

LGTM


Cannot read an mtz file with non-standard SG numbers, such as 3018, created by phenix.

Phenix creates mtz files with inconsistent SG number and SG name, such as 18 for P21221. MTZ2MapReader only use the SG number so these files cannot be processed correctly.

MTZ2MapReader is changed to read both sg num and name. If they are inconsistent, the reader places priority on the sg name. (this impl allows to read inconsistent mtz file produced by phenix...) [0aea77d6069b911f602ef6f9e5cc7820c9ae211b]


Implement the reconciler for MantleRestore

issue: https://github.com/cybozu-private/csa-apps/issues/2803

@llamerada-jp LGTM. I guess you'll rebase this PR later. So I didn't merge it.


Design improvements on sync

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3403   👈

This comment was auto-generated by Graphite.


Bug: Details tab info fails to load

Description
The details info below the filename is not loading when you initially set the Preview pane to Preview tab.

Steps To Reproduce

Initially set to Preview tab
Select an item
Now, select the Details tab.
The other info is not showing.
If you keep switching back & forth, it will still not load.

It only loads when you initially set it to Details tab
Requirements
Details info should be shown.
Files Version
<IP_ADDRESS>
Windows Version
10.0.23493.1000
Log File
Irrelevant

Thank you for your feedback, we're tracking this issue in #12878.


Adding max allocated storage support

Description
Adding the support to add maximum allocated storage in terms of database autoscaling.
This PR is against Issue

Duplicate of https://github.com/terraform-aws-modules/terraform-aws-rds/pull/146.


Validate framework entrypoint file before execution

Used AST to parse the Crew entrypoint file and validate that it meets minimum requirements for execution.
Also started to build a frameworks abstraction module. We should be able to interact with any framework-specific need using functions in frameworks which delegate to the relevant submodule.
This addresses #60

i like this a lot. additional framework support is likely to be bumped up our priority list soon- this is certainly a step in the right direction

This is obsoleted by #97


A first attempt at improving the adjust size approach

This is a first shot at making adjust size / set size work.
It naively just applies aspect ratio to with which makes corner
and bottom drags work but not side drags.
An algorithm to work for all drags without knowing the direction
of the user gesture which is stable continues to elude me, but I wanted
at least something more reasonable in teh codebase before I go on vacation.
Addresses #56

So @jatinchowdhury18 two questions

My first commit here had an error but I force pushed the fix. How do I make actions run with the fix? I pretty clearly include algorithm now in clap juce wrapper and it builds locally but i'm still getting errors?
thoughts on this change? It is at least a placeholder improvement over the goop we have now

To rerun a workflow you need to make a second commit on your branch and push normally. GitHub will trigger a new pipeline.

ahh thanks
azure re triggers on force pushes also so i just instinctively did that

It's also possible to manually trigger the CI workflow from here:


Query::createFromUri() deprecation: typo in upgrade docs?

Bug Report
https://github.com/thephpleague/uri-src/blob/9407477016a93963bbc8ddaf4161f8bd4f9839f6/docs/components/7.0/upgrading.md?plain=1#L143
Should this be Query::createFromUri() -> Query::fromUri()?

indeed it is a typo you can provide a PR with the correct info I will gladly review it and merge it.

Done! https://github.com/thephpleague/uri-src/pull/136


Chriszimney patch 1

Updated content and added several files.

@microsoft-github-policy-service agree company="Microsoft"
From: microsoft-github-policy-service[bot] @.>
Sent: Monday, February 6, 2023 14:56
To: microsoft/PartnerResources @.>
Cc: Chris Zimney @.>; Mention @.>
Subject: Re: [microsoft/PartnerResources] Chriszimney patch 1 (PR #469)
@chriszimneyhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fchriszimney&data=05|01|chriszimney%40microsoft.com|a714da610c8f43b4316b08db08955505|72f988bf86f141af91ab2d7cd011db47|1|0|638113209704831510|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=7AZRSy2%2Fyw3CdYxIwIj07qzOQqsZLSrIzs%2Bh%2FB2U3B8%3D&reserved=0 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term "You" includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ("Agreement") is agreed to by the party signing below ("You"),
and conveys certain license rights to Microsoft Corporation and its affiliates ("Microsoft") for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
"Code" means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
"Project" means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttps://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.opensource.org%2F&data=05|01|chriszimney%40microsoft.com|a714da610c8f43b4316b08db08955505|72f988bf86f141af91ab2d7cd011db47|1|0|638113209704831510|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=CeUOoWE9Jzu7%2B3cceYNv%2FFVXf%2FbCS5XGmXjToM%2BxEA0%3D&reserved=0).
"Submit" is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as "Not a Submission."
"Submission" means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project's written
guidelines concerning Submissions.
Your Employer. References to "employer" in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term "You" in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2FPartnerResources%2Fpull%2F469%23issuecomment-1419897332&data=05|01|chriszimney%40microsoft.com|a714da610c8f43b4316b08db08955505|72f988bf86f141af91ab2d7cd011db47|1|0|638113209704831510|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=d8sGTSXChPCT328tCwnX%2FNhR1AzANCF%2F1InHg%2FX6Vtw%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FA34BSKULP4OUVBWLMMGXU33WWF6QNANCNFSM6AAAAAAUTIC2QI&data=05|01|chriszimney%40microsoft.com|a714da610c8f43b4316b08db08955505|72f988bf86f141af91ab2d7cd011db47|1|0|638113209704831510|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=hInLAoPa4pcJ3ZQo1BNJhwQL3PryPIuIYL3cSY9v2gY%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


chore(main): release 1.9.5

:robot: I have created a release beep boop
1.9.5 (2024-09-18)
Dependencies

update dependencies (#94) (0d30323)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aimeerivers/watchthis-user-service/releases/tag/v1.9.5 :sunflower:


Web - Integrations - Import / Export menu disappears after sync / connection for QBO / Xero

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.14-1
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/4784244
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:

Go to https://staging.new.expensify.com/
Create a new workspace
Go to workspace settings > "More Features" > Enable the "Accounting" toggle
Go to Accounting
Connect QBO or Xero

Expected Result:
Import / Export / Advanced menu should be displayed
Actual Result:
Import / Export / Advanced menu appears for a second and then disappears
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/07026c51-2e1a-4e71-a24a-8bc05931217b
View all open jobs on GitHub

Dupe of https://github.com/Expensify/App/issues/46445

Closing as dupe


Add Navigation Slider like Menu

same use for Services

just add in /services URL
http://localhost:3000/service
near window click button


Define ItemCollection in stac-spec

ItemCollection was removed in

#810

so that it now only existing in the STAC API specification. The reason for this was that it is not connected to the other core types (Catalog, Collection, and Item). However, there are use cases for this related to GeoParquet, so it would be useful to have a "standalone" definition of ItemCollection outside of STAC API.

Discussed in sprint - decided we do not want ItemCollection to be it's own entity in the STAC spec (because then it would require stac_version). Instead the problem is one of visibility and documentation.
Need to link to ItemCollection (and CollectionCollection) from stac-spec and make it clear to users the format of those arrays.
Also link to from website.

Where is the CollectionCollection definition?I only find this reference: https://github.com/radiantearth/stac-api-spec/tree/main/ogcapi-features#collections-collections


Added support for AU915 on pi_supply

Please find support for AU915 on the pi_supply hat

looks to be working well. Have setup as
Gateway: RPi4 + AU915 PI_SUPPLY + chirpstack-concentratord & chripstack-gateway-network
Server: chirpstack-docker
Node: Arduino Mega with AU915 duinotech LoraWAN Module
gateway registers and node data is appearing in the web console. Let me know if anything else is needed. i.e. toml files etc.

Thanks @trick-1, I've pushed some small modifications to this PR, see the above commits.


openshot-qt: 2.4.2 -> 2.4.3

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/openshot-qt/versions.
meta.description for openshot-qt is: '"Free, open-source video editor"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
Warning: no invocation of /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3/bin/openshot-qt had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3/bin/..openshot-qt-wrapped-wrapped had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3/bin/.openshot-qt-wrapped had a zero exit code or showed the expected version
0 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 2.4.3 with grep in /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3
directory tree listing: https://gist.github.com/e60145e796d9dbac21f67ffb2d1312ec
du listing: https://gist.github.com/2e57f08c4866af699ff45bfa4640b72f

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:

Install cachix from https://cachix.org/
Use r-ryantm's cache:cachix use r-ryantm

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/97b739f256248e1dd5f98313d2fa2155e106c993.tar.gz -p openshot-qt
ls -la /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3

cc @AndersonTorres for testing.

$ openshot-qt
Compiled translation resources missing!
Loading translations from: /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3/lib/python3.6/site-packages/openshot_qt/language
Loaded modules from installed directory: /nix/store/g6brfdi2yxdaa1m0yc42mzdd6bbsmykc-openshot-qt-2.4.3/lib/python3.6/site-packages/openshot_qt
      launch:INFO ------------------------------------------------
      launch:INFO    OpenShot (version 2.4.3)
      launch:INFO ------------------------------------------------
         app:INFO openshot-qt version: 2.4.3
         app:INFO libopenshot version: 0.2.1
         app:INFO platform: Linux-4.18.11-x86_64-with-glibc2.3.4
         app:INFO processor:
         app:INFO machine: x86_64
         app:INFO python version: 3.6.6
         app:INFO qt5 version: 5.11.1
         app:INFO pyqt5 version: 5.10.1
    language:INFO Qt Detected Languages: ['en-DK']
    language:INFO LANG Environment Variable: en_US.UTF-8
    language:INFO LOCALE Environment Variable:
    language:INFO OpenShot Preference Language: Default

needs an upgrade of libopenshot as well.

Related: #48410

It starts the same but the GUI is actually translated after startup so translations are loaded from the nix store
$ ./result/bin/openshot-qt
Compiled translation resources missing!
Loading translations from: /nix/store/91h4g63lnwhsachymypg35fhm1zl5s9z-openshot-qt-2.4.3/lib/python3.6/site-packages/openshot_qt/language
Loaded modules from installed directory: /nix/store/91h4g63lnwhsachymypg35fhm1zl5s9z-openshot-qt-2.4.3/lib/python3.6/site-packages/openshot_qt
      launch:INFO ------------------------------------------------
      launch:INFO    OpenShot (version 2.4.3)
      launch:INFO ------------------------------------------------
         app:INFO openshot-qt version: 2.4.3
         app:INFO libopenshot version: 0.2.2
         app:INFO platform: Linux-4.14.82-x86_64-with-glibc2.3.4
         app:INFO processor:
         app:INFO machine: x86_64
         app:INFO python version: 3.6.6
         app:INFO qt5 version: 5.11.1
         app:INFO pyqt5 version: 5.10.1
    language:INFO Qt Detected Languages: ['fr']
    language:INFO LANG Environment Variable: fr_FR.UTF-8
    language:INFO LOCALE Environment Variable:
    language:INFO OpenShot Preference Language: Default


Add support for matching a story against a regex to run a story

Hey there, love the project! We're using storybooks with Relay and want to use them with real data - but I'm also really interested in the storyshots approach.
Stubbing these components would undermine what we're doing with them, so I'd like to propose a way in which I can make storyshots only run on a subset of our stories. storyRegex.

Yep. This looks great.
@roonyh Hey, could you review this and do a release?

Yeah. LGTM.

ace!


TelemetryInitializers lack a DI friendly methods to add them

TelemetryProcessors(services.AddApplicationInsightsTelemetryProcessor) and TelemetryModules (services.ConfigureTelemetryModule) both have a DI friendly way of injecting them. TelemetryInitializers lacks any such method.

PR for reference which made TelemetryProcessors DI friendly.
https://github.com/Microsoft/ApplicationInsights-aspnetcore/pull/445


clj-kondo support?

More of a question than an issue.  Do you know of anyone that has built a clj-kondo extension for odoyle-rules?  I use clj-kondo for all of my Clojure development and would like the symbol bindings that odoyle-rules uses to be recognized as valid in the context of a rules declaration.
If nothing exists, I will look into building an extension for odoyle-rules.
Thanks for the great work!  Really liking the library so far.

I haven't used clj-kondo before so I couldn't say if that exists. An extension sounds very useful regardless, so you should give it a go.

I'm back into this project so I will add it to the list of tasks and give it a go.


Bugfix in chart

Description
Fixed some defected bugs
Related Issue : MT-35, MT-42
How Has This Been Tested?

차트 편집 화면에서 한글/영문이 정상적으로 표시되는지 확인합니다.
선반에서 context 메뉴를 오픈했을 때, 세부항목을 클릭했을 때 컨텍스트 메뉴가 정상적으로 닫히는지 확인합니다.

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project. it will be added soon
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document. it will be added soon
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Additional Context

run build
deploy to 3


Logger Resolve Changes

resolve logger object using "" as default logger if first attempt failed.

I'm putting this PR up because logging was not working from plugins.  On my setup using "main" as the actual name was not getting the default logger, So I added a resolve to "" in case the first attempt failed.

Can you confirm whether this happens when logInstance is null?

Yes it is null when it happens. also it only happens with BUILD_SHARED_LIBS=OFF

I pushed a proper fix. The core issue was you mixing dll plugins in static build (not sure how that happens, maybe it is another issue as it should not be possible) and logInstance was not initialized in plugin dlls. Then a broken logic in that function failed to create a logger in that case. Now loggers are always created and mutex locking is only done when logInstance is available. It should be fine as user is not expected to run any concurrent code with logging before engine initializes.

I think the setup I had was that BUILD_SHARED_LIBS was not set and was off by default.  that made Urho3D build static.  but in my cmake list files I link to other libs specifying SHARED as the link type.  so TechGame linked to Urho3D(static) and all the other plugins dynamically.

I see. Plugin targets now shouldn't specify static or shared type so they
build as proper kind automatically
On September 21, 2019 20:47:44 Trevor Cash<EMAIL_ADDRESS>wrote:

I think the setup I had was that BUILD_SHARED_LIBS was not set and was off
by default. that made Urho3D build static. but in my cmake list files I
link to other libs specifying SHARED as the link type. so TechGame linked
to Urho3D(static) and all the other plugins dynamically.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

Got it, I've removed the SHARED specifier from all my plugins.


Release 0.1.0 Tracker

What should we add to the initial release ?
TL;DR "it's tested sane" a.k.a "it builds, it tests, it benches, it's no_std, it's crypto is sane" ?
Release 0.1.0 train

[ ] #30
[X] #31
via #48
[ ] #33
[X] #34
via #43
[ ] #36
[ ] #38
[ ] #41
[ ] #44
[ ] #49
[ ] #50
[ ] #52
[ ] #53

need to raise some more issues me thinks

I think it might make sense to match version numbers with rustls to make compatibility more obvious

So first release would be 0.23.0 ?

What happens if/when we have our own API and we need to bump our API ?
And what happens when we need to bump MSRV - can we do this at patch level 0.23.X bumps ?

Started an issue for it :)

https://github.com/RustCrypto/rustls-rustcrypto/issues/33


Outdated ActiveModel dependency

Hi, Supermodel currently depends on ActiveModel 3.0. I'm using Supermodel as a "generic activemodel implementation" in http://github.com/karmi/tire and it's making it a bit painful, since the version is long outdated... Could Supermodel be upgraded to ActiveModel 3.2.x?
Thanks!,
Karel

Sure, pull requests are always welcome :)


Addition of Alpine Linux as a container type

Create base HELib container and toolkit containers for Alpine Linux, then plumb these into all setup and configuration scripting.

Would like to assign this to myself, but am unable to.

@lizjmaple Done

As an update to this issue, we are working on it, and hopefully, it can land soon for anyone int the community who wants to try it.

Alpine is indeed now supported in the builds as well as in fetchable images from DockerHub 👍🏻  Rejoice Alpine lovers!


[VS Code] Migrate refactai.infurl to refactai.adressURL

Usind self-hosted ot enterpise and have setup infurl something like http://<IP_ADDRESS>:8008
Switched from release v1.3.0 to pre-release v2.0.102.
Expected result: Plugin continue working
Actual result: Plugin not working, because infurl abandoned and new field Adress URL is empty

fixed 2.0.104


Ignoring directories/files

How would I specify directories/files to ignore? (i.e. how do the regexes need to be modified for only directories/only files?)

Have a look at #488
I am using something like
   { ignored: ['node_modules', 'bower_components', 'build'] }

@somebody1234 make sure whatever you're putting in matches the paths you want matched, and doesn't match others. You have lots of options for how you do that (matching is accomplished with anymatch, take a look there for examples of the different types of patterns you can use).
Note that in many circumstances, ignoring a directory inherently means ignoring its children as well. You may need to be more specific about what you're trying to accomplish if you're looking for more specific feedback.


Extend atoms_struct macro to allow configuring only_if_exists

I'm experimenting with creating a Window Manager with this library, but I've found if my WM starts up before any other X windows, then none of the Atoms have been interned in the X server yet, so Atoms::intern_all actually does nothing (all atoms are returned as ATOM_NONE).
I think what I want to do is make my WM intern all the Atoms that don't already exist... It seems a way to do is is to send x::InternAtom with only_if_exists: false. As far as I understand it, this is the "right" way to do this:

if only_if_exists, is set to false, and the string does not exist on the server, then it is going to be stored, and an atom is returned for that string. if the string does exist, then the atom identifying it, is returned.
From https://twiserandom.com/unix/x11/what-is-an-atom-in-x11/index.html

So, I propose this change which adds another method on the generated Atoms struct to allow consumers of this library to force Atom interning should they so desire.
Some notes:

I struggled with what to name the method, please suggest alternatives if you have any
I've kept this backwards compatible by maintaining the Atoms::intern_all signature

This is good, but I'd rather have only_if_exists configurable per atom.
Something like:
xcb::atoms_struct! {
    #[derive(Debug)]
    struct Atoms {
        wm_protocols  => b"WM_PROTOCOLS"                 only_if_exists,
        wm_del_window => b"WM_DELETE_WINDOW"             only_if_exists,
        wm_state      => b"_NET_WM_STATE"                only_if_exists,
        wm_state_maxv => b"_NET_WM_STATE_MAXIMIZED_VERT" only_if_exists,
        wm_state_maxh => b"_NET_WM_STATE_MAXIMIZED_HORZ" only_if_exists,
        clipboard     => b"CLIPBOARD", // this one is has only_if_exists = false
    }
}

The problem with current version of atoms_struct is that only_if_exists defaults to true.
So this would not be backward compatible, and atoms_struct is stabilized in version 1.1.
Therefore another macro is needed. The simplest that comes to mind is xcb::atoms_struct2.

We could keep it backwards compatible if we slightly changed your suggestion to something like this:
xcb::atoms_struct! {
    #[derive(Debug)]
    struct Atoms {
		// these have only_if_exists = true (the 1.1 default)
        wm_protocols  => b"WM_PROTOCOLS",
        wm_del_window => b"WM_DELETE_WINDOW",
        wm_state      => b"_NET_WM_STATE",
		// this one has only_if_exists = true
        wm_state_maxv => b"_NET_WM_STATE_MAXIMIZED_VERT" only_if_exists = true,
		// this one has only_if_exists = false
        wm_state_maxh => b"_NET_WM_STATE_MAXIMIZED_HORZ" only_if_exists = false,
    }
}

I'm happy with either suggestion though, so let me know which you prefer and I'll update this Pull Request. :slightly_smiling_face:

Alright, so I updated this PR and added in a (non-breaking!) feature to the original macro.
It looks like this now:
xcb::atoms_struct! {
    #[derive(Debug)]
    struct Atoms {
        // these have only_if_exists = true (the 1.1 default)
        wm_protocols  => b"WM_PROTOCOLS",
        wm_del_window => b"WM_DELETE_WINDOW",
        wm_state      => b"_NET_WM_STATE",
        // this one has only_if_exists = true
        wm_state_maxv => b"_NET_WM_STATE_MAXIMIZED_VERT"; only_if_exists = true,
        // this one has only_if_exists = false
        wm_state_maxh => b"_NET_WM_STATE_MAXIMIZED_HORZ"; only_if_exists = false,
    }
}

Note that I had to use ; as a separator, since $name is of type expr, and the only tokens that are allowed to follow an expr are ;, , and =>. I think it's fine, especially since it's completely optional.

Is it not possible to remove the ; entirely? (separete tokens with a space)

Unfortunately not, since the previous token $name is of type expr. If I make it a space, this is the error:
error: `$name:expr` may be followed by `only_if_exists`, which is not allowed for `expr` fragments
   --> src/lib.rs:445:76
    |
445 |                 $(#[$fmeta:meta])* $fvis:vis $field:ident => $name:expr $( only_if_exists = $only_if_exists:expr)?,
    |                                                                            ^^^^^^^^^^^^^^ not allowed after `expr` fragments
    |
    = note: allowed there are: `=>`, `,` or `;`

error: could not compile `xcb` due to previous error

It will work with only a space if we change $name from expr to tt - but, I guess that's technically a breaking change? :thinking:
I'm happy to make that change though if you are, since it is a much nicer syntax. :slightly_smiling_face:

As long as existing code continues to work as expected I guess we're ok regarding semver.

Sorry I took so long to review. You finally could remove the ;. Thanks a lot


No environment set for script called from MDChallengeDns01 Directive

I'm not seeing any environment passed down to the script in MDChallengeDns01 except for LC_CTYPE=C.UTF-8. Is this by design? SetEnv at the Global or VirtualHost level has no effect. Also setting system-wide environmental variables in /etc/environment has no effect.
Apache Config
MDomain test.tld
MDCertificateAgreement accepted
MDChallengeDns01 /usr/local/bin/dns01-test
MDCAChallenges dns-01
MDStoreDir /etc/apache2/md

dns01-test
#!/usr/bin/env python3
import os
with open("/tmp/debug.txt", "w") as fd:
        for k, v in os.environ.items():
            print(f"{k}={v}", file=fd)

OS: Ubuntu LTS 20.04

Hi Jeremy,
setting the environment for scripts in an interoperable way across platforms has been proven tricky. We made some attempts in the past, but all ran into problems on Windows. So, we left the environment as is, e.g. how the httpd was started.
If you need to pass special values, e.g. the MDStoreDir, the way to do this is to add arguments to the configured command. For example
MDChallengeDns01 /usr/local/bin/dns01-test /etc/apache2/md

Does this work for you?

I will give this try, but I assume this would get in the way of the arguments that are automatically passed to the script? "setup|teardown DOMAIN CHALLENGE" would it go on the front or end of those arguments?
My use case here is passing in API key's and SECRET's to authenticate to a third party DNS service. Passing information like that in as arguments isn't best practice AFAIK.

The arguments are alway appended to the things you configured.
As to secrets: I agree that placing them in the apache config seems not appropriate. You could place them in a a file and give its path as an argument. But keep in mind that the scripts run as www-data (or whatever your httpd is configured to use for traffic serving).


Material Light Theme Message React Drop Shadow

On the Material Light Theme, the menu bar holding reactions shows an incorrect drop shadow, placing it too low.

done


The modsecurity-apache v2.9 rule chain always appears #conforms

I deployed modsecurity-apache v2.9 on my linux server. As shown in the figure, this is the log I saved to the database.  May I ask How can we avoid this situation.

Hi @hygeiavvv
ModSecurity rules can be chained, that means that a subsequent rule will be evaluated in order for a former to be considered a match. The # is used to mark a line as comment. In the example above, you have commented some chained rules, but, left the main rule with a chain action. It leads the engine to expected a chained rule, but, it hits a rules with id action, that cannot be used as chained.
In order to solve this issue you can either comment the main rule, or remove the chain action form the end of the action lists.

Thank you very much for your reply. After I revised it in accordance with the document:Error creating rule: The & modificator does not apply to non-collection variables.;remind me of this, is it because mine is version 2.9.3, maybe I am not clear about it, I mean I wrote a rule myself:
SecRule SERVER_NAME "@eq test.com.cn" "chain,phase:2,deny,nolog,auditlog,id:440001,exec:/www/wwwroot/yunfang/sh/black.lua"        SecRule REQUEST_FILENAME "@beginsWith /Admin" "t:none"
but I saw in the log that there is an extra # in front of the rule chain, which causes the rule chain to not be closed, and the rules below cannot be executed correctly.and I found in the log that many default rules are the same


Add check if timestamp is from the future in hrt_elapsed_time

This check avoids that the two's complement is returned if the timestamp is in the future.

That seems sensible, but I'm worried about side effects. What problem are you solving with this change? How did the issue that motivated the change resolve with this in?

Currently there is no problem. But identifying such bugs, for example #8898, is not obvious.  So this would be a way to avoid such issues in advance. However, it normally should not be triggered.

There's different hrt code per platform and architecture.
stm32 - https://github.com/PX4/Firmware/blob/master/src/drivers/stm32/drv_hrt.c#L728
kinetic - https://github.com/PX4/Firmware/blob/master/src/drivers/kinetis/drv_hrt.c#L612
samv7 - https://github.com/PX4/Firmware/blob/master/src/drivers/samv7/drv_hrt.c#L688
We should definitely consolidate it though.

Ok, I also added that check for the other architectures.


upgraded to next SNAPSHOT version

Build finished. 2761 tests run, 7 skipped, 1 failed.

Jenkins, please retest this.

Build finished. 2761 tests run, 7 skipped, 0 failed.

@mbiarnes I'm not sure how you're used to do the release, so I'll leave this PR unmerged for now. Please feel free to merge it anytime you find appropriate.

@tiagobento in order to have more or less the release cycle of kie and ubefire (with their versions) and if needed the creation of the new branches for next SNAPSHOT on master: 4.6.0-SNAPSHOT is OK.
kie master = 7.19.0-SNAPSHOT (new branch 7.18.x with 7.18.1-SNAPSHOT)
appformer (uberfire) master = 2.16.0-SNAPSHOT (new branch 7.18.x with uberfire 2.15.1-SNAPSHOT)
errai master = 4.6.0-SNAPSHOT (new branch 4.5.x with 4.5.1-SNAPSHOT)


Focus Javadoc on current version rather than past versions

The versions removed are all over 10 years old. In multiple cases the existing wording was not just out of date but incorrect. @garydgregory

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

Comparison is base (5c304f9) 86.00% compared to head (fedfdeb) 85.98%.
Report is 8 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #573      +/-   ##
============================================
- Coverage     86.00%   85.98%   -0.03%
+ Complexity     3500     3499       -1
============================================
  Files           231      231
  Lines          8255     8250       -5
  Branches        963      960       -3
============================================
- Hits           7100     7094       -6
- Misses          865      866       +1
  Partials        290      290

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

@elharo
Please run mvn (by itself) before pushing changes to catch these types of build errors.

Infra failure on Java 21
Warning: Failed to download action 'https://api.github.com/repos/actions/cache/tarball/13aacd865c20de90d75de3b17ebe84f7a17d57d2'. Error: nodename nor servname provided, or not known (api.github.com:443)
Warning: Back off 11.456 seconds before retry.


perf: implement Ruffini rule division for 'x - b' monomials

Use a special-cased division for P / (x - b). It's 20x faster than running the regular
division for this hotspot in provers.
Added property testings to ensure it's equivalent to the regular division.
Type of change

[x] New feature
[x] Optimization

Checklist

[x] Unit tests added
[x] This change requires new documentation.

[x] Documentation has been added/updated.

[x] This change is an Optimization

[x] Benchmarks added/run

Results on M1
Polynomial/div          time:   [265.81 ns 266.13 ns 266.53 ns]
Polynomial/div by 'x - b'
                        time:   [11.937 ns 11.985 ns 12.035 ns]

Codecov Report

Merging #419 (9aa89bb) into main (91916f0) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #419      +/-   ##
==========================================
+ Coverage   94.21%   94.33%   +0.12%
==========================================
  Files          62       62
  Lines        7999     8019      +20
==========================================
+ Hits         7536     7565      +29
+ Misses        463      454       -9

Impacted Files
Coverage Δ

math/src/polynomial.rs
84.70% <100.00%> (+2.20%)
:arrow_up:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


snowplow CLI: automatically create new tables on first use

If the SQL for an event is named canonically, why don't the pipelines execute the create statement? It seems like a needless manual step.

If Redshift DDL is available under the jsonpaths assets path (say), then we could perform this algorithm:

Check if table exists by executing SELECT or inspecting Redshift metadata
If doesn't exist, fetch DDL from jsonpaths assets path and execute DDL against database

This would require create table permissions.
This is more code to have to factor out when we move table definitions to Iglu (along with JSON Paths files), but given that that will take some time, this could be a good way of getting started with automated entity creation in dbs.
Thoughts @yalisassoon ?

Love it
On 10 Jun 2015 3:07 pm, "Alexander Dean"<EMAIL_ADDRESS>wrote:

If the SQL for an event is named canonically, why don't the pipelines
execute the create statement? It seems like a needless manual step.
If Redshift DDL is available under the jsonpaths assets path (say), then
we could perform this algorithm:

Check if table exists by executing SELECT or inspecting Redshift
metadata
If doesn't exist, fetch DDL from jsonpaths assets path and execute
DDL against database

This would require create table permissions.
This is more code to have to factor out when we move table definitions to
Iglu (along with JSON Paths files), but given that that will take some
time, this could be a good way of getting started with automated entity
creation in dbs.
Thoughts @yalisassoon https://github.com/yalisassoon ?
—
Reply to this email directly or view it on GitHub
https://github.com/snowplow/snowplow/issues/1765.


useNuxtApp provides are of type unknown when typescript is installed as dependency

Environment

Operating System: Darwin
Node Version:     v20.10.0
Nuxt Version:     3.8.2
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
https://github.com/jakubkoje/nuxt-reproduction
Describe the bug
In the reproduction I created a plugin that adds a method $hello to the useNuxtApp. The issue is, If I have typescript with vue-tsc installed (as shown here https://nuxt.com/docs/guide/concepts/typescript), I do not see the $hello in useNuxtApp. If I uninstall the typescript and vue-tsc everything works normally.
Additional context
I encountered this first on production project, after realizing what the issue is inside the reproduction, I was able to temporarily fix it both in reproduction and production projects by uninstalling typescript and vue-tsc. This is not a ideal solution.
I have tried to downgrade the installed typescript version down to what the nuxt comes with, no luck - had to remove typescript from my dependencies entirely.
Logs
No response

I'm encountering the same problem. I've initialized multiple starter projects and created plugins following the documentation, but the useNuxtApp provides plugins of an unknown type.

This works fine for me when cloning and installing deps (and of course, running nuxi prepare):

Unfortunately, I can not provide any more detailed reprotuction. I tried to reistall it once again using bun, ran ’bun prepare’ again and it sudenly started working.

It worked fine for me with pnpm. Maybe the issue is mixing the package managers?

Well, I always removed the node_modules and all lockfiles. So I am not sure - I might try installing latest pnpm and trying it out again just to be sure.

I wonder what the TypeScript version installed by your IDE is

Tried using VSCode's TypeScript version 5.3.2 and the project's bundled TypeScript version 5.3.3. The result is the same. I suppose a temporary solution might be manually typing the plugins as described here.

Would you try running vue-tsc and seeing if there is an error reported? That's probably more reproducible than using your IDE, which might have other issues.

It shows just that the type is unknown in my production project. I really cannot reproduce it now, even with pnpm in the reproduction repo I provided. I guess we can close this for now, if I encounter this again, I will create a new issue. Sorry for bothering you, I got no idea why it started working today :)

I may have found the issue. It seems like it is caused by installling @vueuse/motion inside the modules. I will update the reproduction.

Happens here too, all the the plugins returns as unknown

One way to repro it is the linked reproduction + uncommenting @vueuse/motion. This should be an issue of the module then though.
Would be interesting to see if there are more modules where that happens.

I have found a similiar bug which may be related, nuxt-modules/ionic#597. The generated types are empty and it is causing the same issue, that all other plugins in useNuxtApp are unknown.


Queue multiple notifications rather than displaying them simultaneously.

On screen notifications should be limited to 1 at a time. Currently they just pile on top of each other which is not ideal. Instead, notifications should be added to a queue, which would be responsible for presenting the next notification from the queue once the previous one has been dismissed. Doing this fixes:

Notifications piling up and becoming hard to read because of view transparency.
User being interrupted from his interaction with the first notification.
UIStatusBar hide/unhiding bug. Currently once the first notification disappears, the status bar is unhidden.... even if a new notification is already on screen.
Inconsistency from the way Apple displays push notifications (they use a queue).

Ok, I will apply your suggestions next week:-) thanks for your reply. Maybe you would like to improve library, create pull request, and me immediately push it to cocoapods?

Yep @kunass2 I might be able to help out on this issue next week.

Any progress on this one?

I will care about this soon. Let you know.

Bartłomiej Semańczyk

On 21 Aug 2016, at 23:28, MHX792<EMAIL_ADDRESS>wrote:
Any progress on this one?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@MHX792 @camclendenin working on this now:) I will release new version today.


add documentation for configuration files

In the current implementation you need to use underscores for the configuration options (instead of the dashes on the command line). Behind the scene it uses the dest of each argument.
I wanted to open this for visibility anyway since it already provides helpful information. I will create PRs to modify the behavior to match the documentation before this is being merged.

thanks ! very useful

The the naming changes implemented in colcon/colcon-core#24 I will move this in review.


Specify non-guarantee of 1W resolution in methods

Some components may have a charge/discharge power resolution of more than 1 W. E.g., an inverter may have a resolution of 88 W. In such cases, the charge/discharge power will be floored to the nearest multiple of the resolution.

Rounding issues was why we were using int instead of float for power values right?  If we're rounding anyway,  what do you think about switching to float, to have the same type for data and control?

what do you think about switching to float, to have the same type for data and control?

Why not. I will add the change here: https://github.com/frequenz-floss/frequenz-api-microgrid/pull/36
These existing methods will become deprecated anyway.

Signed the commit to fix the DCO issue.


Suggestion: enhancement in the syntax (loops)

Hi.
What about this?
/**
 *
${2:loop(, )}
 * @param ${2} ${2.1}
${2:/loop}
 */
function ${1:name} (${2:params}) {
    ${3}
}

This way:

the first focus is in $1 ... user types "createClient" and hits tab
focus on both $2
user types "name", tab, "The client name."

results in:

/**
 * @param name The client name.
 */
function createClient (name) {
    ${3}
}

user hits tab again, and cursor goes back to where it was before(outside the loop) adding the separator(", ", in this case) just before it.

/**
 * @param name The client name.
 */
function createClient (name, [CURSOR]) {
    ${3}
}

user types "age", tab, "The client's age."
result now it:

/**
 * @param name The client name.
 * @param age The client's age.
 */
function createClient (name, age, [CURSOR]) {
    ${3}
}

user hits tab, not typing anything
removes the last separator, and focus on $3.

/**
 * @param name The client name.
 * @param age The client's age.
 */
function createClient (name, age) {
    [CURSOR]
}

It's just a suggestion, but I think this feature would give much power to a new level of snippets.

Interesting but you can create a function snippet and use this extension: https://github.com/wikunia/brackets-funcdocr for param options.

FuncDocr is really interesting, but I was using the annotation comment just as an example.
The loop feature for snippets could be used for many other things.
Imagine using this for css...so you can create a snippet which would bring the : and ; for each line/property.
Or in HTML, a snippet that allowed you to create tables or LIs where with a simple TAB you could add a new set of tags.
I know emmet is good for things like that too, but this way, you would have a repeatable pattern (and could edit it, tab by tab).


chore: jsonfmt cosmos-db

Ran jsonfmt -w "specification/cosmos-db/**/*.json"

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js

Automation for azure-sdk-for-go

Automation for azure-sdk-for-java

Can one of the admins verify this patch?


replace fcm-1.2.3 to fiid-1.2.3

Replace gcm version string from fcm-1.2.3 to fiid-1.2.3.

I signed it!

I signed it!
Reply sth to trigger another googlebot.


Snapshot controller and Volsync should be addons

Since VolSync now comes by default it would be nice to have some guidance around its use/implementation.

I was actually thinking of making this and the snapshot-controller a single addon as it's not required.

Makes sense - not everyone needs it and placing too much emphasis on it runs into a concern you recently articulated in https://github.com/onedr0p/flux-cluster-template/discussions/838#discussioncomment-8007868

Unfortunately that would require Minio or R2 to be set up and rook or longhorn to be mandatory to set up and I like to leave storage options open for the user to implement themselves.

done in https://github.com/onedr0p/flux-cluster-template/commit/8e7d36c0c587ac424d6568b55b1c284dea7a4e54