Adding Description for each stages of maven pipelines

Part of https://github.com/fabric8-launcher/launcher-planning/issues/122

Looks good to me, need to be reviewed by the build team. Ping them in the fabric8-build channel in MM

Btw, are them all "suggested: true"?

@gastaldi Nobody from the current build team has any commits on this repository so far, so if you think the patch is good, feel free to merge it without waiting on us.

@jaseemabid I don't have merge privileges on this repository, I'd need someone who has

But I need someone to create a tag of this repository before merging this PR

@jaseemabid can you create a tag of the original repository as I requested in https://github.com/fabric8io/fabric8-jenkinsfile-library/pull/27#issuecomment-372543341 ?


anthropic_manifold_pipeline.py sseclient Failed to parse: <Response [200]>

Hi, thanks for providing the pipeline for anthropic. However, after successfully updated available models, it failed with exception as below. Seems something wrong with sseclient initialization.
[ENV]
Python3.10
sseclient-py 1.8.0
Traceback (most recent call last):
File "/data/application/pipelines/venv/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
result = await app(  # type: ignore[func-returns-value]
File "/data/application/pipelines/venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in call
return await self.app(scope, receive, send)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/applications.py", line 123, in call
await self.middleware_stack(scope, receive, send)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 186, in call
raise exc
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 164, in call
await self.app(scope, receive, _send)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 189, in call
with collapse_excgroups():
File "/usr/local/python3/lib/python3.10/contextlib.py", line 153, in exit
self.gen.throw(typ, value, traceback)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/_utils.py", line 93, in collapse_excgroups
raise exc
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/responses.py", line 261, in wrap
await func()
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/responses.py", line 250, in stream_response
async for chunk in self.body_iterator:
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/concurrency.py", line 65, in iterate_in_threadpool
yield await anyio.to_thread.run_sync(_next, as_iterator)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/anyio/to_thread.py", line 56, in run_sync
return await get_async_backend().run_sync_in_worker_thread(
File "/data/application/pipelines/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
return await future
File "/data/application/pipelines/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 859, in run
result = context.run(func, *args)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/starlette/concurrency.py", line 54, in _next
return next(iterator)
File "/data/application/pipelines/main.py", line 665, in stream_content
for line in res:
File "/data/application/pipelines/./pipelines/anthropic_manifold_pipeline.py", line 150, in stream_response
client = sseclient.SSEClient(response)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/sseclient.py", line 48, in init
File "/data/application/pipelines/venv/lib/python3.10/site-packages/sseclient.py", line 56, in _connect
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/sessions.py", line 575, in request
prep = self.prepare_request(req)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/sessions.py", line 484, in prepare_request
p.prepare(
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/models.py", line 367, in prepare
self.prepare_url(url, params)
File "/data/application/pipelines/venv/lib/python3.10/site-packages/requests/models.py", line 435, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: <Response [200]>

change to official api client, works well


Update & vendor dependencies

As noted on atc0005/todo#3:

go mod tidy

correct as necessary

go mod vendor
git add vendor
git commit -m "go mod tidy, go mod vendor"

See also atc0005/send2teams#64, atc0005/bounce#48 and atc0005/elbow#241

See also https://github.com/atc0005/todo/issues/9#issuecomment-620494462


Update and rename fsh/config.yaml to sushi-config.yaml

Apply recommended changes to config.yaml, as discovered in the auto-builder logs.
Sushi: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (00:00.0373)
Sushi:                                                                           (00:00.0373)
Sushi: SUSHI detected a "fsh" directory that will be used in the input path.     (00:00.0374)
Sushi: Use of this folder is DEPRECATED and will be REMOVED in a future release. (00:00.0374)
Sushi: To migrate to the new folder structure, make the following changes:       (00:00.0374)
Sushi: - move fsh/config.yaml to ./sushi-config.yaml                             (00:00.0374)
Sushi: - move fsh/*.fsh files to ./input/fsh/*.fsh                               (00:00.0374)
Sushi: - move fsh/ig-data/* files and folders to ./*                             (00:00.0374)
Sushi: - if you used the "history" property in your config, remove it and manage ./package-list.json directly (00:00.0374)
Sushi: - ensure your .gitignore file is not configured to ignore the sources in their new locations (00:00.0374)
Sushi: - add /fsh-generated to your .gitignore file to prevent SUSHI output from being checked into source control (00:00.0375)
Sushi:                                                                           (00:00.0375)
Sushi: NOTE: After you make these changes, the default ouput folder for SUSHI will change to ./fsh-generated. (00:00.0375)
Sushi:                                                                           (00:00.0375)
Sushi: For detailed migration instructions, see: https://fshschool.org/docs/sushi/migration/ (00:00.0375)

I'm concerned about the error I see in the QA report:
  | error | There is no jira specification file defined with the expected name of FHIR-smart-web-messaging in the xml folder of the https://github.com/HL7/Jira-Spec-Artifacts project. This must exist before ballot or publication.
-- | -- | --


Invalid privacy manifest - MapboxCommon.framework

mapsindoors_mapbox: ^2.1.5
Hi, we have an issue, triggered by an AppStoreConnect May 1st requirement for a PrivacyInfo manifest file - https://developer.apple.com/documentation/bundleresources/privacy_manifest_files.
This is mentioned in a couple of issues -
https://github.com/mapbox/mapbox-maps-ios/issues/2145
https://github.com/rnmapbox/maps/issues/3447
It was commented that a dependency update shall fix the issue -
https://github.com/mapbox/mapbox-maps-ios/issues/2145#issuecomment-2034430501
We are currently unable to push to the App Store as Apple raise an invalid binary on the build.

This is fixed in mapsindoors_mapbox: ^2.1.6, thanks!


fix: Remove conda install instrictions from docs

@efredriksson-modelon , Could you take please take a sneak peak into this minor addition


BUG: create_full_tear_sheet doesn't allow to set custom plotting_context/axes_style

For example the following doesn't work:
with alphalens.plotting.plotting_context(style='whitegrid'), alphalens.plotting.axes_style():
      alphalens.tears.create_full_tear_sheet(...,  set_context=False)

The problem is that each tear sheet function have a decorator, so we need to disable it when calling a tear sheet function from another one.

Yep, that makes sense. Thanks!


Implement custom sort title and sorting titles

Resolve #182
New
DB

add column sort_title on ids and titles tables (migration file no.12)

API

implement /api/admin/sort_title/:title_id

name is an optional query parameter and if empty, make sort_title null

Server

add the name(title) option to sort titles
use sort_title instead title for sorting titles and entries in auto and title options
sort titles too
cache sorted titles

make helper methods to remove sorted caches

UI

add a Sort Title field below the Display Name field in edit modal
set a placeholder with file title (same with title mentioned in https://github.com/hkalexling/Mango/issues/182#issuecomment-1000752956) at the Display Name field and the Sort Title field
restore a display name with the file title when a user submits an empty input

Fixes
UI

remove callbacks after modal hidden

It's really complicated to delete columns in sqlite3! haha I didn't know that. Thank you for fixing!

It's really complicated to delete columns in sqlite3! haha I didn't know that. Thank you for fixing!

Haha no problem. I will test and review the rest of the PR soon.
Happy new year! :fireworks:

Haha no problem. I will test and review the rest of the PR soon.
Happy new year! :fireworks:

Sorry for the long delay. I included the sort_title fields into the API response, and everything else looks good.
Thanks for the PR!


Lossless optimization of SVGO logos

A nit-picky PR to optimize SVGO logos.
That's a mean 30% reduction by using SVGO itself and a bit of manual cleanup

Reviewing the result, this isn't actually lossless. 😱
In particular, the gradients of the colored variant have changed quite a bit. Not sure if those were from SVGO or the manual clean up.
Since there's no urgency for this change and SVGO is continuing to improve, I'll close it for now. I would be happy to approve a truly lossless PR, though it might be best to wait for the next release, as we're ironing out a lot of these smaller issues.


Enabling http2

What is being addressed
Enabling HTTP2 as a best practice for the airlock processor function and the api app service
How is this addressed

Enabled http2
https://azure.microsoft.com/en-us/blog/announcing-http-2-support-in-azure-app-service/

/test

/test

/test

/test

@eladiw

App Service injects an X-ARR-ClientCert request header with the client certificate. App Service does not do anything with this client certificate other than forwarding it to your app. Your app code is responsible for validating the client certificate.

Two things:

The app gateway will need to be configured to send a client certificate to the API?
The app needs to validate the client certificate?

Otherwise this can't see how it is useful to enable requiring client certificates? As the web app can only be accessed from the private network and App GW (worth checking the NSGs), not sure it really adds much additonal security.

/test

/test-extended

@eladiw

App Service injects an X-ARR-ClientCert request header with the client certificate. App Service does not do anything with this client certificate other than forwarding it to your app. Your app code is responsible for validating the client certificate.

Two things:

The app gateway will need to be configured to send a client certificate to the API?
The app needs to validate the client certificate?

Otherwise this can't see how it is useful to enable requiring client certificates? As the web app can only be accessed from the private network and App GW (worth checking the NSGs), not sure it really adds much additional security.

For now, removed the client cert and only enabled http2


Dataset not loading

I encountered some problem running the train.py file and i think it's related to the dataset. After downloaded the UCF101 dataset, I've put it in the UCF-101 folder and run the train.py file but getting some errors. Anyone with a solution? Thanks

@WENDGOUNDI  Can you describe your problem in detail?


Is it possible to zoom by user gestures only?

Hey there!
Could you help to get how to disable crop area (showCropOverlay(false)) and use gestures for zoom image?
I mean I need to use that view in two modes - gestures scaling only or image crop.
Is it possible?

It's not supported.
The goal of the library is to crop the image, what would the other mode do?

Well. I think it will be nice if other mode will support image scaling by user gestures only.
You know, its like preview to decide if user really needs to crop the image. And then, just switch showCropOverlay

I see... there is support for enabling/disabling the crop overlay and you can rotate the image, but zoom is automatic depending on the crop rectangle size so making it work without crop overlay requires adding this feature.

Yeah. It will be great improvement. Thank you for answer:)

Can we choose the zone to crop by zooming?
If I want a specific ratio (2:1) but I want all my picture on it, maybe it will be interesting to zoom and add black bars to pad out the extra space to maintain the aspect ratio.
It could be a good improvement of this great library! :)


License Query

Many people have inquired on the mailing list and in person (when that was possible) to be able to use the ac node/doorbot system for their own hackspace or other office. Would be helpful to have a license so it's clear what reuse is allowed for the code and hardware associated to the project.
May also encourage people to make fixes, new feature improvements and contribute back with pull requests.
Can anyone advise on what the license of this repository and the associated repositories?

This one is an easy one since it's all my work. The others are more of a mix of different contributions so might be harder to pin down.
This repo is also the least likely to be needed on most systems - it's purely a monitoring system to keep track of the health of a large number of nodes in one place. It's also under very heavy development, and while it isn't super hard to deploy, there are a lot of moving parts since it takes inputs from so many places (and that's only going to increase!)
I'll stick a license note in this one on my next round of changes.

@mich181189 thanks for the clarification and for considering putting a license on this repo
It may make sense to have a consistent compatible license across the three repositories from an integration point of view


Dask DataFrame has many functions that are not only defined on the df but also given as functions

to_parquet, merge, ...
We only define them on the collection.
Should we add them as functions as well? Makes sense to increase compatibility

Should we add them as functions as well?

My usual answer to questions is "we should do what pandas does"

I decided to make them available if it makes sense


Use plugins webpack public path

Issue:
plugins publicPath is set to absolute path that only work with running on localhost
proposed solution:
use relative path
screeshot of issue:

Signed-off-by: yzamir<EMAIL_ADDRESS>

cc:// @vojtechszocs


Support java.util.Map instead of IPersistentMap

I think java.util.Map is preferable for checking type, because all of clojure persistent map implement java.util.Map interface.

thanks!

Thank you.


Beast cleanup and tidy

Beast modules which are not fully developed, have limited scope, or are just plain ugly are moved out of the beast directory. The remains are tidied up, with the beast unity file split up into a per-module file.
Reviewers: @miguelportilla @nbougalis

:+1:

:+1:

Current coverage is 69.68%

Merging #1638 into develop will decrease coverage by -0.02% as of bc907a5

@@            develop   #1638   diff @@
=======================================
  Files           907     906     -1
  Stmts         67382   67390     +8
  Branches          0       0
  Methods           0       0
=======================================
- Hit           46971   46964     -7
  Partial           0       0
- Missed        20411   20426    +15

Review entire Coverage Diff as of bc907a5

Powered by Codecov. Updated on successful CI builds.

Rebased into #1637


connections: update existing logs to ENVOY_CONN_LOG_EVENT macros

Signed-off-by: Jose Nino<EMAIL_ADDRESS>

@goaway these were existing logs that I thought would be useful to track connection state. Let me know if you wanted other points of visibility.

Thanks @junr03, this will be really helpful for debugging.


Formatting improvements for mobile. (#2397)

Fix background color of text areas not being applied correctly for extra-wide blocks.

Incressed padding around text areas in mobile to make selection easier.

Removed the right-hand side indent of text areas and block quotas when in mobile.

Reduced the left-hand side indent of block quotas on mobile.

(cherry picked from commit 59fe531036ef710c420ac4a15fad38afc7d5a93d)

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
If they are not already assigned, you can assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[RFC] enclave-cc: an approach of implementing process-based Confidential Containers

Motivation
The term "enclave-cc" is initially mentioned in TrustModel of CC. The typical process-based confidential computing hardware TEEs include Intel SGX and RISV-V Keystone. They all call hardware TEEs as enclaves.
"enclave-cc" needs to follow up current CC design principle and trust/threat model, using existing components to implement a general process-based Confidential Containers.
Goal
Minimize the changes of UX
Current CC design principle tends to utilize and reuse ecosystem to implement Confidential Containers.

Unfortunately, the existing SGX LibOS implementations, e.g, Gramine Shielded Containers and Occlum, require extra steps to wrap LibOS runtimes into container image during image creation.
Theoretically, LibOS runtimes are not parts of container workload, so the wrapping operation can be removed during image creation.
In addition, removing wrapping operation in image creation can facilitate the development of standardization of implementing process-based Confidential Containers, because the workload protections require standard implementions already used in container ecosystem, such as image encryption and signing.
Reuse Confidential Containers project
From a high level design, CC requires:

Container image is always protected, e.g, signed and/or encrypted.
Image pulling offloaded to TEE for the confidentiality and integrity protections to the workload.
Prove that sensitive workloads are running on a genuine and trusted hardware TEE.
The non-workload components running inside TEE are not mandatory to be provided by image creator.

An approach of implementing process-based Confidential Containers, called enclave-cc, strictly follows up above design principles.

where:

Inclavare Containers Project is a container runtime to launch and attest process-based confidential container for Intel SGX[1,2] and other Enclave Runtimes[3,4,5] interacting with the general PAL APIs. It was introduced[6] in Kata CC weekly meeting.
LibOS generally refers to the most SGX LibOS implementations, such as Gramine, Occlum, LKL-SGX and so on. The enclave-cc needs to have a general programming model to support various Enclave Runtimes.

Architecture of enclave-cc

enclave-cc introduces the so-called "stub enclave" to host the general image mgmt and attestation functions in enclave-agent similar to kata-agent. It is hosted by a LibOS and protected by running hardware TEEs, such as Intel SGX Enclave. "stub enclave" is authenticated by attestation service by relying party
FUSE encryption filesystem acts as a temporary storage, providing the protections for the metadata and container bundle. There are many alternatives.
The LibOS running inside App Enclave needs to establish an attested channel to retrieve the decryption key to mount FUSE encryption filesystem. The attested channel can be established in several ways according to policy:

launch a local attestation with stub enclave
delegate stub enclave to proxy a remote attestation (not drawn)

This proposal is still an early draft. Any feedbacks are welcome!
References

[1] Occlum: https://github.com/occlum/occlum/blob/master/docs/rune_quick_start.md
[2] Graphene: https://github.com/intel/GrapheneSGX-Golang-Support-and-Enhancement/tree/rune_v1.1
[3] AWS Nitro Enclaves: https://github.com/alibaba/inclavare-containers/tree/master/rune/libenclave/internal/runtime/pal/nitro_enclaves
[4] kvmtool: https://github.com/alibaba/inclavare-containers/tree/master/rune/libenclave/internal/runtime/pal/kvmtool
[5] WebAssembly Micro Runtime (WAMR): https://github.com/bytecodealliance/wasm-micro-runtime/tree/main/product-mini/platforms/linux-sgx/enclave-sample/App#wamr-as-an-enclave-runtime-for-rune
[6] Recording link: https://zoom.us/rec/share/byLXuYK590ZfTRIJFlZvOYgSzBRAuWt_ZcAsduzwGg_DnhfiDh4ZQBxyYis6LNWU.UEn0P62MJYRzY2IG

This is a very good start. I think the approach with the stub enclave makes a lot of sense.

Theoretically, LibOS runtimes are not parts of container workload, so the wrapping operation can be removed during image creation.

I agree that needing to wrap/pre-process a container is a big limitation. How do you propose to remove this requirement?
Are you concerned about hardware limitations regarding multi-process support and context switch overhead? Are these barriers to cloud-native deployments?
cc: @dcmiddle in case you haven't seen.

thanks @fitzthum
Yes I think this looks like a promising direction. It seems to change the libos model from linking an application into the libos, to instead using the libos as a runtime or loader.
The original Gramine-based demo uses a tool (GSC) at container image build time. In that model the user is making an a priori decision to use a container as an enclave and only as an enclave.
This proposal targets a usage model where the decision to use a TEE is at deployment time. One could for instance grab any image out of a registry and target the deployment at a TEE. In this model there are one or more helper enclaves that will handle getting the image into enclave memory.
This removes the "wrapping" previously done at build. Instead there's a general purpose enclave already running waiting to load the image into its protected memory. Then like the usual libos pattern it will call the container's entry point as though the container was a process unto itself (rather than where it now sits like a library in the libos process).
One of the trade-offs here is that in the first case (build time) the enclave's identity is the container, i.e. the end user could get a HW-based attestation of the container and use that for an app-specific purpose. In this proposal, the attestation would be of the stub enclave out to the KBS and maybe there is no remote attestation of the app enclave. This is probably more similar to the existing ccv0/1 use case(s) where an empty VM is attesting that it can securely load a container.
Gramine isn't currently used like this, so we need to get some gramine expertise on this to make sure we don't lose important security aspects (c.f. manifest). That is probably best done through the gramine community rather than thru this issue. I would probably be helpful to the Gramine community to hear the Occlum experience in adding this mode.

From @fitzthum

I think the approach with the stub enclave makes a lot of sense.

my concern is that this approach mixes the image bundle processing and runtime. Is it possible for a container (stub enclave) in a pod to process the bundle for another container in the pod? as far as I've understood rune depends on the original image bundle and then it just modifies it before running the container. in this proposal, how containerd gets the information that the app enclave is already pulled, decrypted and wrapped before it tries to pull?

I agree that needing to wrap/pre-process a container is a big limitation. How do you propose to remove this requirement?

In this proposal the wrapping is done by runtime so it's not removed. So the question becomes is it better to choose the libOS offline and do it before the image is pushed to a registry or select it deployment time and rely on the runtime to do it.
From @dcmiddle

The original Gramine-based demo uses a tool (GSC) at container image build time.

perhaps worth adding that the image contained encrypted elements too which were decrypted runtime. This could be changed to use KBS and other components.

my concern is that this approach mixes the image bundle processing and runtime. Is it possible for a container (stub enclave) in a pod to process the bundle for another container in the pod? as far as I've understood rune depends on the original image bundle and then it just modifies it before running the container. in this proposal, how containerd gets the information that the app enclave is already pulled, decrypted and wrapped before it tries to pull?

Due to the fact that stub-enclave is launched prior to the launch of the first app image, so it is launched by other approach instead of using the regular image pulling flow.

In this proposal the wrapping is done by runtime so it's not removed. So the question becomes is it better to choose the libOS offline and do it before the image is pushed to a registry or select it deployment time and rely on the runtime to do it.

Wrapping is required for Gramine because it has to do it, e.g, integrating user-defined manifest. Essentially it is used to provide the protections for workload. However, this approach might be a burden for the UX of confidential containers. FUSE-based fs is a more general approach for storage protection, and image protection can be re-used from CC approaches.

so it is launched by other approach instead of using the regular image pulling flow.

OK. I don't recall the exact order of when PullImage for the app image happens but it sounds my question is not an issue.

I think filesystem protection is better than manifest approach.

Given the container build tools we have today, the fs approach easier for the user but I wouldn't necessarily say better. @dcmiddle 's comment above is a great summary about the differences and why the manifest approach is justified in some use cases.

I am the architect of Occlum libOS. I am very happy to see this design to load images with LibOS in SGX.
The current Occlum libOS supports multiple types of encrypted file system and multiprocessing. So Occlum is able to support this design even without any change. Occlum is able to build the FUSE encryption file system in one instance, and then mount it as root in another instance.
Furthermore, Occlum actually has two boot stages. In the first boot stage,  the user could verify the boot image or add some files into the original one or even create a totally new one. So Occlum could get the image at the first boot stage, build the second stage root FS with the image, and then boot to the new FS immediately.
As the result, Occlum is able to support this feature very easy, since Occlum already has all the basic blocks: file system, multiprocessing, multi-stage booting and mount syscall.

@mythi

In this proposal the wrapping is done by runtime so it's not removed. So the question becomes is it better to choose the libOS offline and do it before the image is pushed to a registry or select it deployment time and rely on the runtime to do it.

We've talked about running unmodified workloads as being one of goals of Confidential Containers. In other words users should be able to take encrypted containers that are already in their registries today and run them with CC. That isn't necessarily set in stone and in some ways it might not fit with how people might actually use CC, but it's worth noting.
@dcmiddle points out that the stub approach decouples the measurement of the workload from the measurement of the enclave. This is exactly what we've been aiming to do with Kata; provision a generic secure environment that is easy to measure and then deploy workloads into it.

One of the trade-offs here is that in the first case (build time) the enclave's identity is the container, i.e. the end user could get a HW-based attestation of the container and use that for an app-specific purpose. In this proposal, the attestation would be of the stub enclave out to the KBS and maybe there is no remote attestation of the app enclave. This is probably more similar to the existing ccv0/1 use case(s) where an empty VM is attesting that it can securely load a container.

This is a very crisp summary of the proposal, thanks @dcmiddle.
To me this approach makes sense for mainly 2 reasons:

It is aligned with the overall architecture of the project. We use the TEE as a the secure, attested enclave where we can download and unpack confidential container images for the actual workload to run. The attestation agent and the image crates would be the common SW pieces here.
It provides a consistent Kubernetes user experience across TEEs, but also compared with the existing, non confidential Kubernetes usage patterns. What's really important to me here is for the container workload to be unmodified (but encrypted/signed) and identical across TEEs.

Gramine isn't currently used like this, so we need to get some gramine expertise on this to make sure we don't lose important security aspects (c.f. manifest).

That would be a very valuable input to get back from the Gramine community.

I would probably be helpful to the Gramine community to hear the Occlum experience in adding this mode.

Is that something we could organize? @jiazhang0 Would you be ready to initiate the discussion and present your proposal to the Gramine community, if that makes sense to you?

enclave-cc introduces the so-called "stub enclave" to host the general image mgmt and attestation functions in enclave-agent
similar to kata-agent. It is hosted by a LibOS and protected by running hardware TEEs, such as Intel SGX Enclave. "stub
enclave" is authenticated by attestation service by relying party

if the stub enclave could also handle what inclavare's carrier fw does, it sounds this would also work with runc and kata-runtime, right?

Sorry what does "inclavare's carrier fw does" mean here?

Sorry what does "inclavare's carrier fw does" mean here?

"Carrier is a abstract framework to build an enclave for the specified enclave runtime (Occlum、Graphene ..) ."
My question was that can the "stub enclave" build an enclave for the specified enclave runtime.

Sorry what does "inclavare's carrier fw does" mean here?

"Carrier is a abstract framework to build an enclave for the specified enclave runtime (Occlum、Graphene ..) ."
My question was that can the "stub enclave" build an enclave for the specified enclave runtime.

Carrier is the concept we introduced in shim-rune to launch an automatic image format conversion from standard image format to libos specific format. So theoretically we can borrow this concept to stub enclave.

which means there is no libos specific conversion process occurring after unpacking image

The diagram shows libos for the app image. How it gets there?

The libos is part of control plane. So it is not provided by user but CSP. Don't worry. Consider that TDX doesn't support enclave signature check but it is still proved the payload can securely run inside TD guest, so this idea can be re-used in sgx enclave. The libos is signed by CSP but it can be verified by attestation service. The key part is only libos is launched along with building enclave with measurement calculation and signature check. The app payload from container image is dynamically loaded after enclave is launched.

@jiazhang0 thanks! a few more questions, partly triggered by my quick replay of [6] today.

The libos is part of control plane. So it is not provided by user but CSP

Can the workload owner bring their own stub enclave? btw, in the diagram the "app enclave" should probably be "stub enclave + app".
The recording talked about a security concern (at 1:11:20->) with Runelet. Is rune/runelet a hard depency in this proposal or you already have a way to mitigate that concern?
Based on what was discussed on multi-process support in the same recording, it means that the stub enclave that handles the image pulling and attestation stub enclave must use Occlum today, right?
What is also not clearly mentioned are changes needed to, e.g., containerd. Have you verified the flow on a vanilla containerd and CRI or this has the same image offload changes needed than the Kata CC work?

Can the workload owner bring their own stub enclave? btw, in the diagram the "app enclave" should probably be "stub enclave + app".

For the better UX, only app payload included in app container image is provided by the user. So stub enclave is provided by CSP as well. Similar to Kata CC, we cannot imagine kata-agent is provided by the user.

The recording talked about a security concern (at 1:11:20->) with Runelet. Is rune/runelet a hard depency in this proposal or you already have a way to mitigate that concern?

This security concern is related to EPM (enclave caching mechanism). runelet doesn't hard depend on EPM and I don't plan to enable it in enclave-cc at least in this moment. So we don't need to concern about it now.

Based on what was discussed on multi-process support in the same recording, it means that the stub enclave that handles the image pulling and attestation stub enclave must use Occlum today, right?

No. The libos showed in the diagram is not limited to any specific libos. In fact, if this arch only cares about Occlum, the enclave-agent program can run inside app enclave together with app payloads because of the multiple-process support by Occlum. I intend to design stub enclave for the need of Gramine which doesn't support multiple-process.

What is also not clearly mentioned are changes needed to, e.g., containerd. Have you verified the flow on a vanilla containerd and CRI or this has the same image offload changes needed than the Kata CC work?

Yes. Enclave-CC needs the same modified containerd (cri-plugin) as kata-cc to work.
Thanks for your questions. I will address them in the formal arch doc.

If users want to leverage virtualized SGX in VMs provided by QEMU or Cloud hypervisor to protect the containers in the VMs, and they use kata-container to launch, then I think that that rune/runlet may not make sense for this case. As far as I know that rune replaces runc in Inclavare Containers and mostly is designed or bare metal case. In the first diagram, I think it is short of the case to use kata-runtime to startup confidential containers via SGX in VMs. We know, CC-V0 tries to address TDX cases through kata-runtime.  So at least, I do not see this kind of design. From my mind, if the solution is complete, we should also design enclave-cc usage in VM scenario via Kata-runtime.

If users want to leverage virtualized SGX in VMs provided by QEMU or Cloud hypervisor to protect the containers in the VMs, and they use kata-container to launch, then I think that that rune/runlet may not make sense for this case. As far as I know that rune replaces runc in Inclavare Containers and mostly is designed or bare metal case. In the first diagram, I think it is short of the case to use kata-runtime to startup confidential containers via SGX in VMs. We know, CC-V0 tries to address TDX cases through kata-runtime. So at least, I do not see this kind of design. From my mind, if the solution is complete, we should also design enclave-cc usage in VM scenario via Kata-runtime.

Good point. Yes. That is what Kata already did, because SGX is a process-based TEE so its usage is pretty flexible. In that case, SGX is simply passed through to container inside Sandbox and the app/libos can use it. But that has the same problem that the deployed container image still has burden on the creation if using libos. So as you mentioned, enclave-cc can potentially deal with it in a slightly different way, e.g, integrating libenclave (similar to the function as libcontainer used by runc)  and enclave-agent support inside Sandbox. As the initial proposal, I want to keep a base and simple design. In future, enclave-cc can evolve to support more usages, with new hardware support.

The recording talked about a security concern (at 1:11:20->) with Runelet. Is rune/runelet a hard depency in this proposal or >> you already have a way to mitigate that concern?

This security concern is related to EPM (enclave caching mechanism). runelet doesn't hard depend on EPM and I don't plan
to enable it in enclave-cc at least in this moment. So we don't need to concern about it now.

OK, so that concern can be mitigated by not using EPM but can you also comment on the dependency to rune/runelet in this enclave-cc proposal.

No. The libos showed in the diagram is not limited to any specific libos.

Great! Is this with the assumption that the libOS supports inclavare PAL? Are there some new PAL changes/functions needed to support enclave-cc?

Are there some new PAL changes/functions needed to support enclave-cc?

Good question, I was trying to dig into Step 6 in the diagram (attestation between the app and stub enclaves). @jiazhang0 Does Step 6 require an addition to Inclavare's PAL-API?
I guess that would be a good use for local attestation.
I think Step 7 might also be new?

Good question, I was trying to dig into Step 6 in the diagram (attestation between the app and stub enclaves). @jiazhang0 Does Step 6 require an addition to Inclavare's PAL-API?
I guess that would be a good use for local attestation.

Yes. Need to add new PAL API to assist exchanging local reports between stub enclave and app enclave.

I think Step 7 might also be new?

Probably. It depends on LibOS. But it is OK to add new API if necessary.

OK, so that concern can be mitigated by not using EPM but can you also comment on the dependency to rune/runelet in this enclave-cc proposal.

From the beginning of inclavare-containers, rune/runelet is designed to run application over SGX LibOS in container manner. Specifically, rune/runelet tries to address how to launch a LibOS and its payload in a LIBOS agnostic way. This is archived. However, we miss a piece of puzzle due to the lack of an unified and standard methodology to deploy the payload in a LIBOS agnostic way. Right now we are seeing CC project gives an perfect answer about the deployment of container image in a secured and standard method. So rune/runelet needs to be extended a bit to fully support enclave-cc.

@dcmiddle About the influence caused by fork() in Gramine, I think the below 2 figures have certain enlightenment.
The first figure show how rune/runelet supports "exec" command, which originally means launch an app inside a container in runc. For sgx enclave, rune maps this semantics to launching an app inside an enclave which is hosted by a container process.

As we see, Occlum supports multi-process (where liberpal-occlum.so is libos-specific component responsible for implementing PAL APIs). Essentially, runelet employs a linux thread to host each app inside enclave. This design ensures each app inside enclave and the corresponding linux thread keeps 1:1 mapping.
This is the figure showing how rune/runelet supports "exec" command for graphene.

In order to avoid forking the entire host runelet process, rune/runelet would employ a linux thread to host another instance of libos (and an enclave).  This design still confirms to the principle of keeping 1:1 mapping between each app inside enclave and the corresponding linux thread. But I'm not sure whether Gordon from Intel implements it in this way.
Back to the use of folk() in Gramine, if an app inside app enclave calls fork(), it is better to do it in the same way as shown above, because it will reduce the complexity of enclave-cc implementation. If fork() is implemented to fork the entire host process, e.g, runelet, it is very complicated on the management for multiple runelet instances in a container. Instead, it is better to create a new linux thread to host the new instance of Gramine libos (and child app inside the corresponding enclave). In order to further reduce the complexity of enclave-cc, the fork() never happen in stub-enclave.

The first figure show how rune/runelet supports "exec" command, which originally means launch an app inside a container in
runc. For sgx enclave, rune maps this semantics to launching an app inside an enclave which is hosted by a container process.

@jiazhang0 how do you see this with regards to what's been discussed with Kata-CC: to limit API end points to prevent untrusted host to exec inside a trusted environment?

The first figure show how rune/runelet supports "exec" command, which originally means launch an app inside a container in
runc. For sgx enclave, rune maps this semantics to launching an app inside an enclave which is hosted by a container process.

@jiazhang0 how do you see this with regards to what's been discussed with Kata-CC: to limit API end points to prevent untrusted host to exec inside a trusted environment?

According to current CC security principle, exec command should be limited by a policy which is provisioned by the payload owner through remote attestation.

@mythi By the way, the example just shows how rune/runelet manages multiple LibOS instances and gives the recommendation on handling fork() called by app. Exec needs to be carefully handled in Enclave-CC.

I get the sense we have general consensus on the direction here. What we are now getting into are lower level design decisions and we might better document those and discuss them in separate issues by component. Or better yet as PR's in to a design document in this documentation repo.
Additionally while some components are in inclavare, occlum (and possibly gramine), others like the stub and application enclaves are new components and seem naturally housed in this project. I recommend that we create a new repo to start building those.

Additionally while some components are in inclavare, occlum (and possibly gramine), others like the stub and application enclaves are new components and seem naturally housed in this project. I recommend that we create a new repo to start building those.

I fully agree. In order to share that intention with the rest of the community I created https://github.com/confidential-containers/community/issues/6 to get a slightly more formal approval before creating it. Please comment on the issue there and we'll move forward and create the new repo.

from security perspective, I think we need to make sure when image decryption key is to be released to the stub enclave, the key is 1) wrapped with attested stub enclave wrapping key, and 2) the fuse file system key is generated inside the attested stub enclave, 3) the stub enclave will verify the app enclave.

from security perspective, I think we need to make sure when image decryption key is to be released to the stub enclave, the key is 1) wrapped with attested stub enclave wrapping key, and 2) the fuse file system key is generated inside the attested stub enclave, 3) the stub enclave will verify the app enclave.

Yes. These contents should be emphasize. I will add them to the formal PR: https://github.com/confidential-containers/enclave-cc/pull/1 Thanks!

I think step 6 may happen earlier before step 3 such that the app enclave is launched before key request is made, so that app enclave may be verified by the remote attestation service as well. so mutual attestation between the stub enclave and app enclave may not be needed? this will also avoid sequential execution to save launch time.

Step 6 depends on step 5, which happens after step 1. Step 1, 2, 5 are ordered from the perspective of K8s control plane, so moving step 6 after step 2 means app enclave is launched at pullImage() step, implying there is no chance to retrieve the container annotations for app enclave, because it happens in CreateContainer() as step 5. In addition, the RA for app enclave is slower than LA, so the launch time is actually increased.

The design initiated in this issue is now merged in the enclave-cc repo.
https://github.com/confidential-containers/enclave-cc/blob/main/docs/design.md
This RFC issue is nearing completion. I think the one remaining thing would be to get a PR into this docs repo describing the adopted scope and the enclave-cc repo.

@dcmiddle Could you help to get enclave-cc in the docs repo?

@dcmiddle Could you help to get enclave-cc in the docs repo?

Yes :)


how to get a data that his name is like "test.test2"

gjson.parse("XXX").Get("test.test1") this will be convert to gjson.parse("XXX").Get("test").get("test1")

Hi @kosmosCosmos,
You should be able to get data from a JSON payload using gjson.Get()
For example, if your payload is:
{
  "test": {
    "test2": "Hello"
  }
}

result := gjson.Get(payload, "test.test2")
println(result.String())

will output:
Hello

Optionally you can use the gjson.Parse() function.
All of the following will return the same value:
gjson.Get(payload, "test.test2")
gjson.Get(payload, "test").Get("test2")
gjson.Parse(payload).Get("test.test2")
gjson.Parse(payload).Get("test").Get("test2")

maybe you dont understand my mind
my mean is this:
a json like
{
  "datas": {
    "A.B": [
      5872
    ],
    "B.c": [
      111
    ],
    "C.D": [
      0,
      4737
    ]
  }
}

i dont know A.B,B.C,.C.Dwhich is the first. I need to search A.B .but when I use gjson.parse("XXX").Get("datas.A.B") it will convert  gjson.parse("XXX").Get("datas.A").Get(B).
how could I can find a data like A.B ?
thanks a lot

The README states:

The dot and wildcard characters can be escaped with ''.

Access A.B like such:
gjson.Get(payload, "datas.A\.B")

I'm closing this for now. Please reopen if you have further question around this issue. Thanks.

I get unknown escape sequence when using:
gjson.Get(payload, "datas.A\.B")


Add markdown lint test

cc @PowerShell/area-test , @PowerShell/area-documentation
Adding tests to verify markdown syntax and basic style
Addresses #838

I'm looking at fixing the spelling errors revealed by fixing the syntax

The intent for the dev machine is to use this extension for VSCode:  https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint

@TravisEz13 Please push the change that remove $null =  for the Start-Process calls.
Then I will merge this PR after CI passed.

restarted travis-ci macOS due to a myget failure


Support document type "STTR"

IEC Trend Report Digital healthcare:2021

Hmm...

@ronaldtse STTR = "Societal and Technology Trend Report", but in identifier we have only last part: "Trend Report".
"Digital healthcare" will be what we call "report number".


Builds failing due to missing assembly references

Bug description
I'm trying to migrate over to using GameCI and I'm having an issue with builds failing due to missing assembly references from .dlls included in packages or included in the Assets folder. When building the project with the Unity editor it builds and works, the same when using a build script in a bat file and running that on a new clone of the repo.
The error is:
error CS0246: The type or namespace name 'Steamworks' could not be found (are you missing a using directive or an assembly reference?)

How to reproduce

Import packages with dlls

"com.unity.netcode.gameobjects": "1.0.0-pre.6",
"com.community.netcode.transport.facepunch": "https://github.com/Unity-Technologies/multiplayer-community-contributions.git?path=/Transports/com.community.netcode.transport.facepunch"

Run unity-builder action

I have created a public repo demonstrating this.
Repo: https://github.com/ottah/ReproSteamworks
Github action logs: https://github.com/ottah/ReproSteamworks/runs/5741999396#step:3:7393
There is also a build.bat that has the script I ran locally to test as well.

Expected behavior
Projects with plugins build.

Additional details

Any help on this would be appreciated. It could be the that Facepunch transport package is bundling their .dll's incorrectly, but since it is working in my existing build scripts I can't seem to figure out what is wrong.

Would you mind sharing what your solution was to this problem?

@webbertakken I gave up trying to fix it, we're just going to stick with our current CI/CD pipeline. I've made the repo public again if you want to check it out.

@webbertakken I am experiencing the exact same issue trying to build a Unity project with game-ci/unity-builder@v2 that uses DOTween. The DLL is committed in the repository. Any suggestion how I can solve the build?

@webbertakken I am also experiencing the same issue. May I check if there is any progress on this part? Thanks.

Tweaking assembly references is tricky and I'm by no means an expert on this.
What I do know is that many people figured how to fix assembly references in their project (and got it working in CI) on our discord.
If anyone has a fitting answer, it'd be helpful if they could share it here 🙂

I see this is specific to Steamworks. Assuming you are using Facepunch.Steamworks, instead of using the DLLs provided in the 'Releases' section of the github repository, use the source files. If you use Steamworks inside an asmdef, create an asmdef inside the Facepunch.Steamworks folder and reference this asmdef in the asmdef that uses this assembly.
If you have any issues let me know :)

If anyone comes across this through google like I did, and is looking for a fix for Facepunch.Steamworks, select your "Facepunch.Steamworks.Posix" file in the plugins folder, and set the OS under platform settings to Linux instead of OSX. This worked for me at least.


Is it possible to pick routes by scope?

I need certain URL params to be accessible by certain elevated clients.  I thought I could do this by adding scope for those clients, and doing something like:
$app->get('{class}', [         'middleware' => 'oauth:get',         'uses' => 'Controller@get'     ]);
     $app->get('{class}', [         'middleware' => 'oauth:get+special',         'uses' => 'Controller@getSpecial'     ]);
What happens is that the last route defined is used.  The alternative is to define a new route for those clients.  Ideally I'd rather keep it the same for everyone, especially because I'd have to essentially repeat all routes I've already made, and I'd have to repeat the entire thing for newer API versions.

Thanks for using this package!
For this kind of support questions, we'd like you to use the following resources:

Documentation
OAuth 2.0 Documentation
Laracasts
Laravel Slack
Stack Overflow

This will allow us to keep the issues for bug reporting only and make our work easier.


parallel.js map function doesn't process the data

I am trying to use ParallelJs in TypeScript to run some heavy process in parallel.
The array that I want to process in parallel has the following type:
type ParallelData= {
  input: //input type,
  output?: //output type
}

and I use the .map to process each item in the array. any of the functions inside the .map and later .then don't get called and while debugging the program jumps right out of it without processing the parallel data.
Here is the relevant code:
const getProcesses = (object: Object3D) => {
  const processes: ParallelData[] = [];
  // filling in the data...

  return processes;
};

const doSomething = (data: ParallelData) => {
  let res = doHeavyProcess(data.input);
  return{input: data.input, output: res};
}

export const mainProcess= (object: SomeType) => {
  const processes = getProcesses(object);

  let p = new Parallel(processes);

  p.map(doSomething).then((result: ParallelData[])  => {
    console.log(result);
  });
};

Any ideas on how I can solve this issue?

Please put questions like this on stack overflow.

Please put questions like this on stack overflow.


Support .fernignore when generating locally

Currently when we run fern generate locally this deletes the generated directory and rewrites all the files. This is problematic for users that want to modify certain files / or add utilities so we should support .fernignore in this directory.
Specifically we shouldn't rm the generated directory like we do here: https://github.com/fern-api/fern/blob/a332d7363fa6a4de5b3a44f885ec7c0aa21c0e1b/packages/cli/generation/local-generation/local-workspace-runner/src/runLocalGenerationForWorkspace.ts#L122.
Instead we should check if a .fernignore is present in the directory and do:

Read the .fernignore and store all paths in a list
git init the directory
Run git rm -rf . to stage deletes of all files
Copy all generated files to the directory
Unstage all paths that match the .fernignore by running git reset <list of paths> && git restore .
Delete the newly created .git folder and we should be good

Hi @dsinghvi, I am very much interested in implementing this feature. Please kindly assign it to me, Thank You.

@SlamChillz  feel free to make a PR!

Will do, thank you @dsinghvi. I will be in touch if I need clarifications.


Ressource creation of k8s-cis-1.23 fails with Helm chart v0.24.0

I updated the operator Helm chart from 0.23.3 to 0.24.0 and now the ClusterComplianceReport k8s-cis-1.23 sync/re-creation fails.
It seems the following two lines are responsible, which were added with a change in the 0.24.0 release:
https://github.com/aquasecurity/trivy-operator/blob/df12b1ee866c233f3a896b9e3558a22a1aa4a15c/deploy/helm/templates/specs/k8s-cis-1.23.yaml#L6-L7

you are using argocd ? is the clusterCompliance crd is updated with 2 fields ?

Yes I use argocd and no, the fields are not in the CRD:
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.14.0
  name: clustercompliancereports.aquasecurity.github.io
spec:
...

The k8s-cis-1.23 is also the only one that has these two fields.

I see, any idea why the CRD didn't got update ?

you mean in metadata ?

It could be that updating Helm charts behave a bit weird when deployed via argo 🤔

Yes I use argocd and no, the fields are not in the CRD:

Sorry I double-checked the CRD and found the fields there.

community user added a Pr to remove these two fields:
https://github.com/aquasecurity/trivy-operator/pull/2179

I had a similar problem. This is caused by an incorrect metadata that was provided in the commit https://github.com/aquasecurity/trivy-operator/commit/1d4ec56cd7d70a041b82f9b26925beb918ee5396
my pr fixes this problem.


Ruby application file (start.rb) is missing

The start.rb file containing a simple ruby application is missing from the repository.

Same issue when I clone.  There is no ruby file in the repository.


ChatGLM3-6B  AttributeError: 'ChatGLMConfig' object has no attribute 'num_hidden_layers'

Traceback (most recent call last):
File "/home/imcp/ChatGlm3/vllm_test.py", line 11, in
llm = LLM(model="./model", trust_remote_code=True)
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/vllm/entrypoints/llm.py", line 93, in init
self.llm_engine = LLMEngine.from_engine_args(engine_args)
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 231, in from_engine_args
engine = cls(*engine_configs,
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 96, in init
self._verify_args()
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/vllm/engine/llm_engine.py", line 187, in _verify_args
self.model_config.verify_with_parallel_config(self.parallel_config)
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/vllm/config.py", line 128, in verify_with_parallel_config
total_num_hidden_layers = self.hf_config.num_hidden_layers
File "/home/imcp/anaconda3/envs/glm/lib/python3.10/site-packages/transformers/configuration_utils.py", line 262, in getattribute
return super().getattribute(key)
AttributeError: 'ChatGLMConfig' object has no attribute 'num_hidden_layers'

Hi @ilas-zzk, I believe this error is fixed in the new version of vLLM (v0.2.2), which was just released. Please try it again with the new version and re-open the issue if the error persists.

Hi @ilas-zzk, I believe this error is fixed in the new version of vLLM (v0.2.2), which was just released. Please try it again with the new version and re-open the issue if the error persists.

v 0.2.2 需要的CUDA版本最低是多少？哪里可以看到不同版本需要的基本CUDA配置信息
安装　v 0.2.2以后，torch版本也会升级到2.1.2+cu121，不太支持．　有支持11.1版本的吗？


#183 apply chat filter to new users

closes #183

Changes Unknown when pulling f92b1986c250c6ef3315070f79a7cf9f77920d45 on feature/#183-apply-chat-filter-for-new-users into ** on develop**.

Horray! :dancers:


link updated

@v-hearya,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

patterns-practices/reference/iregionbehaviorcollection-containskey-method-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionnavigationservice-members-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionviewregistry-members-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/selectorregionadapter-members-mspp-regions.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Check for empty key.

This way preventing a mandatory panic caused by crypto/rsa methods when receiving nil key. Nil key is possible because a nil interface{} gets successfully typecasted to a pointer. (I was unsure whether that panic is a tolerated result by intention, but this way at least we can decide at the handling of the error)

hrm. I'm a bit conflicted on this since, afaict, passing a nil pointer is a programmer error which is what the rsa package reflects.

I understand the conflict, and I can live with it, but in the current implementation an arbitrary badly formatted JWT could trigger the panic, bringing down the app if not caught. Here is a gist showing how I found it, maybe I'm missing something: https://gist.github.com/zgiber/5e837d3e3c6ddbf867a1bca072823f61

Hrm. A malformed JWT shouldn't pass ParseJWT. So, if it is then there's a problem.
The panic is occurring when Verify is called--your private key is nil. The JWT does not dictate which private key to use--that's something the programmer decides.
Also, in your test you call claims.Validate which is called internally in JWT.Validate (see: https://github.com/SermoDigital/jose/blob/472ccf5a9421093baa7d937fd0933915f9d500f4/jws/jwt.go#L89)

Hmm sorry my bad, missed return in the test. Thanks for pointing out the claim check. Great job with the package!

thanks!


Add subcommand to visualize the requests running concurrently using a trace file

Showing the list of active requests didn’t turn out to be very useful for debugging. What is more useful, however, is to visualize the requests as the get enqueued and handled in a trace chart. This gives a very intuitive view of which request is blocking another request from getting executed.
For example, I was able to generate the following trace, which immediately shows that document requests are blocked from executing until the WorkspaceTestsRequest finishes (an issue that we should fix).

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test

@swift-ci Please test Windows


API documentation

Current the examples at http://bazalt-cms.com/ng-table/example/1 are failing because plunkr appears to be down.
It would be excellent if, instead of having to sift thru the example code, there were documents explaining various configurations.

+1

+1
The Documentation should be more clear about settings and params


Vue 3 support for Nuxt 2

Is your feature request related to a problem? Please describe.
Google suggests it will count pagespeed as an significant impact factor from 2021.
Since Vue 3 is significant faster than Vue 2 and they will release a Vue 2 API compatible build, this might be interesting to cooperate in Nuxt 2. So that migration to Nuxt 3 will not be mandatory in order to improve page speed.
Describe the solution you'd like
Support for Vue 3 using the Vue 2 API compatible build of Vue 3 (to be released).
I understand that this might be a little far away since the Vue 2 API compatible build has not been released yet. But I would like to start the discussion of the possibility to add this feature.

Thanks for bringing it up. Actually not only vue-app but each core part of nuxt 2 is technically replaceable. This way we are already backporiting server from nuxt 3.
It might be matter of time until having release to investigate backport possibilities but:

If possible, it will be with a community package for vue3
There are no guarantees that it will be and optimized build as nuxt 3

Is there a branch with progress on this?

Is there a branch with progress on this?

the compatibility build released recently
https://github.com/vuejs/vue-next/tree/master/packages/vue-compat

There is a project like nuxt, but support Vue 3.
https://winixt.gitee.io/fesjs/guide/
Come on Nuxt 3! Some one has copied your idea.

any news?

Years later, any news here?

Hey, any news on supporting @vue/compat ?

We do not plan to add Vue 3 support to Nuxt 2, given that it will be EOL in June.


Correct obvious OCR errors in the pre-processing stage (Go)

We want to create a table of the most obvious OCR errors. This should be a CSV file with the OCR error as one column and the correction as the other. We are only going to correct straightforward find and replace.
Note that these corrections have to happen in both Python and Go, so it is helpful to have the data separate from the function.

Common OCR Errors.xlsx
Here is a start on the common errors found in Pomeroy and Dillon treatises.

We are aiming to replace words instead of units where disambiguous. So corrected Tcx to Tex and Cmn to Crim independently will also correct "Tcx. Cmn. App." to "Tex. Crim. App." In some cases, we must include the whole unit, so N. II. becomes N. H.
These corrections are only disambiguous within the context of a citation. That is, it would be optimal if the find and replace were only run only within the reporter fields found by our general reg ex citation detector.

The OCR errors CSV is in the repo at data/ocr-errors.csv. https://github.com/lmullen/legal-modernism/blob/eyecite/data/ocr-errors.csv

I can update the OCR errors CSV if I can get a list of general regex citations in an English treatise: https://github.com/lmullen/legal-modernism/issues/42#issuecomment-967751321

The code for this works fine now. It's just a question of compiling the list of corrections. That's really a separate issue.


ScatterVisual diffrent radiuses

-Is there a way to plot different radiuses for the points in a scatter visual (instead of in different colors) ?

Not sure that I've coded in a way to plot different sized points all at once for a complete dataset - you could think about hacking that in.
I HAVE used different sized blobs, though, there's a ScatterVisual::add method that allows you to specify the radius of each point as they're added one by one.

-Apparently you did..  one sets sizeFactor instead of radiusFixed  :)


Added missing types into config.py

Description
Added missing types into config.py
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[ ] Configuration Update
[ ] Bump-up dependent library
[x] Trivial

/lgtm
/approve


Benchmarking of Spatial Transcriptomic libraries

Closes #143. Here I have added in a notebook that explores the output of running either Alevin-fry + Spaceranger or Spaceranger only on two spatial transcriptomic libraries. For the Alevin-fry quantification, I followed the guidance in their tutorial.
There are a few things that I looked at in this notebook:

The use of a SpatialExperiment object vs. a Seurat object for storing the spatial data. In general, the SpatialExperiment object is fairly versatile and has similar functionality to the SingleCellExperiment with additional storage for spatial information. I also was able to make some plots using ggspavis and generally think that for keeping consistency with how we have been working with the single-cell and single-nuclei datasets, it would be good to continue with the SpatialExperiment objects.
For loading in the data into R, I followed the recommendations set forth by the OSTA Book and the SpatialExperiment vignette.
*One thing to note is that with the SpatialExperiment plots I couldn't figure out a way to plot it with the tissue underneath. I don't know if that's a dealbreaker or not or something that we will want down the line, but doing that might take some more finagling.

I also compared the difference in using Alevin-fry for quantification or Spaceranger only for quantification, looking at mito content, UMI per spot, genes detected per spot, and then the actual distribution of these values across the spots in the tissue. I noticed that although the distributions are similar, when you look at the spatial plots, they don't quite lineup as expected which is slightly concerning (i.e. the distribution of the color of the spots is not the same for each sample when looking at each of the tools).
I also looked at the correlation of mean gene expression and the overlap of genes detected and generally saw high correlation (other than one line of genes shifted off the diagonal) and high overlap.

My overall conclusion that I gained after looking at these is that I wasn't sure it was worth the additional use of Alevin-fry and Spaceranger when we have to use Space ranger anyways for these samples, but let me know if reviewers came back with a different conclusion or would like to see other comparisons.
I'm attaching the html file of the rendered notebook here for reference.

Thanks for the help with this @jashapiro! One of your suggestions helped with why the pattern wasn't the same between spaceranger and the Alevin-fry + spaceranger version so that looks much better now. I'm still not entirely sure why they are flipped but something about when you are integrating the Alevin-fry results appears to flip the plot. I switched the coordinate names and then also tried plotting with both x/y axis but that obviously switches both versions so innately something is different about how the data is being stored in the two experiments.
I also unloaded ggspavis and I believe I caught everything that uses that and Seurat and added the package name to the function, but let me know if I missed anything. I will also note one annoying thing about Seurat here is that to make the plot, it has a conflict with SpatialExperiment so I had to remove the SpatialExperiment package, and then make the plot before re-installing it again.

@jashapiro based on our offline discussion I went ahead and made some changes to these notebooks, breaking out the exploration between using a SpatialExperiment vs. Seurat into its own notebook and the benchmarking into its own notebook. In this PR, I kept in the notebook that compares the two objects and then also added in a functions into benchmarking-functions/R to read in Alevin-fry + Spaceranger output into an spe since we will be using that down the line. I am moving the additional benchmarking into its own notebook that I will file as a separate PR that is stacked on this one.
I also added in the use of plotVisium to look at the plots with the image overlay as well for comparison, but overall, I think it still makes sense to continue to use the SpatialExperiment object rather than use Seurat here. Please let me know if there are any other comparisons or other things that I should explore for these objects that I missed.

@jashapiro I added some explanation about the level of incompatibility between SpatialExperiment and Seurat to the end of the notebook. You can run the notebook to completion except for the last chunk. The warnings will be produced but won't stop things from running. The last chunk where the plot is made using Seurat will not work though unless you remove SpatialExperiment and then reinstall Seurat. I found the solution on an issue that was filed in the Seurat repo where the SpatialExperiment developers also commented and added another comment about it still existing as an issue. I also tried to add in the removal of the package and reinstallation in the actual notebook and it did not seem to like that.

I found the solution on an issue that was filed in the Seurat repo where the SpatialExperiment developers also commented and added another comment about it still existing as an issue.

Can you add a link to that issue to the notebook? That will be helpful for somebody who comes to look at the notebook later, in part so we might be able to see if and when it is fixed.

Can you add a link to that issue to the notebook? That will be helpful for somebody who comes to look at the notebook later, in part so we might be able to see if and when it is fixed.

Yes! Went ahead and added that in.


impl Iterator for CharIterator

@cnsky1103 Thanks for your PR.
clippy fails because of we're now using rust 1.75 instead of the configured 1.73 rust version on development. Could you do a rebase on main that fixes these small issues. Then we can merge this PR.

@cnsky1103 very close!  Still a small clippy issue with return Some(c); that it wants to be Some(c).


Update README.md

added libudev and cc dependencies to linux dependencies

Hi, thanks for the PR.
udev and build-essential make sense to me, but cmake?  Do you remember what step failed without cmake?

I've manually merged the part which I do not have questions about.  If you can tell why cmake was required, we can add that too.  I'll close this PR in the meantime as part of it has been applied.  Feel free to open a new one for cmake if it is indeed required.


Added MatrixSpiral.py and HeapSort.py in Python Folder

I've added my MatrixSpiral.py to print Matrix in Spiral form and HeapSort.py for my Heap Sort implementation in the Python folder. If optimized and perfect, then merge.

Added NthFibonacciNumber.py Implementation in Python Folder.

Thank you for your contributions!


Software backend updates to align to Daniel's

Food for thought re: the software backends.
Mainly, the issue is that module names are not files but just words (e.g. R/latest) checked against an index typically stored as a set of lua module files inside the $MODULEPATH dir. So some validations do not work.
We could address this in several ways:

Check whether the module file (lua, inside the $MODULEPATH) exists, which only will happen if the module is available
Check whether the module is available/loadable instead (e.g. using module commands, for instance module avail)
Check whether the easyconfig is available instead (this proposal)

As for the easyconfig, they're normally not full paths neither, but rather files within the robot search path. I understand the advantages of having them in env folders next to the benchmarking YAML. So I've tried to circunvent this updating the searchpath / robotspath to both the "default" and the os.path.getcwd() but this is not ideal.
Checklist:

[x] My code follows the code style of this project.
[x] My CLI method respects the signature defined in the task.
[ ] I have documented the CLI method accordingly.
[ ] I have added tests to cover my changes.
[ ] I have added a CHANGELOG entry.

@retogerber ready for review thanks. (Assuming tests work). If tests are green, could you please also check that both the envmodules prep/easyconfig building and the envmodules-based benchmark run works? Thanks!
echo $MODULEPATH ## out of curiosity, should be something like the ones below

# just in case we export it
export MODULEPATH=$HOME/micromamba/envs/omnibenchmark/modulefiles/Core:$HOME/micromamba/envs/omnibenchmark/modulefiles/Core/all

ob software envmodules prepare -b tests/data/Benchmark_001.yaml

# should list the two zlib versions
module avail

# should run reporting it's using the envmodules (the two zlib ones)
ob run benchmark -b tests/data/Benchmark_001.yaml --local

@retogerber ready for review thanks. (Assuming tests work). If tests are green, could you please also check that both the envmodules prep/easyconfig building and the envmodules-based benchmark run works? Thanks!
echo $MODULEPATH ## out of curiosity, should be something like the ones below

# just in case we export it
export MODULEPATH=$HOME/micromamba/envs/omnibenchmark/modulefiles/Core:$HOME/micromamba/envs/omnibenchmark/modulefiles/Core/all

ob software envmodules prepare -b tests/data/Benchmark_001.yaml

# should list the two zlib versions
module avail

# should run reporting it's using the envmodules (the two zlib ones)
ob run benchmark -b tests/data/Benchmark_001.yaml --local

Unfortunately does not work for me
$ micromamba activate
$ micromamba create -n omnibenchmark
Found conda-prefix at '/home/retger/micromamba/envs/omnibenchmark'. Overwrite?: [y/N] y
Empty environment created at prefix: /home/retger/micromamba/envs/omnibenchmark
$ micromamba activate omnibenchmark
$ micromamba install -f test-environment.yml
...
$ echo $MODULEPATH ## out of curiosity, should be something like the ones below
/home/retger/micromamba/envs/omnibenchmark/modulefiles/Linux:/home/retger/micromamba/envs/omnibenchmark/modulefiles/Core:/home/retger/micromamba/envs/omnibenchmark/lmod/lmod/modulefiles/Core
$ export MODULEPATH=$HOME/micromamba/envs/omnibenchmark/modulefiles/Core:$HOME/micromamba/envs/omnibenchmark/modulefiles/Core/all
$ ob software envmodules prepare -b tests/data/Benchmark_001.yaml
...
$ module avail
Lmod has detected the following error:  module avail is not possible. MODULEPATH is not set or not set with valid paths.

yeah, thanks, it's going to be hard to harmonize, easybuild gets its own (~/.local) defaults even if installed with micromamba, micromamba has priority for robotspath (?), and then lmod does something else. In fact by default the $MODULEPATH is a blob of very different things in most systems I've tried...
I've asked Mark and for him is even funnier on a Mac. I'll document all this and perhaps provide more check features to make sure the modulepath exists, is clear, read by lmod etc
(omnibenchmark) mark@MLS-M-MAROBI omnibenchmark % eb --show-config
#
# Current EasyBuild configuration
# (C: command line argument, D: default value, E: environment variable, F: configuration file)
#
buildpath      (D) = /Users/mark/.local/easybuild/build
containerpath  (D) = /Users/mark/.local/easybuild/containers
installpath    (D) = /Users/mark/.local/easybuild
repositorypath (D) = /Users/mark/.local/easybuild/ebfiles_repo
robot-paths    (D) = /Users/mark/micromamba/envs/omnibenchmark/easybuild/easyconfigs
sourcepath     (D) = /Users/mark/.local/easybuild/sources
(omnibenchmark) mark@MLS-M-MAROBI omnibenchmark % echo $MODULEPATH
/opt/homebrew/Cellar/lmod/8.7.49/modulefiles/Darwin:/opt/homebrew/Cellar/lmod/8.7.49/modulefiles/Core


improvement to ExpressionPrinter for null conditional expression

Before we relied on NullConditionalExpression.ToString(), however this way we would not highlight dangling qsres that were inside the NCE. Also DRYing up printing of arguments.

ping @smitpatel


Memory usage (sometimes 15x from the size of dicom file)

dicom.ParseFile() method expands memory a lot. I have a service that gets OOM killed because of this method uses so much memory

Thanks for the info! Any more details you can share on your use case? Note that we have options to not read (or not parse) PixelData if that makes sense for your use case. #267 might also help, depending on what you're trying to do e.g if you're doing element by element processing you will never have to hold the whole dicom in memory at once. Also, what version of the library are you using?
See more performance discussion in #161, but there's a known situation where underlying native dicom integer data will be expanded from smaller ints (e.g. int8s) to int (usually int64, mostly in the name of having a consistent API for pixel data), but we might be able to hold the data as a Wrapper[T] where T is {int8, int16, int32, etc} at some point in the future. Also note the data is copied when generating an image.Image (here) for now (which for now takes only a uint16).
I'll take another pass at ways to reduce memory footprint for native images without compromising the API too much, esp now that we have generics.
If you're using the native pixel data, I'd love to know a little more about the use case as well! Are you working with the raw values at all?

Some updates: in https://github.com/suyashkumar/dicom/pull/315#issuecomment-2274827280 you'll see an implementation that yields significant memory and cpu improvements for native pixeldata processing. I still need to iterate and clean up some tests / api though. Please let me know if you have any thoughts in general here though. This will be a pretty significant change to how Native PixelData is represented and interacted with.


Refactor metrics logger

I refactored the metrics logger a little bit. It can be the start point of issue #145, or this change may be enough.

Looks like https://github.com/go-kit/kit/tree/master/log doesn't support async logging, which we will surely need.
@ordovicia @everpeace So for the time being, what do you think this refactoring? Do you think merging file metrics logger and stdout metrics loggers is not intuitive?

@ordovicia I updated the code. Could you check it again when you have time?

For a future possibility, we can modify the writer to take io.Writer interface instead of a concrete type os.File.
I agree with this idea, and I tried to implement it, however, I wasn't able to find a good and simple solution to avoid the file descriptor leak. I think we can make it in another PR if necessary.


Adapt view to use Declarative Shadow DOM

According to https://github.com/Starcounter/RebelsLounge/issues/59
Follow the guidelines in the following three posts to adapt the views to use Declarative Shadow DOM:

Layout compositions for HTML partials
How to Apply New Shadow DOM Layouts to Existing HTML Templates
HTML View Guidelines

This is already done


Data.List.Lazy range not lazy?

head $ range 0 10000000

Causes the following error in PSCI*:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory

*Running on a MacBook Air 2011

We should probably just be using unfold.


Could not add entry ':app:bundleReleaseJsAndAssets' to cache executionHistory.bin > java.lang.IllegalArgumentException: Block payload exceeds maximum size

Could not add entry ':app:bundleReleaseJsAndAssets' to cache executionHistory.bin (/Users/runner/work/1/s/apps/RNmobile/android/.gradle/5.5/executionHistory/executionHistory.bin).

java.lang.IllegalArgumentException: Block payload exceeds maximum size

Basically you are using int instead of long on block payload for caching, so if the task genrate a over 2gb cache payload,
the task will crash
https://github.com/gradle/gradle/blob/master/subprojects/persistent-cache/src/main/java/org/gradle/cache/internal/btree/FileBackedBlockStore.java#L219

is there a way to ignore executionhistory.bin? basically the idea is: we do not need executionhistory.bin on CI

my temp workround:
public void put(K key, V value) {
// do nothing.
}
is there a command-line option for disable store cache?

Currently on gradle 5.6.4, are there any available command-line options available to turn off store cache? Or was this resolved in a later version of gradle?


A state mutation was detected inside a dispatch when changing props of the layers

Error during commit:
didn't noticed that I accidentally hit error :-)
This commit fixed the bug: 3b32092


Gene name and  description from authoritative source for non-pombe genes (SGD and HGNC)

We need to add a description or product for cerevisiae and human genes.  We can get that from Ensembl.

Ensembl is not the authoritative source for cerevisiae gene info; SGD is. The last column of this file looks applicable:
http://downloads.yeastgenome.org/curation/chromosomal_feature/SGD_features.tab

Ah, good point and thanks for the link.
We currently get the cerevisiae genes from Ensembl because it was easier to get cerevisiae and human from the same source.
I'll change the loader to use the SGD file.  I'll do it soon so any loading problems can be fixed before well before the next release.

Yes Ensembl  import SGD  descriptions so it is  often out of date.
We could live with it during the early stages of development, but at some point it should definitely come from SGD.

I'll change the loader to use the SGD file. I'll do it soon so any loading problems can be fixed
before well before the next release.

I haven't done that yet.  :-)
This looks like a good place to get the HGNC data from:
ftp://ftp.ebi.ac.uk/pub/databases/genenames/new/tsv/hgnc_complete_set.txt
Here are the first three columns for some random genes.  Is column 3 ("name") what you'd like for the "gene description"?:
hgnc_id     symbol      name
HGNC:26388  ARHGAP36    Rho GTPase activating protein 36
HGNC:11393  AURKA       aurora kinase A
HGNC:948    BAIAP3      BAI1 associated protein 3
HGNC:1059   BLMH        bleomycin hydrolase
HGNC:1474   CAPG        capping actin protein, gelsolin like
HGNC:26900  CCDC96      coiled-coil domain containing 96
HGNC:27023  COL6A6      collagen type VI alpha 6 chain
HGNC:30359  CSDC2       cold shock domain containing C2
HGNC:25628  DDX19A      DEAD-box helicase 19A
HGNC:2854   DGKH        diacylglycerol kinase eta
HGNC:32173  DPRXP7      divergent-paired related homeobox pseudogene 7
HGNC:38160  ELOCP24     elongin C pseudogene 24
HGNC:3663   FGD1        FYVE, RhoGEF and PH domain containing 1
HGNC:43013  HIGD1AP18   HIG1 hypoxia inducible domain family member 1A pseudogene 18
HGNC:44422  HMGN2P47    high mobility group nucleosomal binding domain 2 pseudogene 47
HGNC:12028  HSP90B1     heat shock protein 90 beta family member 1
HGNC:5992   IL1B        interleukin 1 beta

column 3 ("name")
perfect

Note to self: use the "HGNC:20498" IDs as the uniquename in Chado and store the symbols in the name column.

The cerevisiae genes seem to have two systematic IDs.  eg.
YAL067C
S000000062
I've always found that mysterious.  We currently only store the YAL... ones in the feature table in Chado.
In the contig files we use both styles of ID in different places.  :-/
We use "with=SGD:S000004535" but also
/controlled_curation="term=orthologous to S. cerevisiae YAL049C; ..."
Are the S000... IDs what GO expects?

Note to self: use the "HGNC:20498" IDs as the uniquename in Chado and store the symbols in the
name column.

Reply to self: that's great but what about the Ensembl IDs?
Currently we use the Ensembl "ENSG000..." IDs as the uniquename / systematic ID for human genes stored in the Chado feature table.  That works well because the pombe-human orthologs use the Ensembl IDs.
If we use HGNC IDs in Chado instead of Ensembl IDs we won't be able to load the orthologs.
I'm not sure what the best plan is.

http://downloads.yeastgenome.org/curation/chromosomal_feature/SGD_features.tab

Note to self, the columns are documented here:
https://downloads.yeastgenome.org/curation/chromosomal_feature/SGD_features.README

SGD:S00000 is the official database ID . GO expects this.
I always used YGL etc (the orf label), because it is more user friendly.
We want to display this in the  ortholog section.
It might seem  confusing, but most of the community who are familiar with S. cerevisiae understand the difference. In fact  we are the only people who really use the same label for both.

Also... We don't really need to make any connection between the ortholog list and what is in the  GO with field for an ISS/ISO annotation.
Although 99% of the time it will be an ortholog in the "with" field,  for ISS if it is for a higher level annotation it might not be the ortholog, it could just be another family member but we are making an annotation general enough to use it....

Re human names. I don't think we  need to use the Ensmbl IDs at all. We always convert them t HGNC IDs somewhere....
and in the contigs, and these files:
conserved_one_to_one.txt
conserved_multi.txt
I used HGNC  human friendly unique names

We don't need to display Ensembl IDs in the ortholog section.
The HGNC are the best source of names/IDs

Re human names. I don't think we need to use the Ensmbl IDs at all. We always convert them t HGNC IDs somewhere....

This file has Ensembl IDs: pombe-embl/orthologs/compara_orths.tsv
Currently that works fine because the Ensembl ID is the uniquename / systematic ID in the feature table in Chado.  Can we change those IDs to HGNC IDs?  I'm happy to do that.

yes. we can change.

yes. we can change.

Great.  I've downloaded a Ensembl ID to NGHC ID mapping table from Biomart.  I'll change compara_orths.tsv but I won't check it in until the other changes are ready.

I'll change compara_orths.tsv but I won't check it in until the other changes are ready

I ended up using the data file (hgnc_complete_set.txt above) from HGNC because I trusted it more.
It's a small file so I added it to SVN as: pombe-embl/orthologs/compara_orths_hgnc_ids.tsv
When we switch to HGNC IDs in Chado I'll rename it to compara_orths,tsv
There are three Ensembl genes in the ortholog file that don't have HGNC IDs.  Very annoying.  I'd rather not get all the human IDs from HGNC except for three.  Can you think of a work around?
Here are the three:
ENSG00000249209 - http://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000249209;r=21:33584687-33931607;t=ENST00000429238
ENSG00000204790 - http://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000204790;r=9:63974762-64004155;t=ENST00000485382
ENSG00000180574 - http://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000180574;r=12:10505602-10523135

fixing now......

The code is now done for this.  I've had to change the way non-pombe genes are loaded so the genes can be read from a file.  Because of the changes needed, I'm a little worried about the load.  So I'm doing some local testing and I'll start the nightly load a bit later than normal tonight.

Because of the changes needed, I'm a little worried about the load.

The code seems fine but I forgot to put the updated compara_orths.tsv in place.  It now has HGNC IDs so should be OK for tonight's load.

The load worked, mostly.  The Compara orthologs file now loads without warnings.
But there are now a bunch of missing snoRNA and ncRNA orthologs:
https://curation.pombase.org/dumps/builds/pombase-build-2017-11-29/logs/ortholog_problems.txt
It looks like the problem is that I configured things so that only protein coding genes get loaded.  I've fixed the configuration for tomorrow's load.

OK I fixed the issues with proteins. This is because we were using the names  (which change) rather than Ids which dont. I quite liked it because it alerted me to a name change which often menas "characterization", but it was a pain and  I will pick them up in other ways.
I was confused why it thinks that
mRNA SPBC1289.10c.1: ortholog (YER109C) not found
mRNA SPCC1494.10.1: ortholog (YER109C) not found
is not a valid name?

I was confused why it thinks that
mRNA SPBC1289.10c.1: ortholog (YER109C) not found
mRNA SPCC1494.10.1: ortholog (YER109C) not found
is not a valid name?

That gene isn't being loaded because it has type "blocked_reading_frame" instead of "ORF" in the data file.  It's like that on the gene page too:
https://www.yeastgenome.org/locus/S000000911
We are only loading rows from the data table that have "ORF" in the second column:
http://downloads.yeastgenome.org/curation/chromosomal_feature/SGD_features.tab
I can easily get it to load "ORF" and "blocked_reading_frame" rows if that makes sense.
A "blocked_reading_frame" is one the is "interrupted by one or more stop codons":
http://www.sequenceontology.org/miso/release_2.4/term/SO:0000718
I don't understand how the makes sense for a coding gene?

Yes I think we should include these. The problem is they are frame-shifted in the sequenced strain, but probably real in many very closely related strains, so it is good to represent them in the reference strain.
At PomBase we handle them slightly differently, we negociate the frameshift to give a valid translation.....

OK, I've added blocked_reading_frame features too.  It's not in time for tonight's load but it will be in tomorrow night's load.

mRNA SPBC1289.10c.1: ortholog (YER109C) not found
mRNA SPCC1494.10.1: ortholog (YER109C) not found

YER109C is now loaded correctly so those two orthologs are visible again in the main site.
There still some other ortholog warnings.  Are these because of missing genes?:
https://curation.pombase.org/dumps/builds/pombase-build-2017-12-05/logs/log.2017-12-05-21-10-56.manual-1-1-orths-output
https://curation.pombase.org/dumps/builds/pombase-build-2017-12-05/logs/log.2017-12-05-21-10-56.manual-multi-orths-output

fixed all the orthologs (recent name changes in human)

fixed all the orthologs (recent name changes in human)

Thanks.  The logs should look very good in the morning.


MQTT motion ai_human not working propertly in 0.2.0

Hi. I'm experiencing issues in v0.2.0 with MQTT.
i don't receive 'motion_start' MQTT message anymore. I only receive "motion_stop" messages.
The 'motion_files' MQTT messages always start in 1970:
{
"start":"1970-01-01T00:00:00+0000",
"end":"2020-09-30T16:08:26+0000",
"files":[ ]
}

AI Human MQTT messages don't work property. I understand it is in a experimental phase. Sometimes works, sometimes not.
I don't receive the baby crying messages anymore.
Is anyone else experiencing this issues?
Attached a test i have done:
mqtt.zip
Thanks

Please see here:
https://github.com/roleoroleo/yi-hack-Allwinner/issues/125
I think it's no related to the hack, but you could try to unhack the cam and check if it's work.

Thanks @roleoroleo. AI Human Detection disabled and everything works again :-)


ListPicker stopped working in upgrade from 3.1.0 to 3.2.0

Category
[ ] Enhancement
[x] Bug
[ ] Question
Version
Please specify what version of the library you are using: [ 3.2.0 ]
Expected / Desired Behavior / Question
I am expecting the controls to keep working in the upgrade from 3.1.0 to 3.2.0.
Observed Behavior
After upgrading from 3.1.0 to 3.2.0, the ListPicker stopped retrieving lists. In the local workbench, it retrieves and displays the mock data, but in the online workbench it just displays a grey area (screenshot below). I am not seeing any error or network traffic.
I have a peoplepicker on the same page that works just fine after the upgrade.

Steps to Reproduce
Create a SPFx 1.12.1 solution
Install spfx controls 3.2.0
Add PeoplePicker and ListPicker
Thanks!

@PathToSharePoint can you share some repro sample? I can't reproduce it.

@AJIXuMuK this is a follow up on issue #848 with the same code sample - just using 1.12.1 and 3.2.0 now.
I followed the documentation and I am wondering if I missed a step. Is anything else needed in addition to SPFx 1.12.1 and controls 3.2.0? A mgt module maybe?

@PathToSharePoint - found the issue.
The fix is in beta version.


Hosting location for summon app?

This used to live on nuclear, but nuclear is no more:
$ cat publish.sh
#!/usr/bin/env bash

scp -r cordova.js cordova_plugins.js css img index.html js plugins nuclear.eecs.umich.edu:/opt/public/ble/tritag/

@bradjc @brghena @tzachari this may be a more general problem for summon apps, or is this solved already and I just need to push this app somewhere else?

We use github now via j2x.us

I believe it's hosted via rawgit: http://j2x.us/Edukt0

Great. I was pretty sure this wasn't a problem but doubted myself.


products & variants support

add support for commerce products & variants

Thank you @samuelbirch we'll review tomorrow.
@cookie10codes - please tag this as a seperate release, unrelated to the synonyms function we're introducing.


add description to table in bsx/stats

What happened?
I can't find my nft that I put on listing. there are two of them. price 10002 and 10004 bsx.
https://beta.kodadot.xyz/bsx/stats/?page=1
Please reproduce in steps
I created two nft and put them on the listing at the prices of 10002 (today) and 10004 (two days ago). switched to https://beta .kodadot.xyz/bsx/stats/?page=1 and I can't find them there.
my profile
https://beta.kodadot.xyz/bsx/u/bXiovEsrLpx6fYRBJf1XZiXTEz4txu5FqGtAY4XqHvbxTVEHK
Expected Behavior
I think I should have found them in the specified section
What browsers are you seeing the problem on?
Chrome
At which address did you encounter bug?
beta.kodadot.xyz
Are you logged in?
Yes
Which wallet you are using?
PolkadotJS
At which chain did you encounter bug?
Basilisk
Screenshots

Relevant log output
No response
Payment link for reward
https://kodadot.xyz/transfer/?target=<My_Kusama_Address_check_https://github.com/kodadot/nft-gallery/blob/main/CONTRIBUTING.md#creating-your-ksm-address>
Code of Conduct

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

https://beta.kodadot.xyz/bsx/stats is focused on tracking NFTs with offers across the marketplace, so if you don't have any offers on the NFTs, you will not see it in the stats

two things regarding the nfts:

you have unlisted the one for 10 002 (that was created two days ago, I think you got it mixed) :

https://beta.kodadot.xyz/bsx/gallery/2872494063-2

{
        "events": [
          {
            "interaction": "MINTNFT",
            "timestamp": "2022-07-19T20:16:06.037000Z"
          },
          {
            "interaction": "LIST",
            "timestamp": "2022-07-19T20:16:06.037000Z"
          },
          {
            "interaction": "ROYALTY",
            "timestamp": "2022-07-19T20:16:06.037000Z"
          },
          {
            "interaction": "UNLIST",
            "timestamp": "2022-07-19T20:24:42.041000Z"
          }
        ],
        "name": "the stuffed lion cub",
        "price": "0"
      }

the one for 10 004 was minted and listed today:

https://beta.kodadot.xyz/bsx/gallery/2872494063-3

{
        "events": [
          {
            "interaction": "MINTNFT",
            "timestamp": "2022-07-21T10:07:54.038000Z"
          },
          {
            "interaction": "LIST",
            "timestamp": "2022-07-21T10:10:18.040000Z"
          }
        ],
        "name": "lion kid",
        "price": "10004000000000000"
      }
    ]
  }

as a side note, maybe it isn't clear from the name of the route, what does "stats" mean, maybe we want to add some explainer / description of what is the user looking at? somewhere above the table, wdyt @yangwao

👋

add some explainer / description of what is the user looking at? somewhere above the table, wdyt

Global Marketplace Offers?


Ablation study on training epochs of vanilla DeiT variants

Hi,
Thanks for sharing the amazing work and results! In Table 5 of the paper, it shows a significant accuracy increase between ⚗ models trained with 300 epochs and 1000 epochs, especially for the DeiT-Ti⚗ (+2.1%). Have the authors or anyone else tried training the vanilla DeiT-Ti for more than 300 epochs? Have you seen a significant accuracy jump as the distillation case? TIA

Hi @lcmeng ,
Without distillation the best performance is achieved with 400 epochs (Figure 3 in the paper).
The models saturate quickly with more epochs.
Best,
Hugo


Feature/browsertools

Description
Fix broken browser tools installation. See https://github.com/CircleCI-Public/browser-tools-orb/issues/75.
Review Instructions
Builds on CircleCI should pass.
Issue
None
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.
[x] Check whether this PR disables tests. If it legitimately needs to disable a test, create a new ticket to re-enable it in a specific milestone.

Note: accessiblity_test_base is failing because master is pointing to expired CircleCi artifacts


fix: warning messages

What does this PR do?
Removes warning messages.
Motivation
Now that Crossplane added schema validations, started getting warning messages while testing the compositions.
More

[X] Yes, I have tested the PR using my local account setup  (Provide any test evidence report under Additional Notes)

[ ] Yes, I have added a new example under examples to support my PR

[ ] Yes, I have updated the docs for this feature

[ ] Yes, I have linked to an issue or feature request (applicable to PRs that solves a bug or a feature request)

Nice clean up!


Support Android immersive mode

Basically a copy of: https://www.assetstore.unity3d.com/en/#!/content/16852

this is now supported


Fixed the width of the form and added some spacing on it

Can your share a screenshot?

btw check this out: https://github.com/TeamPorcupine/ProjectPorcupine/wiki/How-to-Test-a-Pull-Request