Support user not in /etc/passwd

This is major reason test fail in https://github.com/kubernetes/frakti/issues/109
Can be reproduced with image gcr.io/google_containers/mounttest-user:0.5
This image specified "User": "1001", but rootfs has only mt binary.
/cc @feiskyer

@gnawux @gao-feng Any ideas on this?

had better post hyperd logs, seems we should regard "user": "1001" as a valid configuration even hyperstart cannot find it in /etc/passwd. @laijs

here is complete v3 log

failed to open /etc/passwd: No such file or directory

https://github.com/hyperhq/hyperstart/pull/283

Fixed by hyperhq/hyperstart#283.


[IN_PROGRESS]Merge maxime-michel:doc into master

In progress, @spf13 ?? We must now have tested all the gadget github integrations?

This appears to already have been merged.


feature: consistency in the noun form of the configuration item names

Did you check the docs?

[X] I have read all the lazy.nvim docs

Is your feature request related to a problem? Please describe.
The name of the configuration item "cmd", "ft" and "event" are singular but accept multiple values, whereas "keys" and "dependencies" are a plural form. This difference makes it hard to remember for me.
Describe the solution you'd like
Could you unify the noun forms of them?
Describe alternatives you've considered
e.g. commands / filetypes / events / keys
Additional context
No response

really? just check the docs if you can't remember?

@folke You're totally right,  but I'm glad it's a kinder name.


Getting delete permission exception when using results-dir option

I am trying enable code-coverage and seeing this error java.lang.RuntimeException: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk. Does the service account need higher permissions? wondering why delete is needed though (edited)
I also tried with orchestrator, that didn't change anything.
My flank output looks like this
AndroidArgs
     gcloud:
       results-bucket: cloud-test-sofi-test
       results-dir: null
       record-video: true
       timeout: 15m
       async: false
       results-history-name: null
       # Android gcloud
       app: /builds/sofiinc/mobile/wealth-android/app/build/outputs/apk/debug/app-debug.apk
       test: /builds/sofiinc/mobile/wealth-android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
       auto-google-login: true
       use-orchestrator: false
       directories-to-pull:
         - /sdcard/
       performance-metrics: false
       test-runner-class: null
       test-targets:
         - package com.sofi.mobile.tests.money
         -  notAnnotation com.sofi.mobile.Quarantine
       device:
         - model: Nexus5X
           version: 26
           locale: en
           orientation: portrait
       num-flaky-test-attempts: 1
     flank:
       max-test-shards: -1
       shard-time: -1
       num-test-runs: 1
       smart-flank-gcs-path:
       smart-flank-disable-upload: false
       files-to-download:
         - .*/sdcard/[^/]+\.ec$
       test-targets-always-run:
       disable-sharding: false
       project: sofi-test
       local-result-dir: ../app/build/test-results/money-tests/
       # Android Flank Yml
       keep-file-path: false
       additional-app-test-apks:

Stacktrace:
RunTests
   Uploading app-debug-androidTest.apk .  Uploading app-debug.apk .
 java.lang.RuntimeException: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk.
 	at ftl.gc.GcStorage.upload(GcStorage.kt:144)
 	at ftl.gc.GcStorage.upload(GcStorage.kt:50)
 	at ftl.run.AndroidTestRunner$resolveApks$2$invokeSuspend$$inlined$forEach$lambda$2.invokeSuspend(AndroidTestRunner.kt:77)
 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 	at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
 	Suppressed: java.lang.RuntimeException: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.
 		at ftl.gc.GcStorage.upload(GcStorage.kt:144)
 		at ftl.gc.GcStorage.upload(GcStorage.kt:50)
 		at ftl.run.AndroidTestRunner$resolveApks$2$invokeSuspend$$inlined$forEach$lambda$1.invokeSuspend(AndroidTestRunner.kt:76)
 		... 5 more
 	Caused by: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.

The action item for the Flank team is to identify what in the codebase is requiring the delete permissions.

Caused by: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.

Hey @prolificcoder , please verify with latest flank version. I see you are using older version, flank is using google api client and it might be that client might be old. If error still occurs in latest flank release it will be easier for us to investigate :) Thanks!
cc
@bootstraponline

@Pasterzp I upgraded to latest flank and I still see the error. I think its trying to delete the debug and debug-test apk's. I removed all code coverage aspects from it but still seeing the error. here is the full output
 AndroidArgs
     gcloud:
       results-bucket: cloud-test-sofi-test
       results-dir: coverage_ec
       record-video: true
       timeout: 15m
       async: false
       results-history-name: null
       # Android gcloud
       app: /builds/sofiinc/mobile/wealth-android/app/build/outputs/apk/debug/app-debug.apk
       test: /builds/sofiinc/mobile/wealth-android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
       auto-google-login: true
       use-orchestrator: true
       directories-to-pull:
         - /sdcard/
       performance-metrics: false
       test-runner-class: null
       test-targets:
         - package com.sofi.mobile.tests.money
         -  notAnnotation com.sofi.mobile.Quarantine
       device:
         - model: Nexus5X
           version: 26
           locale: en
           orientation: portrait
       num-flaky-test-attempts: 1
     flank:
       max-test-shards: -1
       shard-time: -1
       num-test-runs: 1
       smart-flank-gcs-path:
       smart-flank-disable-upload: false
       files-to-download:
         - .*/sdcard/[^/]+\.ec$
       test-targets-always-run:
       disable-sharding: false
       project: sofi-test
       local-result-dir: ../app/build/test-results/money-tests/
       # Android Flank Yml
       keep-file-path: false
       additional-app-test-apks:
 RunTests
   Uploading app-debug-androidTest.apk .  Uploading app-debug.apk .
 java.lang.RuntimeException: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk.
 	at ftl.gc.GcStorage.upload(GcStorage.kt:144)
 	at ftl.gc.GcStorage.upload(GcStorage.kt:50)
 	at ftl.run.AndroidTestRunner$resolveApks$2$invokeSuspend$$inlined$forEach$lambda$2.invokeSuspend(AndroidTestRunner.kt:77)
 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
 	at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60)
 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:740)
 	Suppressed: java.lang.RuntimeException: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.
 		at ftl.gc.GcStorage.upload(GcStorage.kt:144)
 		at ftl.gc.GcStorage.upload(GcStorage.kt:50)
 		at ftl.run.AndroidTestRunner$resolveApks$2$invokeSuspend$$inlined$forEach$lambda$1.invokeSuspend(AndroidTestRunner.kt:76)
 		... 5 more
 	Caused by: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.
 		at com.google.cloud.storage.spi.v1.HttpStorageRpc.translate(HttpStorageRpc.java:229)
 		at com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:310)
 		at com.google.cloud.storage.StorageImpl$3.call(StorageImpl.java:196)
 		at com.google.cloud.storage.StorageImpl$3.call(StorageImpl.java:193)
 		at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
 		at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
 		at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
 		at com.google.cloud.storage.StorageImpl.internalCreate(StorageImpl.java:192)
 		at com.google.cloud.storage.StorageImpl.create(StorageImpl.java:154)
 		at ftl.gc.GcStorage.upload(GcStorage.kt:110)
 		... 7 more
 	Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
 {
   "code" : 403,
   "errors" : [ {
     "domain" : "global",
     "message"<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk.",
     "reason" : "forbidden"
   } ],
   "message"<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug.apk."
 }
 		at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:150)
 		at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
 		at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
 		at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:554)
 		at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:474)
 		at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:591)
 		at com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:307)
 		... 15 more
 Caused by: com.google.cloud.storage.StorageException<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk.
 	at com.google.cloud.storage.spi.v1.HttpStorageRpc.translate(HttpStorageRpc.java:229)
 	at com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:310)
 	at com.google.cloud.storage.StorageImpl$3.call(StorageImpl.java:196)
 	at com.google.cloud.storage.StorageImpl$3.call(StorageImpl.java:193)
 	at com.google.api.gax.retrying.DirectRetryingExecutor.submit(DirectRetryingExecutor.java:105)
 	at com.google.cloud.RetryHelper.run(RetryHelper.java:76)
 	at com.google.cloud.RetryHelper.runWithRetries(RetryHelper.java:50)
 	at com.google.cloud.storage.StorageImpl.internalCreate(StorageImpl.java:192)
 	at com.google.cloud.storage.StorageImpl.create(StorageImpl.java:154)
 	at ftl.gc.GcStorage.upload(GcStorage.kt:110)
 	... 7 more
 Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
 {
   "code" : 403,
   "errors" : [ {
     "domain" : "global",
     "message"<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk.",
     "reason" : "forbidden"
   } ],
   "message"<EMAIL_ADDRESS>does not have storage.objects.delete access to cloud-test-sofi-test/coverage_ec/app-debug-androidTest.apk."
 }

and here is how my flank.yml looks like
gcloud:
   results-bucket: cloud-test-sofi-test
   record-video: true
   app: ../app/build/outputs/apk/debug/app-debug.apk
   test: ../app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
   use-orchestrator: false
   environment-variables:
    endpoint: https://testendponit.com/
   performance-metrics: false
   num-flaky-test-attempts: 1
   device:
   - model: Nexus5X
     version: 26
     locale: en
     orientation: portrait
flank:
   local-result-dir: ../app/build/test-results/ui-tests/

I think flank might delete the apks on Google cloud storage if they already exist, to ensure we aren't running stale apks.

this is something new because older flank 8.1.0 isn't doesn't need that. Do I need to request higher permissions for the service account or would it possible to check if you have delete permission before deleting files?

seems like a potential bug in flank, I don't think flank should require delete permissions.
The team is a bit backlogged right now, we will look into this soon.

Service account does not have storage.objects.delete by default

Flank's logic is rather simple and depends fully on Google storage client
...
val fileBlob = BlobInfo.newBuilder(rootGcsBucket, validGcsPath).build()
storage.create(fileBlob, fileBytes)
...

(storage object is created is created from credentials)
My guess is, under the hood client checks if the same file in the bucket and remove it if there is (before upload).
I am not sure if there is something we can improve on flank's side when it comes to permissions...

this is something new because older flank 8.1.0 isn't doesn't need that. Do I need to request higher permissions for the service account or would it possible to check if you have delete permission before deleting files?

There were some issues with uploading multiple apks in 8.1.0 version and, IMO, those bugs were actually a 'feature' that might enable you to do so :) (but that's mu guess)
I'll look how gcloud behaves and get back with more info.
You can also verify it on your side, please run
gcloud firebase test android run your-congif.yml:gcloud

https://cloud.google.com/sdk/gcloud/reference/firebase/test/android/run#--results-dir
According to google docs --results-dir is recommended to be unique for each run.

Caution: if specified, this argument must be unique for each test matrix you create, otherwise results from multiple test matrices will be overwritten or intermingled.

As I understand, there is deletion action performed in case of same apk names.
Flank creates uniq results-dir if none specified (or null like it is stated in first logs you pasted).
https://cloud.google.com/storage/docs/access-control/iam-permissions

Note: In order to overwrite existing objects, both storage.objects.create and storage.objects.delete permissions are required.

I tried to reproduce this error but failed so far

recommendation is to add delete permission if you're seeing this error message.


feat: add exception other

Would close #278
This PR is just for a better insight on my problem and suggested changes (although it compiles, tests run successfully and pre-commit is happy).
As in the context of the linked issue, this introduces breaking changes.

Thanks for contributing!
Some general remarks for discussion.
I have noticed that the naming of the types FunctionCode and Exception is inconsistent. Shouldn't Exception better be renamed to ExceptionCode to reflect this duality?
The different naming of the fallback variants Custom and Other respectively is inconsistent. That's what I initially stumbled upon.

The different naming of the fallback variants Custom and Other respectively is inconsistent and confusing.

Shouldn't Exception better be renamed to ExceptionCode to reflect this duality?

Yes, having consistency would be great to see, should this be done in this PR or open another one?

Not sure which term is more common in this context.

I'm not sure either, but personally I'd go with Custom, sounds nicer in this context, as in 'one might have custom implementations' or 'this device returns a custom code'.

We should address the naming of Custom/Other in this PR and defer the renaming of the type(s) to a follow-up PR.
Let's use Custom for now to avoid changing existing code.

Reporting a bug and with a follow-up PR that fixes it is nice. Thank you!

Nice!


command 'vscode.previewHtml' not found on Windows

There's been an error: Error: command 'vscode.previewHtml' not found
http://joxi.ru/BA04Rz6sMJOMeA.
Windows.
VSCode version: 1.34.0
Seems like with VSCODE 1.33.0 vscode.previewHtml is deprecated.
https://github.com/Microsoft/vscode-postgresql/issues/31

https://github.com/Microsoft/vscode/issues/62630

I am facing the same error. How can I fix this? Or just waiting for the extension update?

+1

+1

+1

This is a good tool that helps us see things under the hood. It's a pity we don't have an update to fix it.

The author doesn't want to update it.. which is fine. They should probably remove it from the VSCode market though if they don't intend to update it to allow it to fulfill its most basic function.


Key generation not usable with standard PKCS#11 clients

The requirement for the vendor specific CKA_KMS_ALGORITHM in the private key template makes it impossible to use by other than custom developed clients.
One example:
pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so --list-slots
pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so --list-objects --token-label slot1 --login
pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so --keypairgen --key-type rsa:2048 --label "my_key" --usage-sign --token-label slot1 --login
vs
pkcs11-tool --module /opt/gcp/libkmsp11-1.1-linux-amd64/libkmsp11.so --list-slots
pkcs11-tool --module /opt/gcp/libkmsp11-1.1-linux-amd64/libkmsp11.so --list-objects --token-label cloudhsm --login
pkcs11-tool --module /opt/gcp/libkmsp11-1.1-linux-amd64/libkmsp11.so --keypairgen --key-type rsa:2048 --label "my_key" --usage-sign --token-label cloudhsm --login
error: PKCS11 function C_GenerateKeyPair failed: rv = CKR_TEMPLATE_INCONSISTENT (0xd1)
I don't claim that the PKCS11 specification forbids custom template attributes, but using them makes it not possible to use with already existing tools and product that already work with most other PKCS#11 HSMs on the market.

The ask for this issue is if it is not possible to offer other ways to configure this as well instead of only the vendor specific attributes in the private key template. I'm not really a fan of environment variables, but that could be one possible way?

Also, how about a default value if nothing else is specified? For RSA it could be reasonable to use RSA_SIGN_RAW_PKCS1_2048 is an RSA 2048 bit signature key is generated?

Quite right, our C_GenerateKeyPair implementation is not going to be compatible with existing code.
As we look toward future releases of this library, we're weighing the pros and cons of changing only this library, versus also relaxing some of the restrictions that exist in our managed service that forced this design in the PKCS #11 client.
In the meantime, is key generation with pkcs11-tool really the ask, or is that just a simple example of the class of problems?  If there's more you can share about what you're trying to accomplish, we'd love to hear, either here or  in email to<EMAIL_ADDRESS>Thanks a bunch for taking the time to write.

Thanks for the insights, this is very helpful! We will definitely keep this in mind for future iterations of the library, your comments and suggestions have been logged internally as a feature request.
A quick side question: I see that EJBCA uses Java, and I am assuming that adopting the java client library provided by KMS would be more painful than using the PKCS #11 library. Should we provide a JCA provider for KMS in the future, would that be something of interest?  And/or, perhaps we could help specify how to write some custom code for this using GCP's KMS client library, like exists for Azure?

Thanks.
Correct. Using PKCS#11 is an "already supported" option which is easy to support.
It is possible to develop what we call "Crypto Token" using the java client library, or direct REST API calls (I have an earlier prototype for that). But it takes much more product development/QA/etc time for such a new major feature. (It will also affect the UI as the same concept of algorithm tied to key exist in the other APIs thus involving even more developers)

Sorry for the lag on this @primetomas - we're still quite a ways away from the 'ideal' solution.

The ask for this issue is if it is not possible to offer other ways to configure this as well instead of only the vendor specific attributes in the private key template? I'm not really a fan of environment variables, but that could be one possible way?

Wondering what this would look like for EJBCA?  Java doesn't have setenv - so would this involve something that your end user does at the CLI?  I think something like this is an enhancement we can consider in the near term to get you unstuck.

Good point. What could be done from Java to affect the environment/P11 library without making specific P11 calls. We don't want to rely on CLI command too much either as it's not very cloud/container "native". Touching the file system is a bit scary...hard to find anything obvious to use from within Java.
We can generate keys outside of EJBCA with CLI tools, and typically do so for cloud marketplace initial deployments (using a wizard). In these cases environment variable can be set, when scripted.

A quick side question: I see that EJBCA uses Java, and I am assuming that adopting the java client library provided by KMS would be more painful than using the PKCS #11 library. Should we provide a JCA provider for KMS in the future, would that be something of interest? And/or, perhaps we could help specify how to write some custom code for this using GCP's KMS client library, like exists for Azure?

I also intended to use the kmsp11 library in Java. My plan was to use the SunPKCS11 JCA provider for it. This way, it would be possible to nicely decouple client code from an underlying HSM. To use different HSM's, one would need to only change SunPKCS11 configuration file, and existing code would work for all PKCS11-compliant HSM's. Unfortunately, at this moment, such approach cannot be used to generate keys in Google Cloud KMS due to the aforementioned template problem.

In fact, key generation with SunPKCS11 + kmsp11 is currently not working not only because the vendor specific CKA_KMS_ALGORITHM argument is required in private key template, but also because public key template must be empty. SunPKCS11 uses some default pubic key templates depending on key type (documentation, source code). Though documentation states that it is possible not to include a given attribute, the source code seems to be not reflecting this claim (the aforementioned default attributes will be used anyway).
I want to clarify that my intention is simply to highlight an additional concern regarding key generation with kmsp11 in Java.


Add HUE-SHIFT to toolkit

I don't know that I like adding a dependency and function to base that has nothing to do with any of the widgets.

Having to cons up a list and vector for simple-rgb also seems pretty bad.

Yep, I see your points. What better options do we have to implement that function?

I could pull all the guts out of the simple-rgb functions and rewrite them to avoid consing altogether. That will mean that we get a new body of code though, and either we embed it straight into Qtools and deal with the MIT licecnse, or create a Yet Another Common Lisp Color Processing Library™ that we'll need to depend on.

To be honest I'm not sure this image hue shifting is general enough to fit into qui anyway unless there's an entire collection for image filtering.

What other functions do you mean by a "collection"? I could yak shave some more and write some general Qimage utilities, then put them in some kind of qtools-ui-qimage-tools system.

Well there's plenty of things you can do with colour space conversions. HSV/L/I adaptation, contrast/brightness shift, levelling, etc. Just look at any image manipulation program.

By the way, there's the qimageblitz smoke module that should be bundled with qtools which offers such functionality. Maybe you'll want to look at that instead of rolling your own.

OK. Will you accept a PR in which I create a system for qimage utilities and then gradually fill it up with utils?
I'm slowly getting the Blitz to work.

Sure!


Suggestion: to use landscape.io health code

Hi, I recently started to use landscape.io service to analyse my python codes and I recommend to use on this open source project, because is 100% free for open source projects.
I put my fork project to be analysed and I found some issues (styles, pep8, warnings) and I will submit a pull request with these improvements (previously health 74%, actual 90%).
Landscape.io provides a badge to be put in the README for realtime analysis.
So, if you have any interest to improve this project, I think this is a good way.

Thanks for running the analysis and submitting the PR! :smile:
Ongoing, I think it's a bit more than is needed for this project though. If we decide to add something like this, it will probably be Code Climate.


Internal table of contents

Hello everyone,
this is not really an issue, but a question: Is there a way for the e-publishing service to generate a table of contents for the internal parts of an .xhtml document? For example, a table of contents of all header tags (h1, h2 etc).

You can do it manually in the json you provide with the call. However, it is not possible to do this automatically.

Hi @pheyvaer,
can you give me an example? I thought that the "table of contents" part of the call only accepted two fields: the title and the filename of the resource. In any case, I'm fine with generating this manually.

The filename can actually also contain an html id. E.g., if you have the file index.html and a <div id="first-section"> in that file. You can refer to that specific div using index.html#first-section.

Thanks for the response @pheyvaer !
I already tried what you proposed and it doesn't seem to work. For example, for the following zip, I run these two cURLs:
curl --form<EMAIL_ADDRESS>--form metadata='{"titles":["Chapter 1" ], "creators":[    {        "firstName": "Giannis",        "lastName": "Stoitsis",        "roles":["author"]    } ], "contributors":[    {        "firstName": "Panagis",        "lastName": "Katsivelis",        "roles":["illustrator"]    },    {        "firstName": "Panagis",        "lastName": "Stoitsis",        "roles":["illustrator"]    } ], "subjects":[    "water pathogens",    "viruses" ], "language":"en", "descriptions":["This is the story about a water pathogen."], "identifier":{    "value":"urn:1235-568-2235" }, "tableOfContents":[    {       "title":"Polyomavirus",       "resource":"Chapter.html"    } ]}' http://api-dev.freme-project.eu/current/e-publishing/html > chapter.epub
curl --form<EMAIL_ADDRESS>--form metadata='{"titles":["Chapter 1" ], "creators":[    {        "firstName": "Giannis",        "lastName": "Stoitsis",        "roles":["author"]    } ], "contributors":[    {        "firstName": "Panagis",        "lastName": "Katsivelis",        "roles":["illustrator"]    },    {        "firstName": "Panagis",        "lastName": "Stoitsis",        "roles":["illustrator"]    } ], "subjects":[    "water pathogens",    "viruses" ], "language":"en", "descriptions":["This is the story about a water pathogen."], "identifier":{    "value":"urn:1235-568-2235" }, "tableOfContents":[    {       "title":"Polyomavirus",       "resource":"Chapter.html#toc1"    } ]}' http://api-dev.freme-project.eu/current/e-publishing/html > chapter.epub
Only the first one produces an EPUB.
epub_material.zip

I think I know why it goes wrong. I'll have a look at it.

Hi @pheyvaer,
are there any updates to this?

I think I've fixed it, but I can't test it yet, see this issue.

Hi @pheyvaer ,
until your fixes are compiled, can I at least remove the produced table of contents from the generated EPUB? When I remove the parameter "tableOfContents" from the call, a table is still placed at the bottom of the EPUB.

What do you mean with 'at the bottom of the EPUB'?

The generated EPUB file contains the content from the .xhtml document + a default table of contents which only contains the name of the Chapter file.

Yes, but it table of contents appears in multiple files, in which on do you want it removed?

We only send one .xhtml file and the service returns one EPUB file with a table of content that features just one record (for this one .xhtml file). In such a case, it would be better not to generate a table of contents at all.

OK, I see, but an EPUB needs to have an ToC, you can't leave it out.

hi @Katsivelisp so I've fixed it. Could you try it and let me know?

Hi @pheyvaer, I'm sorry for the late answer. Yes, it works great, thank you very much!

Hello @pheyvaer ,
just a follow-up question to this. Is there a way to define a tree structure for a table of contents? So, let's say headings and sub-headings of a document passed to the call?

Hi,
You can test with the following code.
"tableOfContents":[ { "title":"Polyomavirus", "resource":"Chapter.html", "subsections": [{"title": "Subsection A", "resource":"test.html"}] } ]

So for each section in the tableOfContents you can define the subsections. Please let me know if this is working for you or not.

Hi @pheyvaer,
I tried what you proposed, but I get a Server Error (500). My table of contents is as following:
"tableOfContents": [{
		"title": "Section",
		"resource": "Chapter.html#toc1",
		"subsections": [{
			"title": "Subsection A",
			"resource": "Chapter.html#toc2"
		}]
	}]

I'll have a look at this, after we installed completed the local FREME installation.

@Katsivelisp a quick update: I've got it working locally, but have some issues to get it on the server.

@Katsivelisp it works on the server now. Can you check?

@pheyvaer, it works great I believe! Thank you very much for your work!


PE-1788 chore: remove z-index from stylesheets

Removing z-index use in response to SFCC feedback.
Tested changes on sandbox and all seemed to be OK.
To test these changes yourself, pull down this branch,  run yarn deploy, and sync the cartridge CSS.
Before this PR
z-index property was being used to style the source select dropdown
After this PR
z-index property is no longer used to style the source select dropdown.

Unfortunately, it seems my cache hadn't cleared on SFCC. This does, in fact, break the model. Appears under the images 😢 . Going to have to think on this one for a while longer.


Use typing.TypeVar on methods used as annotations

Is your feature request related to a problem? Please describe.
When I annotate a method with, for example, @capture_span, the method loses its type hints and becomes just a Callable.
For example, Pylance gives the following information tooltips (as commented to the right of the reveal_type calls):
import elasticapm as apm
from typing_extensions import reveal_type

def test (a: int, b: str, c: float) -> bytes:
    return b"abc"

@apm.capture_span()
def test_with_apm (a: int, b: str, c: float) -> bytes:
    return b"abc"

reveal_type(test)  # Type of "test" is "(a: int, b: str, c: float) -> bytes"
reveal_type(test_with_apm)  # Type of "test_with_apm" is "(...) -> Any"

Describe the solution you'd like
Just use TypeVar on the __call__ method signature of annotation methods, example:
from typing import TypeVar

_AnnotatedFunctionT = TypeVar("_AnnotatedFunctionT")

class capture_span(object):
    ...
    def __call__(self, func: _AnnotatedFunctionT) -> _AnnotatedFunctionT:
        self.name = self.name or get_name_from_func(func)

        @functools.wraps(func)
        def decorated(*args, **kwds):
            with self:
                return func(*args, **kwds)

        return decorated
    ...

After this small change, the reveal_type reports the expected type:
import elasticapm as apm
from typing_extensions import reveal_type

@apm.capture_span()
def test_with_apm (a: int, b: str, c: float) -> bytes:
    return b"abc"

reveal_type(test_with_apm)  # Type of "test_with_apm" is "(a: int, b: str, c: float) -> bytes"

Describe alternatives you've considered
I've considered creating a pull request myself to solve this, but the CONTRIBUTING.md file indicates that an issue should be opened first.
Additional context
Screenshot of VSCode's pylance type hints without the change:

Screenshot of VSCode's pylance type hints with the change:

@beniwohli
Thanks for the positive feedback! I think there is an implementation of the ParamSpec on the typing-extensions package, but it is for supports python >= 3.7, so compatibility would still be broken. Also, there is the issue of adding another requirement.
Anyways, I think there is no need to annotate the internal method, since functools.wrap already solve the issue for runtime, and the TypeVar ensures the typing of the return.
I will start working on the PR as soon as possible.


Lombok: JavaParser fails with  StringIndexOutOfBoundsException when lombok processor is enabled

What version of OpenRewrite are you using?

OpenRewrite 8.41.2

What is the smallest, simplest way to reproduce the problem?
I haven't debugged the exact root cause yet. the issue seems to occur when annotations are added or removed in the source code. This appears to result in incorrect character positions for the cursor.
(Will add more detail about the issue after debugging)
  @Getter
  @Builder
  public static class Request {
    @Nonnull private final List<TransportJobId> transportJobIds;
    @Nullable private final UnixTimeMillis estimatedReadyAt;
    @Nonnull private final RegionId regionId;
    @Nonnull private final boolean wasTriggeredFromFulfillmentOrder;
  }

What did you expect to see?
A valid compilation unit should be generated for the source file.
What did you see instead?
A ParseError instance is generated for the source file instead.
What is the full stack trace of any errors you encountered?
java.lang.StringIndexOutOfBoundsException: begin 5327, end 5315, length 5434
  java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
  java.base/java.lang.String.substring(String.java:1874)
  org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitAnnotation(ReloadableJava17ParserVisitor.java:143)
  org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.visitAnnotation(ReloadableJava17ParserVisitor.java:72)
  com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2601)
  com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:82)
  org.openrewrite.java.isolated.ReloadableJava17ParserVisitor.convert(ReloadableJava17ParserVisitor.java:1604)
  ...

Are you interested in [contributing a fix to OpenRewrite]
Yes.

This is basically the reason we haven't enabled the Lombok processor yet. It appears like it doesn't always adjust the offsets in the AST correctly. I suspect that us a bug in Lombok. So either we need to get it fixed there or we need to adjust our parser so that it tracks the cursor in the file without relying on the AST.

I think we are actually very close to have this working, we just didn't find the time to complete it.

If you feel like taking a look at it, I believe that this is where we need to fix things to no longer rely on the position from the AST: https://github.com/openrewrite/rewrite/blob/abb80e16f579275811d4166bfd6387f504b25b16/rewrite-java-17/src/main/java/org/openrewrite/java/isolated/ReloadableJava17ParserVisitor.java#L1682

Thanks for the runnable example @amishra-u ! That should help zero in on the issue. Did you by chance look at a fix as well?

Thanks for the runnable example @amishra-u ! That should help zero in on the issue. Did you by chance look at a fix as well?

Yes, I’ve identified the root cause. It’s not an OpenRewrite bug, but rather an issue with the Lombok annotation processor. I added a workaround in OpenRewrite, which resolved the problem. I’m also looking into fixing the underlying issue in Lombok itself and will publish a PR soon.
Lombok incorrectly updates the annotation type’s position on a field to the variable’s position in certain scenarios. If you closely look after image it has correct position for annotation but only the annotation type position is updated to the variable’s position.
Before annotation processor:

After annotation processor:

Awesome work! Thanks for diving in and posting the outcome here. Keep us posted on any progress with regards to a workaround or fix upstream.

This method is buggy, it doesn't make deep copy.
https://github.com/projectlombok/lombok/blob/master/src/core/lombok/javac/handlers/JavacHandlerUtil.java#L2111

This is also what I observed, but I never analyzed it in detail. Fixing this upstream would be awesome! Hopefully that will then address all such errors in Lombok.

Publish the draft PR with the unit test.
@timtebeek, could you please help verify it with OpenRewrite, even before this change is released?

hi @amishra-u ; sure! I don't quite know how to install a custom build of Lombok to your local Maven repository, but perhaps you already have that part figured out from your work there.
The version of Lombok we use is set (and can be overwritten) in the rewrite-build-gradle-plugin:
https://github.com/openrewrite/rewrite-build-gradle-plugin/blob/a6a7fd4ef41b0e123df09bc036a20c697b8cc485/src/main/java/org/openrewrite/gradle/RewriteJavaPlugin.java#L72-L77
If you then publish the rewrite-build-gradle-plugin to Maven local you can update the versions used here to use latest.integration:
https://github.com/openrewrite/rewrite/blob/a8946ac9c7b6cbe0b6ac1c540d5e5cfc4e2d0919/build.gradle.kts#L1-L5
I hope that helps you already there. Feel free to share the steps you did for the local installation of Lombok here as well.

Hi @timtebeek,I verified the fix with our Uber monorepo and discovered a couple more issues, which I’ve addressed with fixes in OpenRewrite (PR to be published soon). After running the FindMissingTypes recipe, I didn’t find any missing types.
Finally we got Lombok working! 🚀

Awesome, thanks a lot! I've merged & released your two most recent PRs, and look forward to the further fixes whenever ready. 🙏🏻

Awesome, thanks a lot! I've merged & released your two most recent PRs, and look forward to the further fixes whenever ready. 🙏🏻

Thank you!


Checklist SQL Tables

Requires

Checklist table

Table must be able to updated, inserted, and deleted. Must be able to have null fields
Completion of this satisfies half of #15

Completed with most recent merge from commit b716c9c


fix [DockerVersion] test for user repo

Fixes #6782

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against bc84faaa31e52a7d4932ea73698cdc936bbe1d9f


Add support for inline math equation and block math equation

Now Notion has supported the inline math equation and the block math equation. Is it possible to add support for inline markdown math equation like $x=x+1$ and block math equation like
$$
E=mc^2
$$

mistletoe supports parsing math equation and notion-py seems to provide the equation block. It should be easy to add this feature (x
FYI:
https://github.com/miyuchina/mistletoe/blob/8f2f0161b2af92f8dd25a0a55cb7d437a67938bc/mistletoe/latex_token.py
https://github.com/jamalex/notion-py/blob/b7041ade477c1f59edab1b6fc025326d406dd92a/notion/block.py#L568

I don't really want to add a bunch of non-standard Markdown extensions to the default library, but providing an API to add such extensions seems fine. It sounds like @wongsingfo might have already messed with this a bit

I found that it appears to be hard to add the inlined equation (though adding equation block is quite simple). The bottleneck is that the notion-py library does not provide a way to convert markdown into notion api format or vice versa. Specifically, notion-py depends on commonmark, which is a "strongly defined and highly compatible specification of Markdown" and doesn't support equations. It seems that everyone tries to avoid non-standard markdown extensions when possible...

Also looking forward for math support! 🤗

Bumped the version and merged @EgorDm 's PR. The upstream PR is in as well.


Typo in repo description

There is a typo in the repo description. It currently says

Magisk module to enables pixel exclusive features and ui.

To be correct, it should really say

Magisk module to enable pixel exclusive features and UI.

Corrected thanks


Build section updated

Updated to add a common issue someone might face due to the default number of File Descriptors on a machine being too low.
Check List

[ x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #19039 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #19039   +/-   ##
=======================================
  Coverage    15.8%    15.8%
=======================================
  Files          47       47
  Lines        1259     1259
  Branches      196      196
=======================================
  Hits          199      199
  Misses       1047     1047
  Partials       13       13

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 5e6d330...c4e68b9. Read the comment docs.


Crash when doing longer compares

Now i cannot find a crash log. But what happens is you enter in a value of over 1000 and after a bit of time it crashes. I was having trouble with a sync so i was trying to use a higher value to compare the whole file and after a few minutes it just crashes. I am on debian and dont have issues with smaller values. I've done up to 500 without issues before.

Yeah, the log is only written when a debugger is attached. I already fixed it in a commit on another branch 05f739f1e6c131ef0ce2697d8c0b62dc6bc3459f. I still need to do a few things, then I will do a new release.
Regarding the crash, probably it was using too much RAM. It gets pretty memory intensive with longer pieces of audio. Maybe it is a good idea to add an indicator on how much RAM is still available.

Yeah, the log is only written when a debugger is attached. I already fixed it in a commit on another branch 05f739f. I still need to do a few things, then I will do a new release.
Regarding the crash, probably it was using too much RAM. It gets pretty memory intensive with longer pieces of audio. Maybe it is a good idea to add an indicator on how much RAM is still available.

I didnt notice to much ram being used. Ill double check that here tonight. I have 32gbs i feel that should be enough.

So I did one on Windows with 1000s, which is way longer than what I ever planed to use it for ^^ This is like 16 minutes of audio. You normally should not need more like double'ish the delay time of audio.
This consumes roughly 16GB of memory.

So I did one on Windows with 1000s, which is way longer than what I ever planed to use it for ^^ This is like 16 minutes of audio. You normally should not need more like double'ish the delay time of audio.
This consumes roughly 16GB of memory.

Ok then that may explain it. I didn't notice my ram usage being that high when i was trying it. This isnt that big of a deal. I actually thought up an idea to account for that ill open another ticket with that idea when i get a chance here. This was a kinda extreme case where i just couldn't fine tune the delay enough. But the delay does change sometimes depending on the audio being used and the match percentage. So that was my use case. But i have an idea to account for that. Thanks for the response ill close this ticket and open my feature request.


Problematic animations on zoom

Often I experience that when zoom in or out in Windows / Chrome the markers are updated without animation. I have traced the problem to
//In case we are starting to split before the animation finished
this._processQueue();

in _mergeSplitClusters. When I comment it out, the animations are nice and smooth.
I think the problem is that due to timing the order of calling _mergeSplitClusters and this._enqueue in _animationZoomIn and _animationZoomOutSingle is somehow reversed.
So you call this._enqueue and just after that you somehow call _mergeSplitClusters which kills that animation immediately and not after 300ms.
ps: just to make sure, I zoom by one step and then wait and then zoom again by one step and wait, so animation should be finished by that time when I zoom again.
EDIT:
ok, the problem is that _zoomEnd is sometimes fired twice just after each other and this makes the problem. So it is probably bug in leaflet?
EDIT2:
the problem is described here:
https://github.com/Leaflet/Leaflet/issues/4023

Fixed in leaflet


Update dropbox.md

Purpose of this pull request
This pull request (PR) ...
Issue number:

Select the type of change:

[ X] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions and updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, and new packages for the site, Gatsby, React, etc

One suggestion, and I'd also shrink down the logo at the top to about 50px

Fixed. Thank you.

One suggestion, and I'd also shrink down the logo at the top to about 50px

Fixed. Thank you.

Hi @JainM6 , the icon is still showing as the same to me. I've fixed it here and replaced with a high-res version - can you please take a look? https://github.com/SumoLogic/sumologic-documentation/pull/1759


Update README.md

Reestimation of the storage needed for the DBs
Installing nodejs using conda env rather than system-wide installation depending on root access.

In this PR we update the README after addressing the reviewers' suggestions.


Make the DB_NAME option relative to the current working directory

This also defaults the views.db to be placed in the current working directory, because having it stored in 'node_modules/micro-analytics-cli' seems undesirable.

Thanks :v:


Improve explanation about number of Pods per node

This is a Feature Request

What would you like to be added
Explain the limits on how many Pods can fit on one node. Also update https://kubernetes.io/docs/setup/best-practices/cluster-large/ to reference that explanation.
Why is this needed
Per https://github.com/kubernetes/kubernetes/issues/119391, it's not really clear how many Pods you should have on a node, nor how large that number can be.
Comments
/language en

/triage accepted

reference issues:

https://github.com/kubernetes/kubernetes/issues/23349
https://github.com/kubernetes/kubernetes/issues/119391

Explain the limits on how many Pods can fit on one node. Also update https://kubernetes.io/docs/setup/best-practices/cluster-large/ to reference that explanation.

Hi @sftim , as per official docs max no of pod/node is 110 , as per my investigation there had been several discussion to increase the limits. Are you suggesting we add explanation for why this number is recommended?

one of the reason is that kube-proxy become problematic due to iptables, also using cilium it is said to be solved
the pods will be launching slowly after a limit, in some cases PLEG issues occur as stated here.
What do you suggest? When I first tried to increase the number and investigated why the limit is set I found the iptables problem and it was understandable but now it seems it can also be solved using cilium .

Per https://github.com/kubernetes/kubernetes/issues/119391, it's not really clear how many Pods you should have on a node, nor how large that number can be.

We should make both of those details clear. When working on this, we should be aware that kube-proxy is optional and production clusters do omit it.

per official docs max no of pod/node is 110

We can't rely on the documentation here; we're checking and potentially revising it, so we can't also rely on it.

We can't rely on the documentation here; we're checking and potentially revising it, so we can't also rely on it.

I agree with this.
How about adding :

More specifically, Kubernetes is designed to accommodate configurations that meet all of the following recommended criteria:
No more than 110 pods per node
No more than 5,000 nodes
No more than 150,000 total pods
No more than 300,000 total containers
NOTE: 110 Pods per node limit is a recommendation and this limit can be manipulated and increased. However, If you  increase the number of pods per node above 110, you can face the following problems :

"NodeNotReady" "PLEG is not healthy" where PLEG stands for Pod lifecycle event generator. This can occur due to cluster nodes having a very high load average.
Kube-proxy, if configured, become problematic due to the maximum number of IPs in the range as each pod in the node is recommended to have a unique IP address. However, this case can be solved using CNI with eBPF like Cilium.
To learn more about Kubernetes plan to increase pod per node limit, refer to this issue.

I would like to see a flexible statement rather than "no more than..." as it shows the user that k8s will not accommodate config beyond the limit at all. WDYT about the above NOTE? It definitely need some improvement or change in position.

To me it seems this restriction is primary imposed by k8s sponsors so the VMs do not run out of business. Because when they do, they will have an impact on the cloud.

I would suggest that any updated documentation also include clarification that this does or does not include pods in Completed status.
https://discuss.kubernetes.io/t/maximum-number-of-pods-per-node/15438/4

There is simply no easy answer to this question. You have to consider a lot of factors when determining the upper limit of pod numbers per node. For example, the scale of your cluster (number of nodes versus the number of control plane instances), the capacity of worker nodes, the network bandwidth for syncing and resyncing pod status, the desired performance of pod probes, the per-node CIDR you pre-allocated, the resource requirements (including compute and non-compute resources) from typical workloads ...

@tengqm that's actually really helpful. Something I've found challenging with this issue is that I (personally) don't know what factors are relevant to this particular question. I would suggest that even the limited details in your comment may be relevant to the documentation, as it seems like a lot of us are wondering where this number came from and if we need to provision more capacity to our cluster. As-is, I wasn't able to find anything that sent me in the right direction, let alone an actual answer. I know that I would have loved to had even just "for your consideration" type notes.


Wrong headlines in the blog post

I found two errors on the blog post about the wire extender. I think this should be about Laravel 10 and Laravel 11 and not about Livewire ;)

Thanks! Fixed


Workspace Configuration Error

Good Day,
I have been testing the AWS Service Workbench and upon attempting to import a workspace, i am unable to complete the set up because the configuration field is missing. See below:
I can't seem to fill in the configuration field on the create workspace page.

Found the issue. Under Access Control i accidentally added admin under the list.


Make lexer greedy for Values

Problem
-1 lexes - first
Solution
Makes lexer take longest-first-match so that Values can take any syntax.
-1 should yield -1 if Integer accepts it.

Note: this would require preloading type literal definitions.
Solution: Add a prelex step to extract literal regexes.

prelex search for = / * / and add all those literals into the literal lexer.

This should also eliminate all the special lex rules for things assumed to be literals.


Advanced OTPification

Adds a listen start phase to allow the children of the top level supervisor to start before the application accepts http clients.
Adds runtime dependency information to the farwest.app.src file and uses this information dynamically at start time to avoid maintaining duplicate sets OTP dependency information.
Makes the http listen port an OTP environment variable with a default that can be overridden.

Closing all tickets in this repo since there are no plans for this project under its current form.


Incorrect page link

In the next steps section, there is a link "Follow the Tutorial: Automatically train a classification model with Azure Automated Machine Learning", it actually leads to a doc about how to train a regression model. Please correct the link.

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

ID: d2fcbcc1-0824-1dba-f5ae-6cf5c97a9d2c
Version Independent ID: 0de15ea0-6def-bf7e-2e68-ae7d434d2d4b
Content: Automated ML algorithm selection & tuning - Azure Machine Learning service
Content Source: articles/machine-learning/service/concept-automated-ml.md
Service: machine-learning
Sub-service: core
GitHub Login: @nacharya1
Microsoft Alias: nilesha

@norliu Thank you for your feedback, we will investigate it and get back to you soon.

@nacharya1 Hi, could you please check the issue since the title is not so clear for the customer, please update the document properly. Thank you very much.

@Sabina<EMAIL_ADDRESS>can you look into this?
From: YutongTie-MSFT<EMAIL_ADDRESS>Sent: Monday, June 24, 2019 9:47 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Nilesh Acharya<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Incorrect page link (#33625)
@nacharya1https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnacharya1&data=02|01|nilesha%40microsoft.com|2c2e7b6b86e5438049b408d6f8c3965a|72f988bf86f141af91ab2d7cd011db47|1|0|636969916253849373&sdata=4WRDA0b7VuApXmiFRpN1c7viv6OeQqIBRlzPleOlvAs%3D&reserved=0 Hi, could you please check the issue since the title is not so clear for the customer, please update the document properly. Thank you very much.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F33625%3Femail_source%3Dnotifications%26email_token%3DAJ65JT2MML5EY3Y5YOCM7WLP4D3APA5CNFSM4HZNKJR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYNQ4GY%23issuecomment-505089563&data=02|01|nilesha%40microsoft.com|2c2e7b6b86e5438049b408d6f8c3965a|72f988bf86f141af91ab2d7cd011db47|1|0|636969916253860020&sdata=22krFb5scY%2F%2FL%2B86l4oXCsy9YCEDF8jeHhgklJfgm1g%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJ65JT2FL4TJ46XIRM5RBIDP4D3APANCNFSM4HZNKJRQ&data=02|01|nilesha%40microsoft.com|2c2e7b6b86e5438049b408d6f8c3965a|72f988bf86f141af91ab2d7cd011db47|1|0|636969916253860020&sdata=n21bR3qaedCkEoK2M1%2FGjt4hfJkCr0HeyVXVavnefzA%3D&reserved=0.

Will do.
Thanks,
Sabina Cartacio
From: Nilesh<EMAIL_ADDRESS>Sent: Monday, June 24, 2019 12:08 PM
To<EMAIL_ADDRESS><EMAIL_ADDRESS>Sabina<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS>Subject: RE: [MicrosoftDocs/azure-docs] Incorrect page link (#33625)
@Sabina<EMAIL_ADDRESS>can you look into this?
From: YutongTie-MSFT<EMAIL_ADDRESS>Sent: Monday, June 24, 2019 9:47 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Nilesh Acharya<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Incorrect page link (#33625)
@nacharya1https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnacharya1&data=02|01|Sabina.Cartacio%40microsoft.com|29f18be5315d4019916508d6f8d75fc0|72f988bf86f141af91ab2d7cd011db47|1|0|636970001240346046&sdata=GKrCjmgQYCMta9ozr5H5UsFG2qrKwHuLahc1xYOcsjM%3D&reserved=0 Hi, could you please check the issue since the title is not so clear for the customer, please update the document properly. Thank you very much.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F33625%3Femail_source%3Dnotifications%26email_token%3DAJ65JT2MML5EY3Y5YOCM7WLP4D3APA5CNFSM4HZNKJR2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYNQ4GY%23issuecomment-505089563&data=02|01|Sabina.Cartacio%40microsoft.com|29f18be5315d4019916508d6f8d75fc0|72f988bf86f141af91ab2d7cd011db47|1|0|636970001240356041&sdata=FhvDgfuCXzjbbKdn0XtxLt8vnEEYX%2BbunTNEOX9hLu0%3D&reserved=0, or mute the threadhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAJ65JT2FL4TJ46XIRM5RBIDP4D3APANCNFSM4HZNKJRQ&data=02|01|Sabina.Cartacio%40microsoft.com|29f18be5315d4019916508d6f8d75fc0|72f988bf86f141af91ab2d7cd011db47|1|0|636970001240356041&sdata=n%2FIq4RNA5hti8GrHsv39SEo2tXVEU1hOyGE7VD5hZq4%3D&reserved=0.

Fixed the link title to read ...regression model.
View fixed section:
https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-configure-auto-train#next-steps

The reference PR above fixes this issue. The changes should be live today.
@norliu and @YutongTie-MSFT  if satisfied #please close

@norliu
We will now proceed to close this thread. If there are further questions regarding this matter, please respond here and @YutongTie-MSFT and we will gladly continue the discussion.


MD045: no-alt-text triggered even though html alt-text is specified

It seems that this should no longer appear, because support was supposedly added through this issue https://github.com/DavidAnson/markdownlint/issues/992 and related merge request  https://github.com/DavidAnson/markdownlint/pull/993.
Though I still get this issue.
With following test.md

![](./image.png){fig-alt="Some image"}

I get
test.md:2:1 MD045/no-alt-text Images should have alternate text (alt text) https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md045.md

after running
markdownlint-cli2 test.md

MD045 supports CommonMark syntax for image alternate text (technically the "image description") and the PR referenced above allowed the rule to also recognize alternate text in an HTML IMG tag via the ALT attribute. There are examples of both in the documentation: https://github.com/DavidAnson/markdownlint/blob/main/doc/md045.md
What's shown above in this issue as "fig-alt" is neither of those and therefore not recognized. It looks like this is something Quarto does because it does not use the image description in the standard way: https://quarto.org/docs/authoring/figures.html#alt-text

Quarto’s custom format does not work well with CommonMark syntax as it parses like content and is displayed to the user: https://dlaa.me/markdownlint/#%25m%23 Issue 1200

![Elephant](elephant.png){fig-alt%3D"A drawing of an elephant."}


[Feature]: Use deployment feature of GitHub

Description
It would be helpful, to allow the GitHub App, to use the GitHub deployment functions. this would allow, to restrict deployments and to use deployments as pr tests before merging.
Here are some infos:
https://docs.github.com/en/rest/guides/delivering-deployments?apiVersion=2022-11-28
https://docs.github.com/en/rest/deployments/deployments?apiVersion=2022-11-28#about-deployments
Minimal Reproduction (if possible, example repository)

Exception or Error
No response
Version

Thank you for the suggestions. Features should be added to the Discussion section, so I will convert this one to it.


Process Killer Drivers to add :fire:

Process killer drivers signed with stolen certificats found on VTE
process_killer.zip

Error in the submission. Ignore it please :)

no worries closing thank you!


Simplify typing annotations

There were some deprecations in 3.9 (our minimal version now):
https://docs.python.org/3/whatsnew/3.9.html#type-hinting-generics-in-standard-collections

What's the rationale behind these changes? Personally, I've used the builtin typing module across projects for a long time.

They have been deprecated (some in 3.9, some in 3.10, ...). This patch is adjusted to our supported Python version.

Updated the description
.

@ak-gupta , thoughts?


Jesse: Watch techsolutionstuff.com

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

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

Rejected by Jeff Schaller in Charcoal HQ. Reason: 'a good watch, but was added by a blacklister in the meantime'


optimize mobile experience

Original TODO-MVC is not support for smartphone device.
Mainly need replace input, edit interface breakpoint etc.

Especially edit todo require double tapping that user interaction is not good generally either desktop.


Graphic artifacts possible after changing video settings in-game

Found this while testing #2399 but confirmed as pre-existing in Omega build 510 (July 19th 2016)
Appears to only activate with animated water and something else enabled. I didn't narrow down the other factor but if I set graphic detail to Ultra and enable everything else it showed up. Disabling animated water made it go away again. Leaving graphic settings on default + animated water however did not provoke the issue.
Considering this low priority as the animated (waving) water is somewhat tricky on its own, see  #1477
Screenie demonstrating the artifacts - curious if anybody else seems them as well (Radeon line of GPU here):

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36346961-graphic-artifacts-with-animated-water-something-else-enabled?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F5279&utm_medium=issues&utm_source=github).

Thanks for reporting this one @Cervator. I'll look into this.

Cool, keep an eye out if you like but don't worry about it vs. more important stuff for now :-)

Another observation: parallax mapping is likely related (another immature option that may have never been fully finished or broke after it was). Found a combination where I could disable animated water yet still get the artifacts, disabling parallax mapping after that then removed the artifacts.

Managed to reproduce it on an nVidia GPU (860M). It's quite erratic though: it's not always straightforward to reproduce. It seems to be a more general problem though. Many settings when changed seem to display problems. For example, disabling motion blur made the screen go black at one point. I managed to reproduce it multiple times and then I couldn't anymore. Also, the animated grass settings seems to be ineffective: the grass remains always animated.
So, perhaps we should rename this issue to something more general, like Graphic Artifacts and video-settings problems.

Renamed!


How do i hide the search??

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Typically when i do a search all, the search replaces my file tree on the left. Now the search stays open underneath file file explorer. I want it to only appear when in search mode (replacing file explorer) like how it was before. Anyone know how to fix this? Its driving me insane. I can't seem to find the setting anywhere.
TLDR: Search panel stays open under file explorer. I want it to only be open when Search All is triggered
Steps to Reproduce:

/question
Just drag Search sections to the Actions bar (on the left).
Alternatively you can reset all views to their default locations (would affect not only search, so use with caution)

We closed this issue because it is a question about using VS Code rather than an issue or feature request. Please search for help on StackOverflow, where the community has already answered thousands of similar questions. You may find their guide on asking a new question helpful if your question has not already been asked. See also our issue reporting guidelines.
Happy Coding!


Fix unstable tests due to incorrect query

@adriancole could you please review?

the previous release failed, could you please re-trigger it or new one?

Yep can do in 30m or so
On 8 Apr 2017 6:23 am, "Pavol Loffay"<EMAIL_ADDRESS>wrote:

@adriancole https://github.com/adriancole could you please review?
You can view, comment on, or merge this pull request online at:
https://github.com/openzipkin/brave-opentracing/pull/29
Commit Summary

Fix unstable tests due to incorrect query

File Changes

M src/test/java/brave/opentracing/BraveSpanTest.java
https://github.com/openzipkin/brave-opentracing/pull/29/files#diff-0
(23)

Patch Links:

https://github.com/openzipkin/brave-opentracing/pull/29.patch
https://github.com/openzipkin/brave-opentracing/pull/29.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openzipkin/brave-opentracing/pull/29, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAD61-h6ft963plRIzPhpZCXqjAhFHDQks5rtrd2gaJpZM4M3dFV
.

@adriancole Thanks!


Fix bug BACK button navigate to the previous page that user navigated

What does this pull request aim to achieve? 💯
_Please be concise and link any related issue(s):_This PR Resolves #1398

[x] I have checked that no one else is working on similar changes.
[x] I have read the latest README and understand the development workflow.
[x] The name of this branch is: feature/<branch_name>, or hotfix/<branch_name> if this is a hotfix. The branch is created in a cloned version of this repo, not a forked repo.
[x] This branch is rebased/merged with the latest staging (or the latest production if it is a hotfix).
[x] There are no merge conflicts.
[x] There are no console warnings and errors.
[x] On the right hand side of this PR, I have linked the appropriate issue(s) under "Issues" and added a project progress under "Projects".

Hi,
I tested the following scenarios:

Login - Profile - open  a post, add a comment, like -> Click Back button. I was navigating to the Profile page. OK
Login - Organisation - open  a post, add a comment, like -> Click Back button. I was navigating to the Organisation page. OK
Login - Feed - Open a comment, add a comment, like -> Click Back button. I was navigating to the Feed page. OK

LGTM
Waiting for @rabbi08 tests

Verified in STG, working fine. Refer below GIF:
https://share.getcloudapp.com/6quP279x


Migrate to circle2 and managed gradle plugin publishing

Before this PR
This project was on Circle 1 which no longer works.
After this PR
Migrate to circle 2, and latest gradle so that our modern plugin publishing templates work pretty much out of the box.

👍


getWordsNeverExercised(studentID, cohortID, duration)

should return a list of words that have never been translated but never exercised either because it is excluded by the algorithm or because it has not been scheduled yet
//example of return:
[
  {
      word: "something",
      translation: "noget",
      exclusionReason: "Excluded by algorithm"
  },
  {
      word: "else",
      translation: "andet",
      exclusionReason: "Scheduled - not yet practised"
  }
]

https://github.com/zeeguu-ecosystem/Zeeguu-API/blob/6ca43351c0130f570a345cb65959688a55e61f1c/zeeguu_api/api/teacher_dashboard/student_words.py#L20
Can you work with the following output?

if fit_for_study = 1 then you have Scheduled - not yet practised. if it is null then, that means "Excluded by algorithm".

Yup. That should work.


Runtime detection of Display Pack variant

I was wondering if it's possible to detect at runtime which Display Pack model is connected? Right now I'm using a compilation option to switch between large and small Display Pack.
Apparently it could be doable:
https://github.com/pimoroni/pico-boilerplate/issues/20#issuecomment-2380691632
Display driver ST7789 datasheets.
Looking at the Pimoroni code that RDDID (04h): Read Display ID command has not been implemented.

Looking at the Pimoroni code that RDDID (04h): Read Display ID command has not been implemented.

No, there are a several interesting ST7789 instructions missing including one that does vertical scroll (actually it's more or a vertical rotate but...). Looking at the code it has signs it was specifically written for one of the earlier displays then added to for new LCD sizes which is a little worrying.
Still going thru the datasheet (it's 319 pages) but it also appears we could simulate a text display. OK, not an overly astonishing revelation, but the buffer required would be tiny where you only needed to show N out of M symbols - which is a useful option IMHO

also appears we could simulate a text display.

Another interesting find, definitely good to know. I won't bother we it just now though. In the context of studio it's definitely something that could be used to improve the frame rate.

I tried to implement that RDDID command but I've never used SPI before and sure enough I could not get it working. None of the commands from Pimoroni driver are doing any read operation on SPI.
I tried to use `` without luck so far.
Attempted a bunch of stuff around those lines:
    gpio_put(dc, 0); // command mode
    gpio_put(cs, 0);

    uint8_t commandId = 0x04;

    spi_write_blocking(spi, &commandId, 1);

    sleep_ms(1);

    gpio_put(dc, 1);
    //gpio_put(display.cs, 1);

    int read = spi_read_blocking(spi,0x00,rddid,sizeof(rddid));

    //int read = spi_write_read_blocking(display.spi,&commandId,rddid,1);

    gpio_put(cs, 1);

I did find a note in st7789.hpp daying some read pin isn't always connected - which device you testing on - I can test same dev that way...

Oh, rats. Checking the schematic the MISO pin isn't connected so the device is deliberately set up as write only - which, to be fair, was mentioned in the other thread
Same applies to both display packs
Prevents anything read related then - pity, I fancied having a dump screen function but that's not possible with this wiring either.
There's a similar design by Waveshare that also is write-only

Too bad that would have been useful.

Turns out it may still be possible....
Datasheet - 7.4.2 Serial Interface Characteristics (3-line serial)
This means it could work with the one data line - something to play with later once I've read some more and actually started writing some code for the thing (text with tiny frame buffer and xip fonts being the goal)

Datasheet - 7.4.2 Serial Interface Characteristics (3-line serial)

Sadly that's not telling me how the code should look like. If you want me to experiment with something and help me translate that diagram into code I'll be happy to give it a try though.

Too bad that would have been useful. Something for Pimoroni to improve on next time they revise the hardware design, I guess. It's not like there is not enough pin on the Pico.

It is my understanding that, despite what the datasheet for the controller might say, the actual displays do not have these pins broken out on the ribbon cable.
Eg:

Yeah, but there's also Half Duplex SPI which only uses MOSI for data
Researching the subject ATM. Wiring illustration here - note it needs a resistor adding
Dunno if it'll work - hence lots of reading + watching before I even think of trying anything (to avoid killing something if possible)

Dunno if it'll work - hence lots of reading + watching before I even think of trying anything (to avoid killing something if possible)

I did not know you could do things like that. Usually I try first and depending on the outcome go do some reading. The other day I killed a Display Pack with a heat-gun 😏

I tried to implement that RDDID command but I've never used SPI before and sure enough I could not get it working.

In your test MOSI is set for output
After the command was sent you'd need MOSI to be input until the results had been fetched - then switch it back to output.
The board appears to be set up for bi-directional communication over that pin
i.e. you may have been attempting to read a write pin :)

In your test MOSI is set for output
After the command was sent you'd need MOSI to be input until the results had been fetched - then switch it back to output

How should I do that? Any code sample?

I had a bash at it in the early hours but no luck
From examination of the sdk it appears that only 'proper' full duplex mode is supported
The schematics show the settings of the st7789 IM0-2 pins but not IM3. Depending on whether IM3 is low (di-directional) or high (extra data bit) determines if read is possible at all - this info was gleaned from the 2.8 schematic (don't remember it being detailed on the others)
At one point I even hacked spi.c/h but didn't get anything working
Ticket to Pimoroni time to find out what the wiring is that they don't show.
It appears that everyone wires these things up this way. It's annoying as there are some nice things you can do with read access - there's even a vertical blank signal...
Then again VBL wouldn't help an amazing amount. The thruput to the LCD is already on the high side. Given the clocks available your theoretrical limit on a pico1 would be about 50FPS and it already does 30 so about 60% of the time we're just sending data to the screen

Copy of ticket to support for information....

I have all the Pico Display packs and several other devices with displays such as enviro pack and display breakout.
Examining the Scematics for all these boards I am unable to tell how the ST7789s they all use are configured. The nearest I can get is from the display pack 2.0 which labels the states of IM0, IM1 and IM2 - this leaves IM3 unaccounted for. The difference in whether IM3 is low or high alters the workings of a ST7789 (we've got a lengthy discussion on github on exactly this topics) # 1004/1005
Would you kindly inform me of the wiring of IM3 so I can tell if something I'm attempting to do is possible or not in the first place (low = possible, high = impossible)
Also the display pack 2.8 is still marked as schematic coming soon - techie was on holiday (they're obvuisly back now so can we have that schematic pls)

Some more information I've unearthed - finding this is a real nightmare, I know what I wanna do but not quite how to do it...:(
I believe the way to access RDDID etc is to NOT use the supplied SPI but instead use PIO to handle the SPI as this appears to offer the flexibility to allow reading and writing from the MOSI pin while the normal libs only allow writing via MOSI and reading via MISO
I eventially stumbled accress this...
https://github.com/raspberrypi/pico-examples/tree/master/pio/spi
Specifically spi.pio in that directory (which also mentions ST7789) so that leads us to...
https://github.com/raspberrypi/pico-examples/tree/master/pio/st7789_lcd
This does SPI using any old pins you desire which means that you could reverse the direction  of the data to allow the pin usually assigned as MOSI to be read/write
The demo they have needs altering (trivially) to send data to a Display Pack - OK something we can alreasy do with SPI BUT - re-writing the PIO SPI code SHOULD allow reads to be achieved ovber the same pin
While this will compilcate the code a little, specifically you'll need to switch between write and read modes, the end result should be equally performant to normal SPI whilst additionally giving access to the read functions of the ST7789
I think the benefits far outweigh the hassle involved in writing a replacement SPI driver as there are other useful functions in the read set of ST7789 instruction set (a good example would be a PRINT SCREEN ...)

Most interesting stuff, certainly a good excuse to dive into PIO. How is the standard SPI driver implemented? Is it not using PIO itself? Would it not be easier to modify and extend the standard driver to support half duplex 3 wires SPI?
Found this when searching for pico 3 wires spi.

See the rp2040 daatasheet for full details but essentially when in SPI the device is hard-coded to 4 wire SPI with a FIFO on each of the MOSI + MISO pins which makes reading from the MISO (which is what we want to do) impossible.
3 pin SPI would require the slave/client device (LCD) to be set up to expect 3 wire. Packs are hard-wired to expect 4 wire SPI BUT the SPI they appear to use (almost certain even tho nothing back from support) looks like a 8/9 bit variant of 4 wire with 8-bit selected (going on the ST7789 datasheet anyway)
The display packs (and all other pre-assembled 7789 LCDs I've looked at) appear to use this 4 wire SPI. That specific version of SPI has the data pin configured for both input and output. i.e. the SPI is 'normal' when it comes to writing but non-standard when it comes to reading.
Unless you somewhat oddly desire the ability to read from a device you'd not usually use for anything other than writing therefore normal SPI would be easier to implement on the software side if available (which it invariably is). The available ST7789 drivers all appear to feature a subset of the possible features as a result
I guess that not many people other than us have asked the question regarding identifying the display info. It would appear to be such an uncommon feature that I find nothing even mentions it (maybe something I haven't read does...)
It should be born in mind that the read abaility is entirely theoretical ATM (it does however seem increasingly possible) - I will be emensley pleased if it turns out the concept is correct though...

OK - a start (an extremely basic one)
Just adapted the pico example SPI using PIO to check it works - which it does
Configured for a Display Pack 2.0 / 2.8
It does nothing fancy - just rotates a graphic which test write via PIO rather than SPI
Indeed if you read the code you'll see that it doesn't use any SPI at all - everything's over PIO
Appears to run about 30FPS
The next (far harder) step is to figure out how to read from the display
https://github.com/PiPicoDev/st7789_pio

Cool stuff, shame you did not first commit the example from the SDK and then your changes. Would have been easier to see what was changed 😁

Cool stuff, shame you did not first commit the example from the SDK and then your changes. Would have been easier to see what was changed 😁

Hardly changed anything but as the changes were so minimal it was easy to remember what I changed. Just updated repo to include comment // Altered for Display Pack 2.0 where changes were
About to add FPS code for it too - output to serial for simplicity

See status report for updates on the experiment
Hint... Frame #593 Time = 19727 us, FPS = 50.55


PostmarketOS Galaxy Joke Post

It might be a bit too long, and also might need some more emojis

absolute riot, i love it.

can we post this before the weekend? I want to surprise some students of mine

Thanks @mtekman!


Add chosen field to UnitDto

This field was added to the latest Tft-Match API

Please, resolve linter problems

Fixed, also added style to traitdto


cilium, netkit: Add CI e2e coverage

Add various netkit and netkit-l2 test coverage to CI:

netkit/netkit-l2 with recommended performance profile (https://docs.cilium.io/en/latest/operations/performance/tuning/)
netkit/netkit-l2 with vxlan/geneve under BPF host routing and legacy routing with ingress

Closes: https://github.com/cilium/cilium/issues/32939
Related LVH changes:

bpf tree support: https://github.com/cilium/little-vm-helper-images/pull/525
build for CI: https://github.com/cilium/little-vm-helper-images/pull/527

/test

/ci-e2e

/test

/test

(all newly added e2e tests passed)


Package readme content is missing

Take for example the following package, which has readme content on the npmjs page:
https://www.npmjs.com/package/nativescript-floatingactionbutton
The readme content, however, is not in the registry:
http://registry.npmjs.org/nativescript-floatingactionbutton
and therefore no readme in the npms info as well:
https://api.npms.io/v2/package/nativescript-floatingactionbutton
Is there a way for npms to retrieve the readme in some other?
For comparison, a package that has readme everywhere:
https://www.npmjs.com/package/nativescript-push-notifications
http://registry.npmjs.org/nativescript-push-notifications
https://api.npms.io/v2/package/nativescript-push-notifications

same applies for vue project as well, but I do see the content for it on https://www.npmjs.com/package/vue

It seems that https://www.npmjs.com/package/nativescript-floatingactionbutton has no readme in the npm info page.
What we could do is attempt to fallback to the repo README if there's one. That's actually easy to do because we download the package.

Hi there! I am part of a team of Thinkful bootcamp students that are using your wonderful package to create our final capstone project, npmm. We are using react-markdown to display npm readmes but are also running into this issue with many of them missing. Including some important packages like react, which surprised us. I'm assuming that was a conscious decision by react not to include a readme on the npm page. Weird though.
Anyway, just wondering if a fix for this was still in the works.
Thanks for the awesome API!


Prevent auth validation if a Host is archived

If a host isn't connected to an EMS prevent credential validation.

https://bugzilla.redhat.com/show_bug.cgi?id=1609807

This will break IPMI credential validation for hosts without an EMS, but I'm not sure that this is a concern anymore

Yeah I thought we removed bare-metal host provisioning but good catch if we did not.

Bare-metal provisioning was removed in https://github.com/ManageIQ/manageiq/pull/17604.  IPMI was not part of that initial effort.

@gmcculloug so is it valid anymore to have an active host not connected to an EMS?

I think so, but cannot say with full confidence.  I would suggest running it past @blomquisg or @Fryguy


Feature/fix tmp dir path

Format by shfmt's google code style/
Use mktemp for tmp_dir
Use trap to delete tmp_dir instead of using rm at last

Thanks!!!


undefined method `settings' for Elasticsearch::Model:Module (NoMethodError)

You added a note in https://github.com/elastic/elasticsearch-rails/commit/5251a5201f0b3fa1278e4366e364f9aaded81be6 explaining we could use Elasticsearch::Model.settings[:inheritance_enabled] = true to not have to define the index name again in child classes, but it's not working ?

undefined method `settings' for Elasticsearch::Model:Module (NoMethodError)

elasticsearch-rails (0.1.9)

I had this issue too, and the problem is that this new feature is not yet available in the latest version (0.1.9).


spec: formatting of tables relies on fixed-width fonts

On https://golang.org/ref/spec if you search for "array or slice" the table is not aligned as a table. I can't tell from this paragraph which is the 1st or the 2nd value in a range expression for different types.
(https://golang.org/doc/effective_go.html#for is clear on the range expression, though it's not the spec.)

Can you elaborate on what trouble you're having?  It looks adequately table-aligned in my browser.
I believe the intended way to interpret that table is the line:
Range expression                          1st value          2nd value

array or slice  a  [n]E, *[n]E, or []E    index    i  int    a[i]       E

The "Range expression" column's cell is "array or slice; a; [n]E, *[n]E, or []E".

The "1st value" column's cell is "index; i; int".

The "2nd value" column's cell is "a[i]; E".

Then the way to understand that is for a for-based range loop like
for i, x := v { ... }

where v is of types [n]E, *[n]E, or []E, then the range values produced for i and x (respectively) will be an int-typed index and its corresponding E-typed element v[i].

CC @griesemer

Attached what I see on win7, latest chrome:

Do you have some Chrome extension modifying your content? Or did you override the browser's monospace to be a proportional font?

Sorry about that! I should have known better: it's highly improbable that the spec is not flawless on golang.org...
I definitely set a wrong font somewhere.

Reopening just in case this is worth discussing further.  The Go spec is maintained in HTML (not Godoc), so we could reasonably use actual  tags to make it more accessible to readers with non-standard setups.  Thoughts?

(you most probably asked only the core team, though in case not: I - as a non-representative, acme user - never align with spaces.)

I agree that this should be formatted as an HTML table.

attached noborder.html.txt maybe this helps
I could only find the following sections maybe worth considering changing:
Length and capacity
Making slices, maps and channels
Appending to and copying slices
I can do the copy paste for these 3 as well, if you want me to do it

noborder.html.txt


Implement Product Identifier component in apps

As the component is now moved to DXP, we should implement it in the given apps:

[ ] Pre-order Management
[x] BOPIS
[x] Store Fulfilment
[ ] Picking
[ ] Threshold Management
[x] Cycle Count

As we have changed the structure of threshold management, so there is no need to have product identifier in this app.


added config options

Is this a bug report?
No

Environment

react-static -v:
node -v:
yarn --version or npm -v:

Then, specify:

Operating system:
Browser and version (if relevant):

Steps to Reproduce

(Write your steps here:)

Expected Behavior

(Write what you thought would happen.)
Actual Behavior

(Write what happened. Please add screenshots!)
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

Updated as requested.


[docker-compose up -d --build] + [cranelift] = [compilation error]

Cranelift is currently incompatible with the following Docker command (at least in my case):
docker-compose up -d --build
I get this error message:
Dockerfile:11
--------------------
   9 |     FROM chef as builder
  10 |     COPY --from=planner /app/recipe.json recipe.json
  11 | >>> RUN cargo chef cook --release --recipe-path recipe.json
  12 |     COPY . .
  13 |     RUN cargo build --release --bin gapit-modbus
--------------------
ERROR: failed to solve: process "/bin/sh -c cargo chef cook --release --recipe-path recipe.json" did not complete successfully: exit code: 101

Would be awesome if u fix it!

Dockerfile contents:
FROM rust:1.75.0 as chef
RUN cargo install cargo-chef --locked
WORKDIR /app

FROM chef AS planner
COPY . .
RUN cargo chef prepare --recipe-path recipe.json

FROM chef as builder
COPY --from=planner /app/recipe.json recipe.json
RUN cargo chef cook --release --recipe-path recipe.json
COPY . .
RUN cargo build --release --bin nice

FROM debian:bookworm-slim AS runtime
WORKDIR /app
RUN apt update
RUN apt install openssl -y

COPY --from=builder /app/target/release/nice .

CMD ./nice

The error is reproduced via docker build . in the repo root directory. The error is reproducible when the repo is minimalistic with only fn main() {} in the main.rs. I have an outer Cargo.toml like this:
cargo-features = ["codegen-backend"]

[profile.dev]
codegen-backend = "cranelift"

[workspace]
resolver = "2"
members = ["nice"]

Directory tree looks like this:

The inner Cargo.toml has the following content:
[package]
name = "nice"

[dependencies]

.cargo/config.toml:
[unstable]
codegen-backend = true

[profile.dev]
codegen-backend = "cranelift"

It looks like you are trying to use cg_clif on stable. It is currently only available on nightly. In addition you need to install the rustc-codegen-cranelift-preview component. I don't know if the container for rustc nightly has a way to install it, but if you were to use rustup, you did do rustup override set nightly; rustup component add rustc-codegen-cranelift-preview.

It looks like you are trying to use cg_clif on stable. It is currently only available on nightly. In addition you need to install the rustc-codegen-cranelift-preview component. I don't know if the container for rustc nightly has a way to install it, but if you were to use rustup, you did do rustup override set nightly; rustup component add rustc-codegen-cranelift-preview.

I added your suggestions to my Dockerfile and it fixed it. Thanks :) Maybe you can add this in the README file?

The nightly requirement and the need to install the rustc-codegen-cranelift-preview component is documented at https://github.com/rust-lang/rustc_codegen_cranelift#download-using-rustup Do you have any suggestions on how to make it clearer?

Happy to hear you managed to get it working! The nightly requirement and the need to install the rustc-codegen-cranelift-preview component is documented at https://github.com/rust-lang/rustc_codegen_cranelift#download-using-rustup Do you have any suggestions on how to make it clearer?

Maybe create a Docker title in that README.md that explains the fact that you need to add
rustup override set nightly
rustup component add rustc-codegen-cranelift-preview

(or something like this) to Dockerfile in order for Docker to work with Cranelift. It's probably obvious to someone experienced with Docker, but Docker is something junior devs usually don't have mastery of (I'm late-junior or early-intermediate) so this is likely to be an issue many devs would stumble on if it isn't explicitly stated what needs to be put in Dockerfile to make it work with Docker.

fwiw I think this isn't necessary to be documented in the readme, this is pretty obvious that to use crane lift in docker that it is necessary to use the same install steps as everywhere else.


File Convert-ConfigValueToBoolean.ps1 is zero-length

Bug Report
This is a minor issue, but I happened to notice that the file "./internal/functions/Convert-ConfigValueToBoolean.ps1" is a zero length file and has no content.
I don't see a function named "Convert-ConfigValueToBoolean" begin mentioned in any ps1 file .
This file still exists in 2.0.14.
I believe that the fix is to remove the file, which seems too easy to bother with a new fix branch and a pull request.
General Troubleshooting steps

[X] Verified running the latest release of dbachecks?

Does (Find-Module dbachecks).Version match (Get-Module dbachecks).Version.ToString()
Yes.

[X] Verified errors are not related to permissions?
[X] Can duplicate in new/clean PowerShell session (clean = powershell -NoProfile)?

Steps to Reproduce
There are no reported errors or misbehaviors that I can see, but I'm a believer in "if we don't need it, it shouldn't be there".

thank you - i will push acommit to dev to remove this


Area+Organization

Reorganized the Geometry folder, added simple area formulas

Great work @binoy-d! One thing that would be nice to change before merging your work is if you could format the equations in the README file as equations instead of words.
Thanks!

Also, please make sure to get rid of the appropriate ideas in the IDEAS.md file before your work is merged (just commit them to this same PR). Thanks!


Proposed Gov 12.1.2 amendment - GOV<IP_ADDRESS> edit

Do not merge unless poll passes.
Adds changes described here: https://forum.makerdao.com/t/gov12-1-2-bootstrapping-edit-proposal-gov10-2-3-1a-edit/24005

vote passed - https://vote.makerdao.com/polling/QmZsAM36


Merge icn benchmarks into ConstraintLearning

Codecov Report
Base: 69.50% // Head: 19.02% // Decreases project coverage by -50.47% :warning:

Coverage data is based on head (bfc83d0) compared to base (3c9f51a).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##             main       #6       +/-   ##
===========================================
- Coverage   69.50%   19.02%   -50.48%
===========================================
  Files           6       13        +7
  Lines         141      515      +374
===========================================
  Hits           98       98
- Misses         43      417      +374

Impacted Files
Coverage Δ

src/icn/analyze.jl
0.00% <0.00%> (ø)

src/icn/base_script.jl
0.00% <0.00%> (ø)

src/icn/composition.jl
0.00% <0.00%> (ø)

src/icn/constants.jl
0.00% <0.00%> (ø)

src/icn/extra_constraints.jl
0.00% <0.00%> (ø)

src/icn/genetic.jl
92.50% <0.00%> (ø)

src/icn/icn.jl
0.00% <0.00%> (ø)

src/icn/search_space.jl
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Aggregation stopped working

@njenia is working on server side clustering, which should fix the problem: #229

and #190


Preparing transfer for Target File Object(s)

Based on the applicable Source to Target file mapping configuration specified here, the system prepares the Target File Object(s) for transfer

We should look at OCFL as common mapping format that both accomodates fixity and generic folder structure mapping: https://ocfl.io/

Possibly also test new multi-part BagIT spec that Johns Hopkins is using and may be advantageous to be able to push to a couple different formats depending on the preference of the source target.


Why is ruby needed?

Curious why ruby is needed.  Is it a plugin under the hood that depends on it?

I think ruby is not needed, but if vim was compiled with ruby support we check that the installation works with vim. See 0e5e885fad91dc55ad791851f686dae9b5e414ae for this refinement (it was carried along in f9e73372e678723a4412c7477def5d6e90f84c41). I honestly don't remember the context for this check. I think a plugin broke on someone's machine and we discovered it was a ruby misconfiguration. Perhaps @SX91 remembers the context.

https://github.com/begriffs/haskell-vim-now/pull/88 @begriffs here it is.
Ruby is not needed, but if vim is compiled with broken ruby support, vim would crash on PlugUpdate (or Upgrade, or whatever). That's why this check's been added.

Thanks!


sqlite 3.35?

Hello!
Any plans for adding sqlite 3.35?

I think the latest release is 3.42 and the latest wheels on pypi should be 3.40 or 41 if you use pysqlite3-binary.


Form and Model Validation Cleanup

closes #394

Added validations to models
Made sure to enforce validations in views where necessary
Cleaned up views a little

Completely forgot to run the specs
Please hold off on reviewing until I can fix the issues

Ready for re-review

This is FINALLY ready to go - the last issue I've been tackling all week was introduced because I reordered some lines of code...


Create plots to justify approximations

. . . or maybe an interaction IPython notebook.
The approximations are

the gamma likelihood approximation in the allele fraction model that allows exact integration over bias
the Poisson -> normal approximation in the new coverage model

The second is already done in my branch mb_updated_coverage_docs

Great!

The first one closed by PR #546.


from_value(&Value)

Currently from_value consumes the value (it is passed by value). This is often desirable for performance reason, but there are cases where a signature fn from_value<T>(value: &Value) -> Result<T, Error> is preferred (and currently lacking).
In particular, I have a big serde_json::Value and I want to parse parts of it. Luckily I can define a struct with the fields I am interested in and derive Deserialize. The extra keys in the Value are ignored. However, my big Value is now gone, and I still want it. The only option for me is to clone the Value before parsing it, but that is slow as it is big. Here is an example of what I mean:

let value = json!({
    "interesting_key": "foo",
    "one_of_thousands_of_other_keys": 42,
    …
});

#[derive(Deserialize)]
struct TheGoodParts
{
    interesting_key: String,
}

fn slow {
    let good_parts: TheGoodParts = serde_json::from_value(value.clone()); // Cloning a huge Value even though I only want to parse parts of it
    analyze_all_keys(&value);
}

fn desired {
    let good_parts: TheGoodParts = serde_json::from_value(&value); // Not currently allowed
    analyze_all_keys(&value);
}

I would recommend writing this as:
use serde::Deserialize;

let good_parts = TheGoodParts::deserialize(&value)?;

@dtolnay that works beautifully, thank you!

Currently from_value consumes the value (it is passed by value). This is often desirable for performance reason, (...)

I was wondering why this is desirable for performance reason? Is it just to free some memory? Or are there underlying mechanics that make the deserializer faster if it can consume its source object?

It means owned data in the output doesn't need to be copied from the input. For example we can deserialize from Value to a struct containing Strings without allocating memory, but deserializing the same thing from &Value means you must clone even if you immediately destroy the Value afterward.

@dtolnay thanks a lot for the answer, it makes totally sense now!
I do have another question if I may:
Q: Is there a way to deserialize to a Value, then deserialize one struct with part of that Value, then deserialize another struct with the rest of the Value?
Something like this:
let (good_parts: TheGoodParts, rest: Value) = serde_json::from_value(value);
// here "rest" will be the JSON with the Strings
// that have not been used to create TheGoodParts

A bit like you would do destructuring in JS:
const { interesting_key, ...rest } = input;

Use Case
I believe @emilk and I are using serde_json using the same pattern:

we deserialize partially a JSON to a struct
we execute some logic to determine what to do next
we deserialize the same JSON to a different struct

let value = json!({
    "interesting_key": "foo",
    "another_interesting_key": 42,
    …
});

#[derive(Deserialize)]
struct TheGoodPart
{
    interesting_key: String,
}

#[derive(Deserialize)]
struct AnotherGoodPart
{
    another_interesting_key: i64,
}

let good_part = TheGoodPart::deserialize(&value)?;

if good_part.interesting_key == "foo" {
    let another_good_part = AnotherGoodPart::deserialize(&value)?;

    do_something_with_both(good_part, another_good_part);
}


examples: pin version of go-control-plane (#17553)

Attempting to fix CI in the release/v1.19 branch.
Co-authored-by: Snow Pettersen<EMAIL_ADDRESS>(cherry picked from commit 38b6fd5a7f28e33b375f02e2b4546e47adefb5f0, PR #17553)
Signed-off-by: Greg Greenway<EMAIL_ADDRESS>
Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

@snowp That version had an error from the git checkout saying it was overwriting local changes to resource.go. I think my latest commit will fix it; we may want to apply that on main. I think it'll break on main next time resource.go changes in go-control-plane.