Feature: Support dynamic targets

Feature proposal

Firebase Component: FirebaseCrashlytics (Auth, Core, Database, Firestore, Messaging, Storage, etc)

Can we support dynamic targets for Crashlytcs / Analytics by adding an additional library target in Package.swift such as this?
.library(
      name: "FirebaseCrashlyticsDynamic",
      type: .dynamic,
      targets: ["FirebaseCrashlytics"]
    ),

This way we'll be able to ship a single dynamic framework for all the targets of the app that wish to link with Crashlytics (if crash reporting will still work when it's loaded dynamically?) This would considerably shrink the size of our app bundle as currently each target that links with crashlytics, does so statically, resulting in a much larger overall .app bundle.
Clients could then wish to link against FirebaseCrashlyticsDynamic instead.
Most Swift Packages support dynamic targets now, such as RxSwift: https://github.com/ReactiveX/RxSwift/blob/main/Package.swift

I realize the risks / issues of linking with Firebase libraries dynamically so the above suggestion may simply not work. Having said that, is there an easy way to produce or distribute Firebase (Crashlytics / Analytics etc) as pre-compiled, static libraries so we could link with these once? I'd love to be able to use a xcframework ideally to avoid having to build Firebase as part of a clean build each time.
Right now 50% of the overall compilation time in our projects is spent compiling and linking against Firebase.

We have two distributions that distribute via static xcframeworks - Carthage and a binary zip.

Wow how did I miss that! Thank you!

@paulb777 Thanks again - I noticed there's no FirebaseAnalyticsWithoutAdIdSupport target and just one FirebaseAnalytics. Do I need to do anything special to make sure we don't get AdId support inadvertently added to the app?

Don't copy and include GoogleAppMeasurementIdentitySupport.xcframework to disable AdId support.


clr-control-error doesn't show error message unless you click some where else on screen for the first time

Describe the bug
clr-control-error doesn't show error message unless you click some where else on screen for the first time. From the second time onwards the error displays as soon as value changes.
How to reproduce
https://stackblitz.com/edit/clarity-v4-light-theme-clr-control-error-bug?file=src%2Fapp%2Fform-demo%2Fform-demo.component.html
Steps to reproduce the behavior:

Go to https://clarity-v4-light-theme-clr-control-error-bug.stackblitz.io/
From Select 1 control, Select 3 or 4, which is invalid (only 1 and 2 are valid)
Notice, error message doesn't show.
Click some where else on the screen.
Notice Error message appears.
Select value 1 or 2 (valid value), notice error message hides.
Again From Select 1 control, Select 3 or 4, which is invalid (only 1 and 2 are valid)
Notice Error message appears without clicking anywhere.

So only for the first time after selecting the invalid value, the error message doesn't show unless user clicks somewhere else on screen.
Expected behavior
Even with the first time after selecting the invalid value, the error message should show without user having to click somewhere else on screen.
Versions
Clarity project:

[ x ] Clarity Angular/UI

Clarity version:

[ x ] v4.x

Framework:

[ x ] Angular

Framework version:
ie: Angular 11
Device:

Type: MacBook
OS: 11.2.2
Browser: Chrome, Firefox
Version [Chrome: 89.0.4389.114 , Firefox: 87]

Additional notes
Add any other notes about the problem here.

@tovinayv, sorry for the delayed response. In your Stackblitz example, you're using select. Is there a reason why you want to allow users to pick an invalid option in a select box?

@sis0k0,
We have a UX that should display 'Not Available', if there are no possible options. We simple add 'Not Available' as an option and we have custom validator to mark it as invalid.

This is a pretty nasty bug for the use case where for some reason you load invalid configuration and present it in a form. As soon as the form is rendered there is no indication that there is a problem with existing data. The error will not appear till the user actually visits the problematic field. If they just want to edit the other fields validation will not let them submit the form because of the problematic one and no error message would appear.


keyboard [ctrl]v  pastes in address bar - set textbox in focus using visual automation

https://www.wangeditor.com/demo/index.html
wait 2
click //*[@id="w-e-element-0"]
clipboard('some text')
keyboard [ctrl]v
wait 2
snap page to editor.png

https://www.wangeditor.com/demo/index.html wait 2 click //*[@id="w-e-element-0"] clipboard('some text') keyboard [ctrl]v wait 2 snap page to editor.png

i find the reason is that 'the web url is selected,the focus is on the web address bar'

Hi @limengtaylor
You have to set the textbox in focus first by doing a visual automation click before you use keyboard step.
First you have to take a snapshot of the textbox and put in the same folder as your flow file. Then do:
click textbox.png
keyboard [ctrl]v

sample of textbox.png:

FYI the visual automation click will happen right in the center of the image.

textbox

Thanks ,it can solve the problem when there is a input 或 textarea,but there are some text-editor like TinyMC,Ckeditor,wangeditor,it doesn't has input or textarea.

Closing but please ping back if this is still relevant or an issue.


When Script Tokens are enabled, POST's to /v1/system/ping with correct Authorization header return 403

We recently enabled OAUTH for deploy-board and the deploy service so we can use role based permissions (dev deploy to staging, eng deploy to prod). Everything is working properly on the UI end except that we now cannot get any deploy-agents to communicate with deploy-service.
We discovered that due to this change (uncommenting the authorization and authentication blocks in server.yaml), deploy-service is now requiring the "Authorization: token " header. As a result, we generated new script tokens for the specific environment, and added it to the respective deploy-agent config.
We expected that this would work - however we are now receiving 403 errors on the deploy-agent ping. It appears that the token is somewhat accepted by the deploy-service, as it's not calling to the Oauth Token provider (when we place a fake/broken token in the request, it responds with a 401 from the Oauth provider).
Is there a way to A) have the deploy-agents stay on anonymous auth, B) determine why the script tokens are not being accepted (specific debug point)
Curl with correct token:
curl -v -k -H "Authorization: token <token>" -H "Content-Type: application/json" -X POST -d '{"hostName": "aw-mapi-consumer3", "hostId": "371008528", "reports": [{"failCount": 0, "envId": "xI9Nd0RgTnWel4VlSU52Ig", "errorMessage": null, "deployStage": "SERVING_BUILD", "errorCode": 0, "deployId": "BWLYzB70QOeVdtIjKRIQ-w", "deployAlias": null, "agentStatus": "SUCCEEDED"}], "groups": ["speedtest-mobile-reports-prod-consumer"], "hostIp": "<IP_ADDRESS>"}' http://deploy.internal.ookla.com:8080/v1/system/ping
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to deploy.internal.ookla.com (<IP_ADDRESS>) port 8080 (#0)
> POST /v1/system/ping HTTP/1.1
> User-Agent: curl/7.38.0
> Host: deploy.internal.ookla.com:8080
> Accept: */*
> Authorization: token <token>
> Content-Type: application/json
> Content-Length: 356
>
* upload completely sent off: 356 out of 356 bytes
< HTTP/1.1 403 Forbidden
< Date: Thu, 02 Jun 2016 17:26:08 GMT
< Content-Type: application/json
< Content-Length: 40
<
* Connection #0 to host deploy.internal.ookla.com left intact

Curl with Incorrect token:
curl -v -k -H "Authorization: token <faketoken>" -H "Content-Type: application/json" -X POST -d '{"hostName": "aw-mapi-consumer3", "hostId": "371008528", "reports": [{"failCount": 0, "envId": "xI9Nd0RgTnWel4VlSU52Ig", "errorMessage": null, "deployStage": "SERVING_BUILD", "errorCode": 0, "deployId": "BWLYzB70QOeVdtIjKRIQ-w", "deployAlias": null, "agentStatus": "SUCCEEDED"}], "groups": ["speedtest-mobile-reports-prod-consumer"], "hostIp": "<IP_ADDRESS>"}' http://deploy.internal.ookla.com:8080/v1/system/ping
* Hostname was NOT found in DNS cache
*   Trying <IP_ADDRESS>...
* Connected to deploy.internal.ookla.com (<IP_ADDRESS>) port 8080 (#0)
> POST /v1/system/ping HTTP/1.1
> User-Agent: curl/7.38.0
> Host: deploy.internal.ookla.com:8080
> Accept: */*
> Authorization: token <faketoken>
> Content-Type: application/json
> Content-Length: 356
>
* upload completely sent off: 356 out of 356 bytes
< HTTP/1.1 401 Unauthorized
< Date: Thu, 02 Jun 2016 17:29:28 GMT
< Content-Type: application/json
< Content-Length: 202
<
* Connection #0 to host deploy.internal.ookla.com left intact
{"code":401,"message":"Failed to authenticate user. java.io.IOException: Server returned HTTP response code: 401 for URL: https://www.googleapis.com/userinfo/v2/me?access_token=<faketoken>"}

The only respective log entry is in deploy-service/access.log and it states:
First curl:
<IP_ADDRESS> - - [02/Jun/2016:17:30:42 +0000] "POST /v1/system/ping HTTP/1.1" 403 40 "-" "curl/7.38.0" 2

Second curl:
<IP_ADDRESS> - - [02/Jun/2016:17:30:33 +0000] "POST /v1/system/ping HTTP/1.1" 401 202 "-" "curl/7.38.0" 5060

Hi Brennent, thanks for the question. We did not make this part clear in the wiki, there are basically two ways to handle this:

If you run the teletraan agent service independently, as described here: https://github.com/pinterest/teletraan/wiki/Introduction, then you could configure the agent-service independently to disable authentication/authorization.

If you do run both agent-service and deploy-service in the same process, then you need to manually, meaning use SQL command, to issue yourself a script token just for ping. The syntax will be something like:

insert into tokens_and_roles values ("pinger","*","SYSTEM",RANDOM-22-CHAR-STRING,'PINGER',1444364361894)
You could change the timestamp to any milliseconds in the future. You then would have to configure the deploy-agent to use the token: https://github.com/pinterest/teletraan/blob/master/deploy-agent/deployd/conf/agent.conf
Unfortunately, we do not have an UI support for this ( we do not have UI for global resource protection, only per env for now ). We will consider to add it later.
Let us know if you have any questions when setting the above up.

Hi Sbaogang, thank you for the descriptive (and very helpful) response. From a pragmatic perspective, how would one go about separating the teletraan agent from the deploy-service?

Would you run a second instance of deploy-service, with the same mysql endpoints, but with different auth settings and ports (to prevent collisions with the first instance)?
Is there a flag passed at initialization to make it run in agent mode?
Other?

Lastly, do you have a recommended "best practice" of the two options you provided? The second option appears most straightforward (and retains a semblance of auth on ping), but I'm worried that doing manual database modifications will cause issue in the future.

At Pinterest, we run agent-service and deploy-service in their owner cluster for the following reasons:

Given 10+K hosts pinging every minute, agent-service is much busier and we do not want to add extra load from the deploy-service side.
Agent-service code path is pretty separate from the deploy-service code path, most of our code changes are in the deploy-service side, so we do not have to update agent-service every time.

To run in agent mode, I think the only difference is to run com.pinterest.teletraan.TeletraanAgentService, instead of com.pinterest.teletraan.TeletraanService.
I would not worry about the manual SQL operation though, to issue a global token is very rare, it should just happen a couple of times in Teletraan lifetime ( that is why we do not have an UI yet, service owners who deploy code do not need them). We would keep the future DB change backward compatible, and we will also provide UI for the global token as well.

Excellent, thank you very much for the clarification and assistance. We ended up just doing the SQL statement - we don't have as many hosts as you do (high hundreds), and we already had clustering setup for the combined deploy-service/teletraan-agent-service.
It worked like a charm! We've been very impressed with Teletraan, thank you again for open sourcing it.

you are certainly welcome!


[octavia-ingress-controller] Doesn't publish the full certificate chain

Is this a BUG REPORT or FEATURE REQUEST?:
To me, this is a bug. But it could also be viewed as a feature request.

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
The ingress controller created a TERMINATED_HTTPS load balancer using a provided TLS secret. The LB is responding to requests presenting only the leaf certificate, not the chain.
What you expected to happen:
The LB should present the leaf certificate and any intermediate certificates needed (fullchain)
How to reproduce it:

Create a TLS secret in kubernetes, with the full chain in tls.crt

kubectl create secret tls my-cert --cert cert.pem --key key.pem

Create an octavia ingress

cat <<EOF | kubectl apply -f -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
     kubernetes.io/ingress.class: openstack
  name: nginx
spec:
  rules:
  - host: host.domain.com
    http:
      paths:
      - backend:
          serviceName: nginx-http
          servicePort: 80
  tls:
  - hosts:
    - host.domain.com
    secretName: my-cert
EOF

Inspect the presented certificates:

openssl s_client -connect host.domain.com:443
[...]
---
Certificate chain
 0 s:CN = host.domain.com
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
---

A manually configured barbican TLS secret, with full chain show something like:
---
Certificate chain
 0 s:CN = host.domain.com
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---

Anything else we need to know?:
Environment:

openstack-cloud-controller-manager(or other related binary) version: 1.19.0
OpenStack version: Train
Others:

Hi @dr4Ke , may I know what do you mean by A manually configured barbican TLS secret?

I meant using the openstack cli using this scenario for example:
https://docs.openstack.org/octavia/latest/user/guides/basic-cookbook.html#deploy-a-tls-terminated-https-load-balancer
openssl pkcs12 -export -inkey server.key -in server.crt -certfile ca-chain.crt -passout pass: -out server.p12
openstack secret store --name='tls_secret1' -t 'application/octet-stream' -e 'base64' --payload="$(base64 < server.p12)"
openstack loadbalancer create --name lb1 --vip-subnet-id public-subnet
# Re-run the following until lb1 shows ACTIVE and ONLINE statuses:
openstack loadbalancer show lb1
openstack loadbalancer listener create --protocol-port 443 --protocol TERMINATED_HTTPS --name listener1 --default-tls-container=$(openstack secret list | awk '/ tls_secret1 / {print $2}') lb1
openstack loadbalancer pool create --name pool1 --lb-algorithm ROUND_ROBIN --listener listener1 --protocol HTTP
openstack loadbalancer member create --subnet-id private-subnet --address <IP_ADDRESS> --protocol-port 80 pool1
openstack loadbalancer member create --subnet-id private-subnet --address <IP_ADDRESS> --protocol-port 80 pool1

In this command

kubectl create secret tls my-cert --cert cert.pem --key key.pem

How did you generate the cert.pem and key.pem?

The key was generated with openssl. The cert.pem is the "fullchain" given by lets encrypt after a successful challenge.
I will check again everything, and provide more precise information.

Hi, I ran into the same issue.
When cert.pem contains intermediate certificates these intermediate certificates are not copied over to Barbican store. This is not a bug it is marked as TODO by @lingxiankong here:
https://github.com/kubernetes/cloud-provider-openstack/blob/4254f067576aa88a3287c00195d28d58a755a681/pkg/ingress/controller/controller.go#L609
The full PEM file is parsed, by only the first cert is copied over.

We just ran into the same issue. Are there any plans to support this in the near future?

We just ran into the same issue. Are there any plans to support this in the near future?

Hi guys, I agree this is a bug that needs to be fixed, but I'm not available for a PR at the moment, could any one of you pick up this issue?

Hi guys, I agree this is a bug that needs to be fixed, but I'm not available for a PR at the moment, could any one of you pick up this issue?

/remove-lifecycle stale

/remove-lifecycle stale

resolve by #1699 ?

resolved by #1699 ?

Yes, should be. @dr4Ke I am closing this issue, please re-open if you think it's still valid.


Prevent the operator from running on Kubernetes with lower versions

As described in #357, the operator might fail to sync the resources when running on Kubernetes with lower versions, such as 1.21. We should also note that in the documentation.

Maybe we could use a validating webhook block requests with lower versions.

Maybe we could use a validating webhook block requests with lower versions.

Maybe we could use a validating webhook block requests with lower versions.

The kube version is fixed during runtime. We'd better block the operator from running by checking the server version and panic when the lowest version isn't fulfilled.


[Feature]: How can we deploy FastEmbed externally as an Inference service?

What feature would you like to request?
I would like to deploy fastembed as an external service, similar to infinity. Can we do that?
Is there any additional information you would like to provide?
No response

Hey @S1LV3RJ1NX
Fastembed is a library, not an inference server, in order to do that you'd need to write some code, e.g. fastapi backend


webpack implementation

Hi,
I tested out the aurelia-es2016-webpack skeleton and have som issues with the bridge.
Do you have any recommendation on how to use this library together with webpack?
/hw

Without knowing what precisely is your issue @hwaastad - I would think that you encountered the problem described as "Extending the es2016-webpack sample to use Aurelia-KendoUI bridge fails" and discussed here: https://github.com/aurelia/skeleton-navigation/issues/344
There should not be any difference between KendoUI and Materialize bridge in this context.

Hi @adriatic ,
much the same. After some trouble with missing libs (needed manual install) I ended up with:
webpack.config:
resolve: {
alias: {
'aurelia-materialize-bridge': 'aurelia-materialize-bridge/dist/commonjs/index.js',
'jQuery':'jquery/dist/jquery.js'
}
},
and in my main.js:
import 'aurelia-materialize-bridge';
Now, I see config-builder and toastService is loaded, but initialization fails:
Uncaught (in promise) Error: Cannot find module './aurelia-materialize-bridge'.(…)
I thing maybe I need to have a check with the aurelia-webpack-loader for more info.
thx
/hw

While your approach may result with the outcome you need - it is not the optimal one. I would suggest to wait until the developer maintaining Aurelia webpack project resolves the problem(s) reported in https://github.com/aurelia/skeleton-navigation/issues/344. At that time, your Materialize bridge based application would behave no different than the current es2016-webpack navigation skeleton.
The problems introduced by adding the bridge to the mix are caused by webpack failing to load all of the bridge's dependencies

Uncaught (in promise) Error: Cannot find module './aurelia-materialize-bridge'.(…)

I got that part solved at work, would have to look it up there. But then there are problems finding hammerjs, Velocity etc. There are issues on the Materialize repo about webpack problems with workarounds.
I suppose webpack integration will be a broader topic than it seems.

adding
"main": "dist/commonjs/index.js"

to the bridge's package.json file should at least enable it to load. Somehow I missed adding this to 0.2.0. Sorry, will deliver a patch tomorrow or the day after.
Unfortunately, that is the time when Materialize's own problems with webpack start becoming an issue. I didn't have enough time yet to have a deeper look at these.
For reference..
These are Materializes issues on webpack, some of them include workarounds:
https://github.com/Dogfalo/materialize/issues?utf8=✓&q=is%3Aissue+webpack
This is maybe the most "significant" or at least it describes the problems I have had with it:
https://github.com/Dogfalo/materialize/issues/1422

everyone interested in webpack regardless of which bridge used - please participate in https://github.com/aurelia-ui-toolkits/aurelia-kendoui-bridge/issues/428 and try to use @JeroenVinke as the proxy. This is important to simplify the discussion with @martijnboland and the rest of core team that might be a part of discussion

As a reminder to myself as I'm away at the moment. I also had this problem: https://github.com/aurelia/webpack-plugin/issues/9
Thanks, @hwaastad

As a reference for later when loading html requires is solved: https://github.com/Dogfalo/materialize/issues/2661

Almost there... :smile:
https://github.com/aurelia/skeleton-navigation/pull/440#issuecomment-220825941

This may be helpful once above mentioned PR is merged:
https://github.com/Zevran/materialize-loader

continued in #195


feat: update dotnet version to 8 and dependencies to the last version

updates dotnet version to 8;
updates dependencies to the last version;
replaces binaryformatter to JsonSerializer;
implements some dotnet 8 features where apply;

olá @karlos-oliveira , boa tarde!
peço por favor incluir o dotnet 8.0 no yaml  https://github.com/Avanade/Liquid-Application-Framework/blob/main/.github/workflows/base-liquid-ci-and-cd.yml.


minor issue in XMP format sidecar - dc:description and dc:title

when description and title are empty - exiftool does not like how osxphotos writes the tags.
And it appears that Windows Explorer and some apps don't like empty description and title as osxphotos outputs it. Preferred way is how Exiftool writes them -
So instead of
dc:description</dc:description>
dc:title</dc:title>
Exiftool prefers they look as follows -
dc:description
rdf:Alt
<rdf:li xml:lang='x-default'/>
</rdf:Alt>
</dc:description>
dc:title
rdf:Alt
<rdf:li xml:lang='x-default'/>
</rdf:Alt>
</dc:title>

Thanks.  I'll take a look this weekend.
Here's an exiftool generated XMP file:
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.00'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
  <dc:description>
   <rdf:Alt>
    <rdf:li xml:lang='x-default'>My description</rdf:li>
   </rdf:Alt>
  </dc:description>
  <dc:title>
   <rdf:Alt>
    <rdf:li xml:lang='x-default'>Title Here</rdf:li>
   </rdf:Alt>
  </dc:title>
 </rdf:Description>

 <rdf:Description rdf:about=''
  xmlns:photoshop='http://ns.adobe.com/photoshop/1.0/'>
  <photoshop:DateCreated>2020-09-19T14:36:26.719</photoshop:DateCreated>
 </rdf:Description>

 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:CreateDate>2020-09-19T14:36:26.719</xmp:CreateDate>
  <xmp:CreatorTool>13.7</xmp:CreatorTool>
  <xmp:ModifyDate>2020-09-19T14:36:26</xmp:ModifyDate>
 </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>

I do have tests that use exiftool to validate the XMP and json files but exiftool says the file is valid--but when trying to apply tags, it says it's not:
exiftool -xmp=IMG_3092.heic.xmp IMG_3092.heic
Warning: Invalid XMP data for XMP:XMP
    0 image files updated
    1 image files unchanged

exiftool -validate IMG_3092.heic.xmp
Validate                        : OK

It would be really helpful to have a tool that validates an XMP file but I've been unable to find such.

Thanks.  I'll take a look this weekend.
Here's an exiftool generated XMP file:
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='Image::ExifTool 12.00'>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'>

 <rdf:Description rdf:about=''
  xmlns:dc='http://purl.org/dc/elements/1.1/'>
  <dc:description>
   <rdf:Alt>
    <rdf:li xml:lang='x-default'>My description</rdf:li>
   </rdf:Alt>
  </dc:description>
  <dc:title>
   <rdf:Alt>
    <rdf:li xml:lang='x-default'>Title Here</rdf:li>
   </rdf:Alt>
  </dc:title>
 </rdf:Description>

 <rdf:Description rdf:about=''
  xmlns:photoshop='http://ns.adobe.com/photoshop/1.0/'>
  <photoshop:DateCreated>2020-09-19T14:36:26.719</photoshop:DateCreated>
 </rdf:Description>

 <rdf:Description rdf:about=''
  xmlns:xmp='http://ns.adobe.com/xap/1.0/'>
  <xmp:CreateDate>2020-09-19T14:36:26.719</xmp:CreateDate>
  <xmp:CreatorTool>13.7</xmp:CreatorTool>
  <xmp:ModifyDate>2020-09-19T14:36:26</xmp:ModifyDate>
 </rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end='w'?>

I do have tests that use exiftool to validate the XMP and json files but exiftool says the file is valid--but when trying to apply tags, it says it's not:
exiftool -xmp=IMG_3092.heic.xmp IMG_3092.heic
Warning: Invalid XMP data for XMP:XMP
    0 image files updated
    1 image files unchanged

exiftool -validate IMG_3092.heic.xmp
Validate                        : OK

It would be really helpful to have a tool that validates an XMP file but I've been unable to find such.

What error are you getting from exiftool?  Here's an output from an osxphotos generated XMP file and exiftool seems to accept it:
exiftool -tagsfromfile IMG_3092.heic.xmp -all:all IMG_3092.heic
    1 image files updated

exiftool -tagsfromfile IMG_3092.heic.xmp -all:all IMG_3092.heic -v3
Setting new values from IMG_3092.heic.xmp
Sorry, XMP-x:XMPToolkit is unsafe for writing
Writing XMP-dc:Title
Writing XMP-digiKam:TagsList
Writing XMP-dc:Subject
Writing XMP-photoshop:SidecarForExtension
Sorry, ExifTool:ProcessingTime doesn't exist or isn't writable
Sorry, ExifTool:Now doesn't exist or isn't writable
Sorry, ExifTool:NewGUID doesn't exist or isn't writable
Writing XMP-xmp:ModifyDate
Sorry, File:MIMEType doesn't exist or isn't writable
Sorry, Composite:GPSPosition doesn't exist or isn't writable
Sorry, Composite:GPSLongitudeRef doesn't exist or isn't writable
Writing XMP-exif:GPSLongitude
Sorry, Composite:GPSLatitudeRef doesn't exist or isn't writable
Writing XMP-exif:GPSLatitude
Sorry, File:FileUserID is unsafe for writing
Sorry, File:FileTypeExtension doesn't exist or isn't writable
Sorry, File:FileType doesn't exist or isn't writable
Sorry, System:FileSize doesn't exist or isn't writable
Sorry, ExifTool:FileSequence doesn't exist or isn't writable
Sorry, File:FilePermissions is unsafe for writing
Sorry, System:FilePath doesn't exist or isn't writable
Sorry, File:FileName is unsafe for writing
Sorry, File:FileModifyDate is unsafe for writing
Sorry, System:FileInodeNumber doesn't exist or isn't writable
Sorry, System:FileInodeChangeDate doesn't exist or isn't writable
Sorry, System:FileHardLinks doesn't exist or isn't writable
Sorry, File:FileGroupID is unsafe for writing
Sorry, System:FileDeviceNumber doesn't exist or isn't writable
Sorry, System:FileDeviceID doesn't exist or isn't writable
Sorry, System:FileBlockSize doesn't exist or isn't writable
Sorry, System:FileBlockCount doesn't exist or isn't writable
Sorry, System:FileAttributes doesn't exist or isn't writable
Sorry, System:FileAccessDate doesn't exist or isn't writable
Sorry, ExifTool:ExifToolVersion doesn't exist or isn't writable
Sorry, File:Directory is unsafe for writing
Writing XMP-dc:Description
Writing XMP-photoshop:DateCreated
Writing XMP-xmp:CreateDate
======== IMG_3092.heic
Rewriting IMG_3092.heic...
  FileType = HEIC
  FileTypeExtension = HEIC
  MIMEType = video/quicktime
  Editing tags in: ItemInformation MOV Meta XMP
  Creating tags in: ItemInformation MOV Meta XMP
  Rewriting Meta
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting ItemInformation
  Rewriting ItemReference
  Rewriting ItemProperties
  Rewriting ItemPropertyContainer
  Rewriting XMP
    - XMP-xmp:CreateDate = '2020-09-19T14:36:26'
    + XMP-xmp:CreateDate = '2020-09-19T14:36:26'
    - XMP-photoshop:DateCreated = '2020-09-19T14:36:26.719000-07:00'
    + XMP-photoshop:DateCreated = '2020-09-19T14:36:26.719000-07:00'
    - XMP-dc:Description-x-default = ''
    + XMP-dc:Description = ''
    - XMP-exif:GPSLatitude = '41,15.39396N'
    + XMP-exif:GPSLatitude = '41,15.39396N'
    - XMP-exif:GPSLongitude = '95,56.41542W'
    + XMP-exif:GPSLongitude = '95,56.41542W'
    - XMP-xmp:ModifyDate = '2020-09-19T14:36:26'
    + XMP-xmp:ModifyDate = '2020-09-19T14:36:26'
    - XMP-photoshop:SidecarForExtension = 'heic'
    + XMP-photoshop:SidecarForExtension = 'heic'
    - XMP-dc:Subject = 'foo/bar'
    + XMP-dc:Subject = 'foo/bar'
    - XMP-digiKam:TagsList = 'foo/bar'
    + XMP-digiKam:TagsList = 'foo/bar'
    - XMP-dc:Title-x-default = ''
    + XMP-dc:Title = ''
    1 image files updated

What error are you getting from exiftool?  Here's an output from an osxphotos generated XMP file and exiftool seems to accept it:
exiftool -tagsfromfile IMG_3092.heic.xmp -all:all IMG_3092.heic
    1 image files updated

exiftool -tagsfromfile IMG_3092.heic.xmp -all:all IMG_3092.heic -v3
Setting new values from IMG_3092.heic.xmp
Sorry, XMP-x:XMPToolkit is unsafe for writing
Writing XMP-dc:Title
Writing XMP-digiKam:TagsList
Writing XMP-dc:Subject
Writing XMP-photoshop:SidecarForExtension
Sorry, ExifTool:ProcessingTime doesn't exist or isn't writable
Sorry, ExifTool:Now doesn't exist or isn't writable
Sorry, ExifTool:NewGUID doesn't exist or isn't writable
Writing XMP-xmp:ModifyDate
Sorry, File:MIMEType doesn't exist or isn't writable
Sorry, Composite:GPSPosition doesn't exist or isn't writable
Sorry, Composite:GPSLongitudeRef doesn't exist or isn't writable
Writing XMP-exif:GPSLongitude
Sorry, Composite:GPSLatitudeRef doesn't exist or isn't writable
Writing XMP-exif:GPSLatitude
Sorry, File:FileUserID is unsafe for writing
Sorry, File:FileTypeExtension doesn't exist or isn't writable
Sorry, File:FileType doesn't exist or isn't writable
Sorry, System:FileSize doesn't exist or isn't writable
Sorry, ExifTool:FileSequence doesn't exist or isn't writable
Sorry, File:FilePermissions is unsafe for writing
Sorry, System:FilePath doesn't exist or isn't writable
Sorry, File:FileName is unsafe for writing
Sorry, File:FileModifyDate is unsafe for writing
Sorry, System:FileInodeNumber doesn't exist or isn't writable
Sorry, System:FileInodeChangeDate doesn't exist or isn't writable
Sorry, System:FileHardLinks doesn't exist or isn't writable
Sorry, File:FileGroupID is unsafe for writing
Sorry, System:FileDeviceNumber doesn't exist or isn't writable
Sorry, System:FileDeviceID doesn't exist or isn't writable
Sorry, System:FileBlockSize doesn't exist or isn't writable
Sorry, System:FileBlockCount doesn't exist or isn't writable
Sorry, System:FileAttributes doesn't exist or isn't writable
Sorry, System:FileAccessDate doesn't exist or isn't writable
Sorry, ExifTool:ExifToolVersion doesn't exist or isn't writable
Sorry, File:Directory is unsafe for writing
Writing XMP-dc:Description
Writing XMP-photoshop:DateCreated
Writing XMP-xmp:CreateDate
======== IMG_3092.heic
Rewriting IMG_3092.heic...
  FileType = HEIC
  FileTypeExtension = HEIC
  MIMEType = video/quicktime
  Editing tags in: ItemInformation MOV Meta XMP
  Creating tags in: ItemInformation MOV Meta XMP
  Rewriting Meta
  Rewriting DataInfo
  Rewriting DataRef
  Rewriting ItemInformation
  Rewriting ItemReference
  Rewriting ItemProperties
  Rewriting ItemPropertyContainer
  Rewriting XMP
    - XMP-xmp:CreateDate = '2020-09-19T14:36:26'
    + XMP-xmp:CreateDate = '2020-09-19T14:36:26'
    - XMP-photoshop:DateCreated = '2020-09-19T14:36:26.719000-07:00'
    + XMP-photoshop:DateCreated = '2020-09-19T14:36:26.719000-07:00'
    - XMP-dc:Description-x-default = ''
    + XMP-dc:Description = ''
    - XMP-exif:GPSLatitude = '41,15.39396N'
    + XMP-exif:GPSLatitude = '41,15.39396N'
    - XMP-exif:GPSLongitude = '95,56.41542W'
    + XMP-exif:GPSLongitude = '95,56.41542W'
    - XMP-xmp:ModifyDate = '2020-09-19T14:36:26'
    + XMP-xmp:ModifyDate = '2020-09-19T14:36:26'
    - XMP-photoshop:SidecarForExtension = 'heic'
    + XMP-photoshop:SidecarForExtension = 'heic'
    - XMP-dc:Subject = 'foo/bar'
    + XMP-dc:Subject = 'foo/bar'
    - XMP-digiKam:TagsList = 'foo/bar'
    + XMP-digiKam:TagsList = 'foo/bar'
    - XMP-dc:Title-x-default = ''
    + XMP-dc:Title = ''
    1 image files updated

Warning: [minor] Fixed incorrect list type for XMP-dc:Description - t2.xmp

Warning: [minor] Fixed incorrect list type for XMP-dc:Description - t2.xmp

And I found by some searching online that this error would mean that the file XMP data won't be read by Windows Explorer as an example.

And I found by some searching online that this error would mean that the file XMP data won't be read by Windows Explorer as an example.

So I figured out that exiftool does not like empty lists -
dc:description</dc:description>
dc:title</dc:title>
So if you don't output these at all when description and title are empty then there is no error. In your case you have valid entries for description and title so you don't get the error. Currently osxphotos outputs an empty list which exiftool does not like. So just deleting these two lines, then exiftool handles it correctly.

So I figured out that exiftool does not like empty lists -
dc:description</dc:description>
dc:title</dc:title>
So if you don't output these at all when description and title are empty then there is no error. In your case you have valid entries for description and title so you don't get the error. Currently osxphotos outputs an empty list which exiftool does not like. So just deleting these two lines, then exiftool handles it correctly.

It's easy to omit the fields if they're empty. However this could potentially lead to "incorrect" results: for example, user imports a photo that has title or subject in exif, deletes them in Photos, then exports. What's the correct behavior in this case? If omitted in XMP, the resulting Image file will still have the original (deleted) data. But if this causes issues for exiftool or Windows I guess the most correct thing is to omit the empty fields.

It's easy to omit the fields if they're empty. However this could potentially lead to "incorrect" results: for example, user imports a photo that has title or subject in exif, deletes them in Photos, then exports. What's the correct behavior in this case? If omitted in XMP, the resulting Image file will still have the original (deleted) data. But if this causes issues for exiftool or Windows I guess the most correct thing is to omit the empty fields.

So this is an issue currently anyway. Seems strange that Photos doesn't modify the exif data when Title and Description are deleted. So I just did the test as you describe and when exported via osxphotos - the exif in the file still has the Title and Description whereas the XMP has null fields. If the desired logic is then to use exiftool to write back to the file and delete the exif fields, the correct way is to omit the fields since otherwise exiftool will issue the warning anyway.
So either way this is an issue. Just that if you omit the fields then exiftool won't issue a warning and if you write back to the file to update the exif Windows Explorer will correctly show empty fields

So this is an issue currently anyway. Seems strange that Photos doesn't modify the exif data when Title and Description are deleted. So I just did the test as you describe and when exported via osxphotos - the exif in the file still has the Title and Description whereas the XMP has null fields. If the desired logic is then to use exiftool to write back to the file and delete the exif fields, the correct way is to omit the fields since otherwise exiftool will issue the warning anyway.
So either way this is an issue. Just that if you omit the fields then exiftool won't issue a warning and if you write back to the file to update the exif Windows Explorer will correctly show empty fields

Seems strange that Photos doesn't modify the exif data when Title and Description are deleted.

Photos never modifies the original file.  All modifications happen only to edited images.  In the case of metadata, modifications only happen on export or added to the XMP when selecting "Export unmodified original"
If exporting via osxphotos the metadata in the exported file is never modified unless you use --exiftool option.

If the desired logic is then to use exiftool to write back to the file and delete the exif fields, the correct way is to omit the fields since otherwise exiftool will issue the warning anyway.

In my testing, omitting the field does not cause exiftool to delete the metadata, it simply ignores any existing metadata.  Only including a null field causes exiftool to delete the metadata.
Here's some test data:
Original image with a title:
exiftool -title test.heic
Title                           : My Title

Import into Photos:
Photos shows title as : "My Title"
Delete the title in Photos and export with Photos, title in exif is unchanged
exiftool -title test.heic
Title                           : My Title

Apply the xmp sidecar that Photos creates, title from exif is not deleted:
exiftool -tagsfromfile test.xmp -all:all test.heic
    1 image files updated

exiftool -title test.heic
Title                           : My Title

export with osxphotos, still has title as per original exif
exiftool -title test.heic
Title                           : My Title

export with osxphotos xmp sidecar, use exiftool to apply the sidecar and title is deleted (null title in XMP)
osxphotos export ~/Desktop/export --uuid C48B5596-647F-4D9D-A8AB-94D676A93688 -V --sidecar xmp

exiftool -title test.heic
Title                           : My Title

exiftool -tagsfromfile test.heic.xmp -all:all test.heic
    1 image files updated

exiftool -title test.heic
Title                           :

export with osxphotos and --exiftool, title is not deleted -- this is unexpected and, from my perspective, a bug in osxphotos. I would have expected --exiftool to delete the title to match what's in Photos so I'll need to look at this and determine if that's still the best behavior:
osxphotos export ~/Desktop/export --uuid C48B5596-647F-4D9D-A8AB-94D676A93688 -V --exiftool

exiftool -title test.heic
Title                           : My Title

Also, I never get any warnings when writing xmp with exiftool -tagsfromfile

Seems strange that Photos doesn't modify the exif data when Title and Description are deleted.

Photos never modifies the original file.  All modifications happen only to edited images.  In the case of metadata, modifications only happen on export or added to the XMP when selecting "Export unmodified original"
If exporting via osxphotos the metadata in the exported file is never modified unless you use --exiftool option.

If the desired logic is then to use exiftool to write back to the file and delete the exif fields, the correct way is to omit the fields since otherwise exiftool will issue the warning anyway.

In my testing, omitting the field does not cause exiftool to delete the metadata, it simply ignores any existing metadata.  Only including a null field causes exiftool to delete the metadata.
Here's some test data:
Original image with a title:
exiftool -title test.heic
Title                           : My Title

Import into Photos:
Photos shows title as : "My Title"
Delete the title in Photos and export with Photos, title in exif is unchanged
exiftool -title test.heic
Title                           : My Title

Apply the xmp sidecar that Photos creates, title from exif is not deleted:
exiftool -tagsfromfile test.xmp -all:all test.heic
    1 image files updated

exiftool -title test.heic
Title                           : My Title

export with osxphotos, still has title as per original exif
exiftool -title test.heic
Title                           : My Title

export with osxphotos xmp sidecar, use exiftool to apply the sidecar and title is deleted (null title in XMP)
osxphotos export ~/Desktop/export --uuid C48B5596-647F-4D9D-A8AB-94D676A93688 -V --sidecar xmp

exiftool -title test.heic
Title                           : My Title

exiftool -tagsfromfile test.heic.xmp -all:all test.heic
    1 image files updated

exiftool -title test.heic
Title                           :

export with osxphotos and --exiftool, title is not deleted -- this is unexpected and, from my perspective, a bug in osxphotos. I would have expected --exiftool to delete the title to match what's in Photos so I'll need to look at this and determine if that's still the best behavior:
osxphotos export ~/Desktop/export --uuid C48B5596-647F-4D9D-A8AB-94D676A93688 -V --exiftool

exiftool -title test.heic
Title                           : My Title

Also, I never get any warnings when writing xmp with exiftool -tagsfromfile

What exiftool command are you using that causes the warning?

What exiftool command are you using that causes the warning?

I created a test case to export a several files with XMP sidecars (all with various combinations of metadata) and then try to apply to the tags from XMP with exiftool but I've not been able to get exiftool to generate warnings for any of the XMP files.  If you post the exact command line you're using with exiftool I'll add it to the test case so I can then work backwards to eliminate the warnings.

I created a test case to export a several files with XMP sidecars (all with various combinations of metadata) and then try to apply to the tags from XMP with exiftool but I've not been able to get exiftool to generate warnings for any of the XMP files.  If you post the exact command line you're using with exiftool I'll add it to the test case so I can then work backwards to eliminate the warnings.

exiftool -tagsfromfile t2.xmp -all:all t1.xmp
I am trying to merge the xmp generated by osxphotos with xmp data modified externally. It works correctly without any issues in that the final output is correct - except for the warning that exiftool generates.

exiftool -tagsfromfile t2.xmp -all:all t1.xmp
I am trying to merge the xmp generated by osxphotos with xmp data modified externally. It works correctly without any issues in that the final output is correct - except for the warning that exiftool generates.

OK, I was applying the xmp tags to jpeg, not merging.  I'm able to replicate this now.  I'll update the test case and work on fixing these warnings.

OK, I was applying the xmp tags to jpeg, not merging.  I'm able to replicate this now.  I'll update the test case and work on fixing these warnings.

Interesting -- this appears to be a problem with both source and destination XMP file.  When I merge XMP files as you did above with both source and destination XMPs generated by osxphotos I get the warning:
Warning: [minor] Fixed incorrect list type for XMP-dc:Description - test.xmp
However, when I then merge again the osxphotos generated XMP with an XMP generated by exiftool, I don't get the warning.  So exiftool is happy if writing to one of it's own XMP but not happy with the externally generated XMP you have.  I will still work to fix osxphotos to conform to exiftool format.

Interesting -- this appears to be a problem with both source and destination XMP file.  When I merge XMP files as you did above with both source and destination XMPs generated by osxphotos I get the warning:
Warning: [minor] Fixed incorrect list type for XMP-dc:Description - test.xmp
However, when I then merge again the osxphotos generated XMP with an XMP generated by exiftool, I don't get the warning.  So exiftool is happy if writing to one of it's own XMP but not happy with the externally generated XMP you have.  I will still work to fix osxphotos to conform to exiftool format.

I think this is fixed in v0.39.18.  I've fixed XMP sidecar output to match exiftool as much as possible.  Let me know if you still have warnings.

I think this is fixed in v0.39.18.  I've fixed XMP sidecar output to match exiftool as much as possible.  Let me know if you still have warnings.

Works great! Thanks a lot.

Works great! Thanks a lot.


Cannot execute oxlint

So, after the announcement of the general availability of oxlint I decided to give it a try.
However, I immediately get an exception:
❯ npx oxlint@latest
/home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/oxlint/bin/oxlint:37
    throw result.error;
    ^

Error: spawnSync /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint ENOENT
    at Object.spawnSync (node:internal/child_process:1110:20)
    at Object.spawnSync (node:child_process:871:24)
    at Object.<anonymous> (/home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/oxlint/bin/oxlint:21:43)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:23:47 {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawnSync /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint',
  path: '/home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint',
  spawnargs: []
}

Yet, the file does exist:
❯ ls -l /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint
.rwxr-xr-x 6,6M ME 15 dec 13:49 /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint

strace doesn't tell me much more:
❯ strace -f /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint
execve("/home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint", ["/home/ME/.npm/_npx/f4a33d9b"...], 0x7ffdc63603a8 /* 189 vars */) = -1 ENOENT (No such file or directory)
strace: exec: No such file or directory

Everything is properly linked:
❯ ldd /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint
        linux-vdso.so.1 (0x00007ffd129c9000)
        libgcc_s.so.1 => /nix/store/jd99cyc0251p0i5y69w8mqjcai8mcq7h-xgcc-12.2.0-libgcc/lib/libgcc_s.so.1 (0x00007efe95108000)
        librt.so.1 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib/librt.so.1 (0x00007efe95103000)
        libpthread.so.0 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib/libpthread.so.0 (0x00007efe950fe000)
        libm.so.6 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib/libm.so.6 (0x00007efe94520000)
        libdl.so.2 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib/libdl.so.2 (0x00007efe950f9000)
        libc.so.6 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib/libc.so.6 (0x00007efe9433a000)
        /lib64/ld-linux-x86-64.so.2 => /nix/store/46m4xx889wlhsdj72j38fnlyyvvvvbyb-glibc-2.37-8/lib64/ld-linux-x86-64.so.2 (0x00007efe9512b000)

Is there anything else I should try?
This is on a NixOs system. On another machine with just nix home-manager, but the same linked libraries, everything works as expected.
Impressed by the speed by the way.

I have a gut feeling that the linux-x64 binary has a glibc problem.
What happens if execute the binary directly (by passing node altogether)? i.e. run /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint.
By looking at the build, it's using ghcr.io/cross-rs/x86_64-unknown-linux-gnu:0.2.5 under "build with cross".
Unfortunately I'm not familiar with system builds where I can figure out the rest of the puzzle pieces :-(

As suspected, it appears to be a NixOS-specific problem. As seen in https://discourse.nixos.org/t/why-does-this-binary-executable-give-cannot-execute-required-file-not-found/33948/3, a fix is patching the binary by running:
nix run nixpkgs#patchelf -- --set-interpreter "$(nix eval nixpkgs#stdenv.cc.bintools.dynamicLinker --raw)" /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint.
After that, oxlint runs it is supposed to. I learned this is common with arbitrary executables on NixOS. Given the usefulness of this application, sooner rather than later someone will package oxlint for NixOS.

There's an outdated version that is compiled from source 😅 https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/oxlint/default.nix

As suspected, it appears to be a NixOS-specific problem. As seen in https://discourse.nixos.org/t/why-does-this-binary-executable-give-cannot-execute-required-file-not-found/33948/3, a fix is patching the binary by running: nix run nixpkgs#patchelf -- --set-interpreter "$(nix eval nixpkgs#stdenv.cc.bintools.dynamicLinker --raw)" /home/ME/.npm/_npx/f4a33d9b4519ccab/node_modules/@oxlint/linux-x64/oxlint.
After that, oxlint runs it is supposed to. I learned this is common with arbitrary executables on NixOS. Given the usefulness of this application, sooner rather than later someone will package oxlint for NixOS.

Let me quickly search through github and see if there's similar installation script with nix specific instructions in it.


Need Some help

Every time i try to run the code i miss up so can some one check it for me .

[ and ] should not be parts of the path....


Beta

Codecov Report

Merging #35 (7c61d0d) into main (377f08e) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #35      +/-   ##
==========================================
- Coverage   95.09%   95.09%   -0.01%
==========================================
  Files         118      118
  Lines        2160     2159       -1
  Branches      176      176
==========================================
- Hits         2054     2053       -1
  Misses         99       99
  Partials        7        7

Impacted Files
Coverage Δ

matcher/to_be.ts
100.00% <ø> (ø)

matcher/to_be_null.ts
100.00% <ø> (ø)

matcher/to_be_number.ts
100.00% <ø> (ø)

matcher/to_be_object.ts
100.00% <ø> (ø)

matcher/to_be_odd.ts
100.00% <ø> (ø)

matcher/to_be_positive.ts
100.00% <ø> (ø)

matcher/to_be_sealed.ts
100.00% <ø> (ø)

matcher/to_be_string.ts
100.00% <ø> (ø)

matcher/to_be_symbol.ts
100.00% <ø> (ø)

matcher/to_be_true.ts
100.00% <ø> (ø)

... and 9 more

Continue to review full report at Codecov.

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

:tada: This PR is included in version 1.0.0-beta.54 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Token error when deploying as custom template

when deploying the template for a customer, getting the following error:
{"code":"DeploymentFailed","target":"/subscriptions/e9c7b2d8-706f-45c5-814c-c99d32418cc1/resourceGroups/FinOps-Toolkit/providers/Microsoft.Resources/deployments/hub","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.","details":[{"code":"ResourceDeploymentFailure","target":"/subscriptions/e9c7b2d8-706f-45c5-814c-c99d32418cc1/resourceGroups/FinOps-Toolkit/providers/Microsoft.Resources/deployments/storage","message":"The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.","details":[{"code":"DeploymentFailed","target":"/subscriptions/e9c7b2d8-706f-45c5-814c-c99d32418cc1/resourceGroups/FinOps-Toolkit/providers/Microsoft.Resources/deployments/storage","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-deployment-operations for usage details.","details":[{"code":"ResourceDeploymentFailure","target":"/subscriptions/e9c7b2d8-706f-45c5-814c-c99d32418cc1/resourceGroups/FinOps-Toolkit/providers/Microsoft.Resources/deploymentScripts/uploadSettings","message":"The resource write operation failed to complete successfully, because it reached terminal provisioning state 'failed'.","details":[{"code":"DeploymentScriptOperationFailed","message":"The received access token is not valid: at least one of the claims 'puid' or 'altsecid' or 'oid' should be present. If you are accessing as application please make sure service principal is properly created in the tenant."}]}]}]}]}
The customer is the owner of the subscription.
Also when trying to deploy the template thru the link, we get CORS error.
Any idea how to solve this?

This is the core error:

The received access token is not valid: at least one of the claims 'puid' or 'altsecid' or 'oid' should be present. If you are accessing as application please make sure service principal is properly created in the tenant.

I've never seen that. Given it's about the token, I don't think this is about anything in the toolkit. I would contact support and have them help investigate. Can you look at the resource group deployment and see which resource is failing? That will help identify which team to file the support request against.

FYI - Here's what Copilot tells me:
The error message "The received access token is not valid: at least one of the claims 'puid' or 'altsecid' or 'oid' should be present. If you are accessing as an application, please make sure the service principal is properly created in the tenant" typically occurs when working with Azure resources through REST API or service principals. Here's what it means and how to address it:

Service Principal Existence:

The error suggests that the service principal for your app does not exist in the tenant where you're trying to access resources.
Each tenant you want to access must consent to your application. This ensures that the service principal exists in their tenant and has the necessary permissions to access Azure APIs.

Consent and Permissions:

Ensure that your application has been properly registered as a service principal in the Azure AD tenant.
Verify that the service principal has the required permissions to access the specific Azure resources you're trying to interact with.

Troubleshooting Steps:

Check if the service principal exists in the target tenant.
Review the permissions assigned to the service principal.
Ensure that the client ID, secret, and tenant ID are correctly configured in your application.

Remember that resolving this issue involves verifying the service principal's existence, permissions, and proper configuration. Once you've addressed these aspects, you should be able to obtain a valid access token. 🚀
Source: Conversation with Bing, 4/1/2024
(1) Login with service principal fails: The received access token is not .... https://github.com/Azure/login/issues/233.
(2) I'm trying to access Azure resources through rest api i'm getting error .... https://learn.microsoft.com/en-us/answers/questions/422615/im-trying-to-access-azure-resources-through-rest-a.
(3) The received access token is not valid - Microsoft Q&A. https://learn.microsoft.com/en-us/answers/questions/979522/the-received-access-token-is-not-valid.
(4) Access Token seems to be invalid - social.msdn.microsoft.com. https://social.msdn.microsoft.com/Forums/vstudio/en-US/b50969f1-894b-48e9-8645-bbe0bbfd8e49/access-token-seems-to-be-invalid?forum=WindowsAzureAD.
(5) undefined. http://stackoverflow.com/questions/40498446/azure-invalid-accesstoken.


underscore in juju_model and juju_applications resources not allowed, but not caught in plan

Terraform Version
Terraform v1.3.5
on linux_amd64
+ provider registry.terraform.io/juju/juju v0.4.3

Affected Resource(s)

juj_model

Terraform Configuration Files
terraform {
  required_providers {
    juju = {
      source  = "juju/juju"
      version = "0.4.3"
    }
  }
}
provider "juju" {}

resource "juju_model" "test_model" {
  name = "test_model"
}

resource "juju_application" "test_application" {
  name = "test_application"
  model = juju_model.test_model.name

  charm {
    name = "ubuntu"
  }
}

Debug Output
https://paste.ubuntu.com/p/D7YV7Ryd5n/
Panic Output
N/A
Expected Behavior
Either terraform plan should warn of not allowed characters, or the juju_model resource should support underscores.
Actual Behavior
See the paste above
Steps to Reproduce
See the paste above
Important Factoids
N/A
References
N/A

This applies to both the juju_model and juju_application resources.

No naming control was introduced into the controller in an attempt to minimize the logic inside it. The current policy is to wait for Juju to respond. Said that, I think this could be helpful. I add it to the wishlist. Thanks for reporting!


corelib: Add growable parameter to List.filled constructor

Just today I need to create a list with N copies of something and then add more elements.
I'd like to say  new List.filled(N, something, growable: true).
Most of the List constructors have a growable: parameter, List.filled should too.

Alternative:  new List.generate(N, (_)=>something); or []..length = N..fillRange(0, N, something).
The reason we decided that List.filled should not create growable lists was to avoid confusion.
Users could assume that increasing the list's length would fill the new slots with the "fill" value as well, which it won't.

Done.


[Feature]: Adding Privacy Policy to the Website.

🚀 Feature Request
📝 Feature Description
A additional privacy policy link to the footer of the website.
🔧 How Will This Enhance the App?
This will enhance the user interaction that their data has used for the website purposes only.
🎯 Use Cases
Privacy-Policy is what user needs because everyone is concerned about their data such as gmail etc also makes the website more professional.
📦 Suggested Implementation
A dedicated Privacy-Policy page so that user can read everything in details.
📸 Additional Context
Example privacy policy page

@skmirajulislam I would like to work on this.

please assign me this project.Assign me this project


Address pull secret synchronization issues

Users can specify image pull secrets (IPS) using the .spec.pullSecret field. The pull secret is added to the ServiceAccount (SA) that the operator creates and eventually set on the Pods.

[ ] Create the CR. Once Deployment is created, specify .spec.pullSecret in CR. The pull secret value is not added to Pod. If Pod is deleted then the value is added.
[ ] Create a new CR with .spec.pullSecret set to a Secret that doesn't exist. Reconciled status should report an error. Update CR to specify a valid Secret. The error doesn't go away and Deployment is never created. This is because the IPS value is never removed from SA and to fix the ImagePullBackOff issue, we check the first IPS value in SA to make sure Secret exists.

@idlewis I probably misremembered the details. Anyways, here is the scenario that is not working as expected:
Create CR with an invalid pullSecret value. Reconciled reports an error. Remove the pullSecret. The error doesn't go away. That's because the image pull secret value is not removed from the service account. We don't know which pull secret to remove. Tracking the pullSecret in status would allow us to remove it.

WLO: https://github.com/WASdev/websphere-liberty-operator/pull/139


Remove sitecustomize file

Description
Less files, less confusion. This came to be from discussion in spotify/luigi#1693
Have you tested this? If so, how?
Not tested. I entirely rely on Travis for this. In particular there could be flags misspelled and other unknown incompatibilities as of the new version of coverage.
Luigi developers might need to run rm .coverage after applying this change as a new version of coverage will be in use after this patch.

[Current coverage][cc-pull] is 75.93%

Merging [#1755][cc-pull] into [master][cc-base-branch] will decrease coverage by 2.87%

@@             master      #1755   diff @@
==========================================
  Files            95         90     -5
  Lines         10348       9892   -456
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           8155       7511   -644
- Misses         2193       2381   +188
  Partials          0          0

Powered by Codecov. Last updated by [c29e48f...006dc2b][cc-compare]
[cc-base-branch]: https://codecov.io/gh/spotify/luigi/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/spotify/luigi/compare/c29e48fad73dfc93c4d7aac7a708d216aaa08573...006dc2b968376bc7672568a2a9713438849d0008?src=pr
[cc-pull]: https://codecov.io/gh/spotify/luigi/pull/1755?src=pr

@gpoulin, is this kinda what you said in https://github.com/spotify/luigi/pull/1693#issuecomment-220613066?

Die you incomprehensible root folder file! >_<


Tutorial - Advanced Custom Blocks (Sushi blocks)

hi,
I referred to the method in the sushi blocks in "Advanced Custom Blocks", but when testing the block, I couldn't display the texture of the sushi successfully.
The attachment is the data structure of the resource packs and behavior packs.
Please help me find where the problem is.
Thanks

文件詳細資料
⚠ 請勿編輯此區段。 這是 learn.microsoft.com ➟ GitHub 問題連結的必要項。

ID: a69abde4-29ff-b418-da93-d3f9a3674c26
Version Independent ID: a69abde4-29ff-b418-da93-d3f9a3674c26
Content: Custom Blocks Part 2 Geometry and Materials
Content Source: creator/Documents/AdvancedCustomBlocks.md
Product: gaming
GitHub Login: @mammerla
Microsoft Alias: JimSeaman42

I'm sorry, but we cannot provide support for add-on development via this GitHub repo. There are some very helpful communities that exist that can help.


Co-Z + effective affine precomputation + tests

This builds on top of #171 but reworks the group element tests, making them much more extensive (and faster).

Rebased, and restructured the commits significantly (moving the Co-Z part to a separate commit). @peterdettman since the code and ideas were yours, I left you as author, but feel free to complain if you think that's not appropriate.

@sipa I don't have any problems with that, thanks for asking though.

@sipa thanks for rebasing

Rebased again.

Needs operation counts.

Done.

Refactored the code further (to facilitate later batch chaining, in order to support batch signature validation).

@sipa I put together a commit demonstrating how to get half of the speed gain of Co-Z precomp without the Co-Z formulae: https://github.com/peterdettman/secp256k1/commit/f188650d2a54434907ec1f655aa60ca33ac287e8 . It basically applies the effective-affine trick so that the precomp additions are mixed.

@peterdettman Awesome, makes perfect sense.
Benchmarks (without GLV, with GMP):
Effective affine: 256k cycles
Effective affine + your endomorphism odd multiples: 254k cycles
Effective affine + Co-Z odd multiples: 248k cycles
Benchmarks (with GLV, with GMP):
Effective affine: 188k cycles
Effictive affine + your endomorphism odd multiples: 185k cycles
Effective affine + Co-Z add multiples: 182k cycles

Closing this, way too many refactors to follow the discussion; I'll open new pull requests.


Support GlassFish Server 4.1

The current GlassFish v3.2.2 is outdated and patch support will be stopped in the near future.

New glassfish has been introduced. Nothing official yet, but we already have beta builds. Instead of migration to glassfish 4.1 I would suggest to migrate to 5.0 directly (http://download.oracle.com/glassfish/5.0/index.html)
@mdehn @GoebelL @bogdanbarzu could you please consider the migration?
If we can't go with 5.0, because of sth I'm not aware of, we should consider payara server (http://www.payara.fish/about). This is glassfish based application server. Fully opensource (as we are) with developer and production support and frequent updates.
FYI: last build of glassfish 4.1.1 has been done Oct 7 2015 which in IT world is ages ago.

The glassfish 5.0 is a reference implementation for JavaEE 8, which Oracle has delayed for end of 2017 because of major enhancements.
So migration to glassfish 5.0 should not be done at this moment.
The idea with Payara is interesting, it should fit better for agile processes, but requires more investigation first. Payara is parallel to glassfish 4.x, so if we migrate to glassfish 4.x, it will be probably easier to do this step afterwards. More time to investigate the implications is necessary. I can think of installation changes for example, the integration tests environment etc.  Existing customers must be also taken into account. How can they migrate? How much effort is needed?
If we want migration in 16.2 release there is no chance to start any other, but glassfish 4.1

Glassfish 4 is delivered.


Brew uses a package with no lock file

🙂 Expected behavior
Brew should install the sunodo "binary" the same way as built locally in the monorepo project.
ps: sunodo is not a native binary, it's a javascript entrypoint.
🫠 Actual behavior
Our brew formula downloads the npm package from npmjs.
This npm package does not have a package-lock.json file.
After downloading the npm package it runs npm install.
This triggers the npm version resolution strategy from the package.json file.
The package.json defines dependencies very loosely, on purpose, like view ^1.9, or execa ^8.0, expecting that the lock file would guarantee the reproducibility of the build.
🧪 Minimal test case
I don't have a test case.
The brew formula for CLI 0.7.0 is failing, but I'm still investigating and it can be for a different reason.
🌎 Environment
macOS
✔ Possible solutions
First we should evaluate if a lock file should be part of the package or not.
Common sense is that it should not.
But I feel we are dealing with a different use case. We should study that use case, which is a distribution of a "binary" package, not a library.
Another problem is that our project use yarn and brew uses npm.
So we have a yarn.lock, in the root of the monorepo. Brew would only work with a package-lock.json as it uses npm.

This should not have been closed, as it's not fixed yet.

https://docs.npmjs.com/cli/v10/configuring-npm/npm-shrinkwrap-json

The recommended use-case for npm-shrinkwrap.json is applications deployed through the publishing process on the registry: for example, daemons and command-line tools intended as global installs or devDependencies.

Moved to https://github.com/cartesi/cli/issues/20


Min/max brightness for built-in display

Before opening the issue, have you...?

[X] Searched for existing issues

Is your feature request related to a problem? Please describe
I've came across issues #159, #310, #418, but they don't quite address the issue I have. My Macbook's built-in display has a brightness range that is bigger than the external monitor's, so when they're both perfectly synced, the Macbook display would be darker at low brightness, and then brighter at high brightness. If I could set min and max for the Macbook, then that would perfectly solve the problem, but it's not available:

I had somewhat of a workaround, which is to set a "DDC max" of the external monitor to a value higher than 100. That way when the Macbook reaches around 70% brightness, the external display would be at max brightness, perfect. However, I can't do the same for DDC min, as it doesn't accept a negative value.
Describe the solution you'd like
Have the ability to set a min and max brightness for the built-in display (I'm not sure if this is possible, cause if it was, you guys probably would've implemented it right?),
OR,
Have the ability to set a negative value for "DDC min" on the external monitor
Describe alternatives you've considered
Alternatives described above
Anything else?
No response

It is possible, but only for the adjustments that go through MonitorControl (if you use the native sliders or controls it will be disregarded).

I see, I'll be looking forward to this being implemented!


BOOST_PP_TUPLE_POP_FRONT() added & files reorganized

Table operations is moved to tblops directory, columns operations is moved to colops directory, and BOOST_PP_TUPLE_POP_FRONT() is added.

Can you add the Boost to your container[1]?
[1] https://travis-ci.org/rbock/sqlpp11

Sure, you can edit .travis.yml to add boost, too. I'll also take a look into it, but probably not before tomorrow.

After some back and forth I am now installing boost-1.50 headers before build in travis-ci. Works just fine.


Improve perceived latency for sender when sending/editing a message in very large streams

When sending messages to a stream with 15k+ subscribers, it can take 300ms between when the first user receives the message and the last does.  It would be desirable for the sender to be "first in line" for this purpose, since the UX for the sender is not ideal while waiting for the message to send (especially with edits).
The logic for this system involves several Set data structures, starting with this part of do_send_messages:
        user_ids = send_request.active_user_ids | set(user_flags.keys())

        users = [
            dict(
                id=user_id,
                flags=user_flags.get(user_id, []),
                always_push_notify=(user_id in send_request.push_notify_user_ids),
                stream_push_notify=(user_id in send_request.stream_push_user_ids),
                stream_email_notify=(user_id in send_request.stream_email_user_ids),
                wildcard_mention_notify=(user_id in send_request.wildcard_mention_user_ids),
            )
            for user_id in user_ids
        ]

        send_event(send_request.realm, event, users)

That then runs to zerver/tornado/events_queue.py, and in particular get_client_info_for_message_event (and process_message_event, which actually does the work).  I think if we do a bit of work to make sure the sender is first in the list sent from do_send_messages and then modify the Tornado code to use an OrderedDict or something (actually I think modern Python dicts all?) to avoid changing the iteration order, we can arrange it so that the order in the event sent from do_send_messages is also the processing order.
A fix should be testable by just adding print(user_id) type statements in process_message_event (with a bit of extra work to make sure send_to_clients doesn't break the ordering).
https://zulip.readthedocs.io/en/latest/subsystems/sending-messages.html has relevant background.

I think this should be doable for you -- I've mentioned the code paths involved and I think it just takes some print-debugging and care with sort order.


Terrastone and Runic Tool regeneration seems inconsistent

I watched the numbers on a tool go up by two, then take a while, then go up another.... and sometimes even go back down.  Here's a video.
https://imgur.com/a/8TUp0gW

They're both randomised and use the same algorithm as living tools; I need to tweak all of them though so there's a bit more sequence.


xsv: 0.12.1 -> 0.12.2

Motivation for this change
Update xsv to the last version
Things done
Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers.

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

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

I'm unfamiliar with rust, what are the implications of updating the rust registry?

Hi @joachifm, update the rust registry is mandatory for getting the last version of some dependencies.

The rust registry was updated elsewhere. Can you rebase?

I failed to notice that the sha256 is malformed (one char too many). I've reverted the commit. Please resubmit.

I'm so sorry. Something was wrong during the rebase :/

@mimadrid no worries, it happens :)


Retrieving a data attribute or class when using multiple instances

I have a table that has multiple instances of the datepicker. I am adding a class to each DatePicker with a unique id (i.e., class="datepicker-12") so that when a date is selected, I can fire off a request to update the date on that specific entity.
The problem that I am running into is when using onChange, the event.target is the actual day element on the calendar that was clicked and not the input (where my class with the unique id resides) that holds the actual date. I could use onBlur, but then a user could select a date and then the next action could be them navigating from the page. That means that the request would fire off, but I want to let them know as soon as they have changes the date that it did, in fact, update.
So, basically, I need a way to attach some unique attribute so that when a date is updated, I know which entity needs to be updated.  I have read through the docs but I cannot seem to find something like this and surely others have had to do this.

I'm actually facing the same problem!

Any updates on this issue?


Document#search only searches the text

When you search the DB for a word and get say 3 docs back, it means that the word is present in the doc somewhere (based upon the text search index - typically several fields).
If you then search those 3 docs for the same word we are searching only the text, not the title etc. This means that you could end up with at least one of those docs which does not have a valid text line for displaying in the results, because the match is in the title (or some other field).
The solution of course is to search the same fields in the doc as was searched by the Database, giving the same results.

Wgit v0.12.0 will include a fix for this. The Wgit::Document#search method now uses the Wgit::Model.search_fields (also used by Wgit::DatabaseAdapter#search) to search several fields (instead of just #text, as it was before).


Revert "feat: add iac source to drift in console output"

Reverts cloudskiff/driftctl#934
Bug
deletedResource.Source == nil if it is deleted.
Steps to reproduce:

create ec2 through terraform
delete ec2 through the console
run it and deletedResource.Source is nil

Steps to Resolve

resource.Source needs to be declared even when it is a deleted resource

relates to #901

@OrenLeung I'm not sure to get it, a deleted resource mean that it exist in terraform but not in your cloud provider. I mean even if the resource is deleted on the cloud provider, we are still able to determine the source since we determine the source based on IaC (terraform state).
The only kind of resource that should not have a source are unmanaged ones.
Are you sure that you are not in the case covered here : https://github.com/cloudskiff/driftctl/issues/942 ?
We identified some case where the source can be null and the issue #942 is here to debate how can we solve this.

@eliecharra i am not sure if it is covered by #942 let me debug a bit further. It might because of a "virtual" EBS


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

Git is a Distributed Version Control System. This allows multiple copies (or backups) of the code you are working on to be worked on by several users independently. Instead of being housed in one server, it is stored locally. With this system, it is easy to work as a group on projects by sending all the developer files to each team members computers. It allows for flexibility and collaboration between team members


Link to documentation is dead.

In the README, there is a link to the noria documentation in the Rust Bindings section, but the link is dead.

Thanks! This is due to docs.rs running a really old nightly. I've self-hosted the docs for the time being.


[SimPad v2 Anniversary] Firmware not updating

OS: Windows 10 Home x64, version 2004
SimPad Control Panel version: 0.165
Hi,
The firmware seems to not be updating, even when SimPad_Settings.exe is run as administrator.
It can be seen in this video: https://www.youtube.com/watch?v=eY2ylfykOzo
As you can see, the firmware version remains the same, before and after clicking check update.
Can this be fixed?
Thanks! :)

Oh sry, i set the update file with a wrong rom version.... just ignore it...
I have edited update file on my server...

What is this server that you are talking about, because i'm having the same problem, please help me

My update server down... I will try to fix soon


CB-15425 Improve AWS Disk Encryption test with external parameters

We have hard-coded Azure disk encryption test parameters at EnvironmentWithCustomerManagedKeyTests. We can make this more secure. Furthermore can be troublesome if we'd like to change any of these parameter just for a Jenkins build.
Beyond this we already have external parameter for AWS at application.yml as {{integrationtest.aws.diskEncryptionKey}}. However this was not introduced to AwsCloudProvider and it's proxies to generally use in tests and utils as in case of other AWS parameters we do.
I've improved a little the AwsEnvironmentWithCustomerManagedKeyTests, because of the cloud provider side validation was not implemented there. I think that is also needed for us to can rest assured about the requested KMS encryption was applied correctly on the provider side.

AWS changes look good to me.

we have also a DistroxEncryptedVolumeTest, what is the difference between this and that?

integration-test/src/main/java/com/sequenceiq/it/cloudbreak/testcase/e2e/environment/AzureEnvironmentWithCustomerManagedKeyTests.java and integration-test/src/main/java/com/sequenceiq/it/cloudbreak/testcase/e2e/environment/AwsEnvironmentWithCustomerManagedKeyTests.java are already existing test suites and the merge of these or into another suite is not part of the CB-15425
[API E2E] Introduce Disk Encryption external parameters for all the providers task. I suggest to create a separate JIRA for refactor and merge these test cases or reopen the original ones:

CB-13203 Add nightly tests for AWS SSE with CMK with PR#11724
CB-11741 Nigthly e2e Azure tests should use encryption with PR#11898


fix(platform): change isBrowser check to use Angular PLATFORM_ID

Use the Angular PLATFORM_ID token as a more reliable check for
whether the current platform is browser. This is because the
previous check for a global document could be a false positive
if another application pollutes the global namespace

BREAKING CHANGE:

Platform now takes the PLATFORM_ID as an optional parameter in
its constructor. This will become a required parameter in v7

Note: this is failing on one test case for the InteractivityChecker. Unless there's a simple way to refactor the test to avoid the undefined error, I'll leave it as a TODO for when the Platform constructor parameter is no longer optional.


Feature charts should have rancher min/max version

We can do in similar way to system-charts: https://github.com/rancher/system-charts/blob/dev-v2.5/charts/rancher-monitoring/v0.1.0/questions.yml
Note that internal apps such as fleet and operator have their own system, see: https://github.com/rancher/rancher/issues/30934

https://github.com/rancher/rancher/blob/8476503a1a631c25ead03293736fbfb85d69c906/pkg/catalogv2/content/content.go#L212 This appears to already be added here, as part of this commit https://github.com/rancher/rancher/commit/fa26506587a029a7774c5bb3756772c3e95175d4. I am working on adding tests, and will update documentation and chart annotations as necessary.

@brendarearden to help QA, can you setup one feature chart to have this in dev and then revert after they test. Or find some other way to QA.

I have an example branch that can be used as a repository in rancher to test against:
Type: Github Repo
Url: https://github.com/brendarearden/charts
Branch: testing-branch
Chart with the annotation: rancher-istio
The test is: depending on the rancher version that you are on, the chart should show or not show up available in the drop down.
Set-up: have a rancher setup that you have set the rancher-server version to a release version.
If you would like, you can fork the branch or make your own - the test does not need valid charts, it just needs a valid index.yaml that lists charts with the atalog.cattle.io/rancher-version annotation on it.

The enhancement is validated on rancher:v2.5-head 9e412a346
The following repo is used:
Url: https://github.com/brendarearden/charts
Branch: testing-branch
Chart with the annotation: rancher-istio

The annotation on each version in the index.yaml file

Istio Version
Annotation

1.7.700
~2.6.0

1.7.600
<2.6.0

1.7.500
>= 2.5.0-alpha < 2.6.0

1.7.400
>= 2.4.1-alpha < 2.5.8

1.7.103

1.7.102
>= 2.4.1 < 2.5.7

1.7.101
>= 2.4.3

The following command is used to change the version of Rancher by setting the environment variable CATTLE_SERVER_VERSION
sudo docker run -d --privileged --restart=unless-stopped -p 80:80 -p 443:443 \
--env CATTLE_SERVER_VERSION=v2.7.0 rancher/rancher:v2.5-head

Here are chart versions in the UI for each Rancher version

Rancher Vesion
Istio Version in UI

v2.5.0
1.7.101, 1.7.102, 1.7.103, 1.7.400, 1.7.500, 1.7.600

v2.5.8
1.7.101, 1.7.103, 1.7.500, 1.7.600

v2.6.0
1.7.101, 1.7.103, 1.7.700

v2.7.0
1.7.101, 1.7.103


expose window.kiln.services.getAvailableComponents

expose window.kiln.services.getAvailableComponents
so we can use it in clay-space-edit and other plugins

@nelsonpecora ^ per Slack conversation, thanks for taking a look!

New Kiln has a different API strategy (instead of a 'services' thing, we're just exporting the specific utils we want in utils/api), so I added available components to the api in commit 6642cc6
You can access it via kiln.utils.getAvailableComponents


Possible incorrect use of AddAction from JS thread

@mortoray caught this in Source/Fuse.Scripting.JavaScript/ThreadWorker.uno
			UpdateManager.AddAction(CheckAndThrow);

This call to AddAction looks like an error. RunInner is being called from the thread, right? The only safe UpdateManager call form a non-UI thread is PostAction.

It looks like CheckAndThrow is meant to run in the UI thread, just this call to AddAction is from the wrong thread (we currently have no way to add action handlers from another thread).


Issue during installation

I'm installing on El Capitan if it matters. I got Xcode installed and when I run
carthage update --platform mac in root of the Markoff folder I get this output:

*** Fetching SwiftMark
*** Fetching ReactiveCocoa
*** Fetching Result
*** Checking out Result at "2.1.3"
*** Checking out ReactiveCocoa at "v4.2.2"
*** Checking out SwiftMark at "0.9"
*** xcodebuild output can be found in /var/folders/v0/2q6ncqbj72sc84_f2gzzwqd40000gn/T/carthage-xcodebuild.9jRZoo.log
A shell task (/usr/bin/xcrun xcodebuild -project /Users/vladdy/tools/Software/Markoff/Carthage/Checkouts/Result/Result.xcodeproj CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES -list) failed with exit code 72:
xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH

Seems like it's got something to do with Xcode.

Moving to SPM in 2.0., and that should solve this issue.


Add adding views to table dataframes

This commit allows us to specify views for tables, which is a way of specifying relevant classifications along with easy access to them.

great idea. thanks!


TextInput: no placeholder and white font in testflight

Issue with text input not showing placeholder and the value font being while when the project is compiled and released testflight
IOS Version: 13
React Native Version: 0.60.5
React Native CLI version: 2.0.1
Xcode version: 11.2.1
[skip envinfo]

Here is the code behind the textinput
<TextInput style={styles.input} keyboardType="numeric" onChangeText={(value) => this.afunction(value)} value={this.state.value} placeholder="placeholder"/>
This is what it looks like when in a development simulator:
https://github.com/wkibbler/rn-issue-screenshots/blob/master/in-simualator.png
This is what it looks like when downloaded into an iPhoneX using testflight and ios 13:
https://github.com/wkibbler/rn-issue-screenshots/blob/master/on-testflight.jpeg
(ignore the red circle thats just a tester illustrating the issue)

We are also seeing this on a single iPhone 7 plus. IOS 13.2.2. It's fine in the simulator and on other devices (iPhone XS. IOS 13.1.3)
Our react-native info is:

System:
OS: macOS 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
Memory: 630.31 MB / 32.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.15.3 - /usr/local/bin/node
npm: 6.4.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 23.0.1, 25.0.0, 25.0.1, 25.0.2, 25.0.3, 26.0.1, 26.0.2, 27.0.3, 28.0.2, 28.0.3
System Images: android-23 | Google APIs Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>92245
Xcode: 11.2.1/11B53 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.4 => 0.60.4
npmGlobalPackages:
create-react-native-app: 2.0.2
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
react-native-rename: 2.4.1

I'm currently updating one of our other test devices to 13.2.3 to try and reproduce the issue there.

@markwillis82 let me know what you find when updating to 13.2.3

Just a quick question: do you have dark mode enabled in your iPhone?

Yes, I had not thought of that but that seems to be the causal factor

Dark mode affects the default colour of the placeholder. You can override this behaviour by setting placeholderTextColor on the TextInput.
<TextInput placeholderTextColor="red" />

Yes that works

This is 100% a bug. <TextInput/> in dark mode and "userInterfaceStyle": "automatic" will show text in white and the placeholder is barely visible, however, <TextInput multiline = {true} numberOfLines={5}/> shows the placeholder and doesn't change the text color based on whether dark mode is on or off. And I can re-create this issue at will. And no, setting userInterfaceStyle to light as suggested in #27142 is NOT the right solution, and setting placeholderTextColor is a mere workaround.

Think I found the bug and made a PR:
https://github.com/facebook/react-native/pull/28280

In case anyone simply wants to revert to old behavior, you can disable your app's dark mode support in your Info.plist:
<key>UIUserInterfaceStyle</key>
<string>Light</string>

<TextInput placeholder="Password" style={styles.inputStyle} onChangeText={(password) => this.setState({password})} value={this.state.password.placeholder}>
hopes this helps


dynamic translations

I have been building a translation pipe for a few days now, thats how I came across yours. I see that For now, only the static loader is available. My employer wanted the translations to be dynamic (no page refresh on language change). I found a solution on stack for triggering pipes even when strings are being passed to it. It basically equates to passing a param to all the translation pipes which determines the language. When that param changes, the pipe is triggered
{ "hello world" | translate:chosenLanguage }

chosenLanguage needs to be available to all component views and could be propagated through the app in various ways

The files loader which is available currently is able to load a new lang without reloading the page.
Anyway, what is your question?

woops, I just played with the example, I can see this not what you meant. Apologies! You can just close this issue

Ok :-)


Add radio_locale support

Related change: https://github.com/openaps/openaps/pull/112
I don't currently have a box to test this on, but "it should work" (TM). I'll try sort one out this evening.

I've made some additional changes here - so as to support MDT cgms. I think we can merge.
Currently the end-result doesn't work, since the distributed openaps version doesn't include the requisite changes, but the command run from the scripts is as follows:
+ openaps device add cgm mmeowlink subg_rfspy /dev/ttyACM0 123123 WW
and
+ openaps device add cgm mmeowlink subg_rfspy /dev/ttyACM0 123123
Currently these extra parameters are  just ignored and not written to the pump.ini / cgm.ini

Oh, nice.  I like backwards compatibility.  :)

I think what I'll do for now, given the backwards compatibility, is just merge this without any special code to ensure that the user has the openaps dev branch.  Anyone wishing to test this with oref0-setup will just need to check out and install the openaps dev branch manually before running oref0-setup.

FWIW, looks like the openaps stuff is actually not backwards compatible.  With the dev branch of oref0-setup, you also have to install the dev branch of openaps or it errors out when trying to pass the WW or US flag.


fix(*): remove default arch to detect correct one

When the default ARCH is set script cannot detect the architecure of the processor.

We need add a test to check this does not happen again. What do you think about running kumactl version and checking that the image version equals the kumactl version?

Added a test which checks if kumactl version returns arm64/amd64. It requires some tricks because the kumactl version call returns an error when connecting to kuma-cp, which is not running.


[lv2] Update to 1.18.10

Fixes #42336
Change to use the official meson to build this port, remove the old CMakeLists.txt.

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

Thanks!

Thank you for the update!


Remove database.Database

This refactor removes the aggregate database.Database struct in favour of using individual database instances.
The benefit of this is that it makes it clearer which services are using which database tables, which is handy now but will become even more useful as we add more services and database tables.

@hawkowl @asalkeld please can I have a review on this?

/azp run e2e

I'm going to continue to pursue this in #960.


Address possible permission issues in docs

Recently it seems like google has started checking for duplicate permissions in the play store. resulting in some issues when uploading:
https://stackoverflow.com/questions/44299197/google-play-apk-upload-error-duplicate-declarations-of-permission
Add some documentation to state that RxAndroidBle handles permissions for you and how to handle it if you need ACCESS_COARSE_LOCATION on versions < 23

Thanks!

Dear Contributor,
similar to many open source projects we kindly request to sign our CLA if you'd like to contribute to our project. This license is for your protection as a Contributor as well as the protection of Polidea; it does not change your rights to use your own Contributions for any other purpose.
You can find a link here: https://cla-assistant.io/Polidea/RxAndroidBle