Improve validation of phone numbers

Use phonenumbers to validate phone numbers so that things like '+10' and '003' as well as things like '+123456789100' (too many digits) are not allowed. This used to cause a twilio error, now it returns a nice message. When phonenumbers is not installed, revert to the old method of validation.

I have to make migrations still for the model changes - I forgot about them because I had only changed validators. I'll make them shortly and then post here - sorry about that.

I have written a migration and believe it should work.

I like this improvement as it allows us to present more informative error messages to the user. However, allowing phonenumbers to be a conditional dependency leads to problems since changing validators on fields requires migrations in Django.
Regardless of whether phonenumbers is installed, this migration is going to run. If phonenumbers is installed after he migration, you are going to run into problems since the database fields are going to differ from what is described in code.
I believe there are two options to achieve this functionality without the above issue.

make phonenumbers a required dependency
instead of adding this functionality in the phone_number_validator do it somewhere else that does not require changing fields or migrations. For example, in save on a model or clean on a form. I think I'd prefer clean on a form if possible.

@jake223 Thanks for the PR. Looks like a solid improvement. @dicato Thanks for the review, those look like valid concerns.
Regarding the migration; regardless of phonenumbers being available, the validator is named two_factor.models.phone_number_validator, so the migration shouldn't matter anyway. However this doesn't resolve issue #106, as the validation by phonenumbers might not match with Twilio's number validator (of that of any other gateway). Any ideas on how we could resolve those? I'm thinking of putting try/catch around the calling code to the gateway in the view.

@Bouke my thought regarding the migration is that the database and code can easily get in an inconsistent state. If you apply this migration without phonenumbers installed, then decide to later install it, you will likely have to manually make migrations and migrate.
You are correct this does not fully resolve #109. It should help as it will validate phone numbers when users first enter them, as opposed to when they are used. try / except around the calling code makes sense and can likely reuse the same validators to improve the error messages in many scenarios.
It appears that both libraries use the E.164(https://en.wikipedia.org/wiki/E.164) standard. See twilio's error documentation and phonenumbers is a port of Google's libphonenumber - which uses E.164.

I don't think there's an issue with the migrations. Migration 0002 (currently):
models.CharField(
    max_length=16,
    verbose_name='number',
    validators=[django.core.validators.RegexValidator(regex='^(\\+|00)', message='Please enter a valid phone number, including your country code starting with + or 00.', code=b'invalid-phone-number')]
)

Migration 0003 (new):
models.CharField(
    max_length=16,
    verbose_name='number',
    validators=[two_factor.models.phone_number_validator]
),

So the validator is changed, but it's the same phone_number_validator regardless of when phonenumbers is installed.
However, the tests are failing because phone_number_validator is expected to be a RegexValidator, and the message attribute is used in the tests. So when phonenumbers is installed, the tests will fail. Furthermore, there are currently no tests in place to validate the added conditional functionality, which should be addressed before I can merge this PR. @jake223 when the tests are adjusted accordingly, I think the PR will be ready for merging.

So the validator is changed, but it's the same phone_number_validator regardless of when phonenumbers is installed.

That causes some unintended side effects. Here is what I just did locally to illustrate the issue:

pip install -r requirements_dev.txt on master
 cd ./example && python manage.py migrate
note that the new 0003 migration is applied
pip install phonenumbers
python manage.py migrate
note the following warning:

Your models have changes that are not yet reflected in a migration, and so won't be applied.
Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to
apply them.

Installing an optional dependency and causing the above warning seems less than ideal. Users of this package are going to end up with additional migrations that aren't part of the package.
Given #109 and #110 I think my previous suggestion of making phonenumbers a required dependency is the easiest and most logical path forward.
I'm happy to do this as well as work on the tests. Does this path forward make sense?

You're correct, there would not have been a difference when the validator was defined as a method as well. Anyway, I have written a custom field and validator to resolve this and partially issue #109. You can have a look in the branch phone-number-validation. It is not yet complete as there are no unit tests and existing tests are failing, and probably incompatible with Django 1.4. However, could you review it in the current state?

:+1: @Bouke I left some comments directly on the commits in that branch!

Closed in favor of PR #112. Can you have a look at my PR? I think it's getting in a good shape now.


Request processing logging

Is your feature request related to a problem? Please describe.

When debugging, understanding why the request is not behaving properly can be difficult. As a framework developer, I often find myself printing my way through. I think this also affects framework users.
Describe the solution you'd like

Log information about what a request goes through while being processed, eg:

Middleware classes
Route (and the list of unmatched routes until we got to this one?)
Route parameters
Query parameters
Providers
Error handlers
(Anything else?)

Users should be able to turn these on via an environment variable, eg DEBUG=middleware,routing,views,providers. Show all info with DEBUG=all.
Describe alternatives you've considered

Let users turn on/off the loggers via the logging module: not impossible, but not sure this is the most user friendly approach. Depending on the implementation, see if we can allow this for advanced use cases.
Not sure yet if the DEBUG env var would conflict with other tools picking up on it (eg uvicorn).

Implementation ideas

TBD
Additional context

/

Hmm, okay, so uvicorn already provides a bunch of useful ASGI information when passing --log-level=debug, e.g.:
DEBUG: ('<IP_ADDRESS>', 50854) - Connected
DEBUG: ('<IP_ADDRESS>', 50854) - ASGI [2] Started
DEBUG: [Bocadillo] New request: {"type": "http", "path": "/", "root_path": ""}
DEBUG: ('<IP_ADDRESS>', 50854) - ASGI [2] Received {'type': 'http.response.start', 'status': 200, 'headers': '<...>'}
INFO: ('<IP_ADDRESS>', 50854) - "GET / HTTP/1.1" 200
DEBUG: ('<IP_ADDRESS>', 50854) - ASGI [2] Received {'type': 'http.response.body', 'body': '<298 bytes>'}
DEBUG: ('<IP_ADDRESS>', 50854) - ASGI [2] Completed
DEBUG: ('<IP_ADDRESS>', 50854) - Disconnected

This is a first level of debug information. And then I'm not sure whether we really want to provide as much information as listed in the issue.
Closing this for now…


[bug] Microphone audio quality is worse in Windows vs. Chrome

Describe the bug
Hello, thanks for all your awesome work on LiveKit and making it available for Flutter. Today, I ran into quite the weird issue. Basically when I enter a call on Chrome the audio quality received by the other person sounds much better than when I use the Windows version of the example app provided in this repository. After some testing it seems that this problem mainly affects mono microphones since it doesn't happen with my web cam microphone.
To Reproduce

Export the example app for both Windows and Chrome.
Have someone else open either one and join the room.
Join the room from Windows and try to speak with a mono (one channel) microphone.
Now compare the audio quality to the audio quality you get when speaking through the Chrome version with the exact same microphone.

I've also recorded a video to illustrate the problem (because the video is over 100 MB, I couldn't upload it to GitHub):
https://www.youtube.com/watch?v=ngANWoGaAtA
Expected behavior
The audio should sound the same, no matter if I'm in Chrome or Windows.
Platform information

Flutter version: 3.24.0
Plugin version: 2.2.4
Flutter target OS: Windows, Chrome
Flutter target OS version: Windows 11

yeah, it sounds like the sampling rate is too low, will try to track native code.

Facing the same issue as well


How do I store the full graph data in the ObjectStore of each node?

I have been following the progress of RayDP and trying to use it for data processing. But now I use spark= raydp.init_spark(...) to read a large graph data, convert it to DataFrame, and then call create_ml_dataset_from_spark() to store it in the ObjectStore. My ray cluster has three nodes. I want to store one copy of the full image data in the ObjectStore of each node. So I executed the above method three times, and found that one of the machines stored 2 copies, one stored 1 copy, and The ObjectStore of the last machine is empty. After trying many times, it is difficult to store the whole image data in the ObjectStore of each node.
Can this method (task) be individually scheduled to execute under a certain node?
Looking forward to your reply~

Hi, glad you tried raydp.
Ray's object store is shared among nodes. By calling our create_ml_dataset_from_spark, you create a MLDataset, which is partitioned. That means your data is probably distibuted across nodes. Why do you want the full graph data available on each node? What do you want to do in the next step? In ray, you can always refer to the data you put in object store in a remote task, and if the node where the task is scheduled does not have the data yet, it will fetch the data first. So I guess there is no need to call create_ml_dataset_from_spark 3 times manually.

Hi, glad you tried raydp.
Ray's object store is shared among nodes. By calling our create_ml_dataset_from_spark, you create a MLDataset, which is partitioned. That means your data is probably distibuted across nodes. Why do you want the full graph data available on each node? What do you want to do in the next step? In ray, you can always refer to the data you put in object store in a remote task, and if the node where the task is scheduled does not have the data yet, it will fetch the data first. So I guess there is no need to call create_ml_dataset_from_spark 3 times manually.

I hope to use RaySGD to start three deep learning training processes (Actors) on each machine. Each process can directly obtain full image data from the local ObjectStore for sampling training, thereby avoiding pulling data from other nodes and causing network transmission overhead. .

Is it a GNN application? Like each node needs a full graph, but node/edge features can be partitioned? Anyway I guess you can save the graph to parquet fist, and copy it to the same path on each node. Then use our from_parquet to load it on each node in remote task, then return the loaded data(as objectref).  Finally, use this in actors on each node.

Is it a GNN application? Like each node needs a full graph, but node/edge features can be partitioned? Anyway I guess you can save the graph to parquet fist, and copy it to the same path on each node. Then use our from_parquet to load it on each node in remote task, then return the loaded data(as objectref). Finally, use this in actors on each node.

Hello, thank you very much. there is my python file.
https://github.com/YeahNew/gitdemo/blob/10cc46d8edc835c08604db66351b3bfa3f80fa13/RayDPandDGL.py
I am very surprised that I set num_shards=3 when storing the full graph data into the ObjectStore, but finally can not get all the data through object_ref, only the data of one shard can be obtained. I am very confused, I hope that each trainer under the 3 nodes can get the full graph data .
Would you like to help me find the reason? That would be very grateful ~~

Hi @YeahNew , I can not find your reply, but I saw it in my mailbox. Have you solved the problem? I think you don't need to use MLDataset for the graph data, because you do not want it partitioned on each node. You probably want to use it to load edge/node feature, of which different part is used in different nodes. For the graph data, if it is only used in the training actor, you don't even need to put it into ray object store.

Hi @YeahNew , I can not find your reply, but I saw it in my mailbox. Have you solved the problem? I think you don't need to use MLDataset for the graph data, because you do not want it partitioned on each node. You probably want to use it to load edge/node feature, of which different part is used in different nodes. For the graph data, if it is only used in the training actor, you don't even need to put it into ray object store.

@kira-lin
Yes, thank you for your reply, I have solved this problem. Sorry for the busy time and did not reply to you.
Now I have another problem. The embedding I got from model training is in ndarray array format. I need to store it in ObjectStore. But the create_ml_dataset_from_spark method only supports data storage in sql.DataFrame format. Could you provide data storage method by using other formats?
Looking forward to your reply~

close as stale


Error: ResourceNotFoundException: Requested resource not found

Hello,
I used the HashiCorp tutorial: https://learn.hashicorp.com/tutorials/terraform/aws-control-tower-aft
Successfully passed the following actions:
Configure the landing zone,
Deploy AFT module,
Enabled CodeStar connection,
Grant AFT access to Service Catalog portfolio,
Rerun account provisioning pipeline.
Everything worked well so far.
But there is an issue deploying new accounts with ATF. terraform plan passes successfully, while terraform apply fails with the following error:
│ Error: ResourceNotFoundException: Requested resource not found │ │ with module.sandbox.aws_dynamodb_table_item.account-request, │ on modules/aft-account-request/ddb.tf line 1, in resource "aws_dynamodb_table_item" "account-request": │ 1: resource "aws_dynamodb_table_item" "account-request" {
The same error is present in CloudWatch /aws/codebuild/ct-aft-account-request.
Running terraform in debug mode doesn't look to provide more details, just the response from AWS:
2022-03-04T11:48:45.798+0200 [DEBUG] provider.terraform-provider-aws_v4.3.0_x5: [aws-sdk-go] DEBUG: Response dynamodb/PutItem Details:
---[ RESPONSE ]--------------------------------------
HTTP/1.1 400 Bad Request
This is the code for account definition:
`module "sandbox" {
source = "./modules/aft-account-request"
control_tower_parameters = {
AccountEmail =<EMAIL_ADDRESS>AccountName = "dev.aws"
ManagedOrganizationalUnit = "aft.aws"
SSOUserEmail =<EMAIL_ADDRESS>SSOUserFirstName = "DEV"
SSOUserLastName = "AWS"
}
account_tags = {
"Name" = "DEV AWS"
}
change_management_parameters = {
change_requested_by = "My Company"
change_reason = "Add dev.aws account"
}
custom_fields = {
group = "dev.aws"
}
account_customizations_name = "sandbox"
}`
Any help will be greatly appreciated!

Hi @olegburca,
Our team does not maintain the linked Hashicorp tutorial - if you are having issues with steps recommended by the tutorial, please reach out to Hashicorp for assistance.
I did notice in the provided logs that you are using provider v4.3 of the AWS provider - this is likely to cause issues as AFT currently does not support provider versions 4.x.
We are working on adding support for v4.x providers in a manner that will allow customers to upgrade AFT versions gracefully.

@stumins,
Thank you for the reply.
I tried with aws provider 3.74.3, however got the same error:
`2022-03-06T13:54:56.059+0200 [INFO]  provider.terraform-provider-aws_v3.74.3_x5: 2022/03/06 13:54:56 [DEBUG] [aws-sdk-go] DEBUG: Response dynamodb/PutItem Details:
---[ RESPONSE ]--------------------------------------
HTTP/1.1 400 Bad Request
Connection: close
Content-Length: 112
Content-Type: application/x-amz-json-1.0
Date: Sun, 06 Mar 2022 11:54:55 GMT
Server: Server
X-Amz-Crc32:<PHONE_NUMBER>
X-Amzn-Requestid: TJDPIMMABNDKPNBNPF41JRM613VV4KQNSO5AEMVJF66Q9ASUAAJG
-----------------------------------------------------: timestamp=2022-03-06T13:54:56.059+0200
2022-03-06T13:54:56.059+0200 [INFO]  provider.terraform-provider-aws_v3.74.3_x5: 2022/03/06 13:54:56 [DEBUG] [aws-sdk-go] {"__type":"com.amazonaws.dynamodb.v20120810#ResourceNotFoundException","message":"Requested resource not found"}: timestamp=2022-03-06T13:54:56.059+0200
2022-03-06T13:54:56.059+0200 [INFO]  provider.terraform-provider-aws_v3.74.3_x5: 2022/03/06 13:54:56 [DEBUG] [aws-sdk-go] DEBUG: Validate Response dynamodb/PutItem failed, attempt 0/25, error ResourceNotFoundException: Requested resource not found: timestamp=2022-03-06T13:54:56.059+0200
2022-03-06T13:54:56.059+0200 [TRACE] provider.terraform-provider-aws_v3.74.3_x5: Called downstream: @module=sdk.proto tf_proto_version=5 tf_req_id=da770396-ce40-7b43-a229-99c6e5b437a3 @caller=/opt/teamcity-agent/work/5d79fe75d4460a2f/pkg/mod/github.com/hashicorp/terraform-plugin-go@v0.5.0/tfprotov5/tf5server/server.go:608 tf_provider_addr=provider tf_resource_type=aws_dynamodb_table_item tf_rpc=ApplyResourceChange timestamp=2022-03-06T13:54:56.059+0200
2022-03-06T13:54:56.059+0200 [TRACE] provider.terraform-provider-aws_v3.74.3_x5: Served request: tf_req_id=da770396-ce40-7b43-a229-99c6e5b437a3 tf_resource_type=aws_dynamodb_table_item @caller=/opt/teamcity-agent/work/5d79fe75d4460a2f/pkg/mod/github.com/hashicorp/terraform-plugin-go@v0.5.0/tfprotov5/tf5server/server.go:614 @module=sdk.proto tf_proto_version=5 tf_provider_addr=provider tf_rpc=ApplyResourceChange timestamp=2022-03-06T13:54:56.059+0200
2022-03-06T13:54:56.060+0200 [TRACE] maybeTainted: module.sandbox.aws_dynamodb_table_item.account-request encountered an error during creation, so it is now marked as tainted
2022-03-06T13:54:56.060+0200 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for module.sandbox.aws_dynamodb_table_item.account-request
2022-03-06T13:54:56.060+0200 [TRACE] states.SyncState: pruning module.sandbox because it is empty
2022-03-06T13:54:56.061+0200 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for module.sandbox.aws_dynamodb_table_item.account-request
2022-03-06T13:54:56.061+0200 [TRACE] evalApplyProvisioners: module.sandbox.aws_dynamodb_table_item.account-request is tainted, so skipping provisioning
2022-03-06T13:54:56.061+0200 [TRACE] maybeTainted: module.sandbox.aws_dynamodb_table_item.account-request was already tainted, so nothing to do
2022-03-06T13:54:56.061+0200 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState to workingState for module.sandbox.aws_dynamodb_table_item.account-request
2022-03-06T13:54:56.061+0200 [TRACE] states.SyncState: pruning module.sandbox because it is empty
2022-03-06T13:54:56.061+0200 [TRACE] NodeAbstractResouceInstance.writeResourceInstanceState: removing state object for module.sandbox.aws_dynamodb_table_item.account-request
2022-03-06T13:54:56.061+0200 [TRACE] statemgr.Filesystem: not making a backup, because the new snapshot is identical to the old
2022-03-06T13:54:56.063+0200 [TRACE] statemgr.Filesystem: no state changes since last snapshot
2022-03-06T13:54:56.063+0200 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
2022-03-06T13:54:56.083+0200 [ERROR] vertex "module.sandbox.aws_dynamodb_table_item.account-request" error: ResourceNotFoundException: Requested resource not found
2022-03-06T13:54:56.083+0200 [TRACE] vertex "module.sandbox.aws_dynamodb_table_item.account-request": visit complete, with errors
2022-03-06T13:54:56.083+0200 [TRACE] dag/walk: upstream of "module.sandbox (close)" errored, so skipping
2022-03-06T13:54:56.083+0200 [TRACE] dag/walk: upstream of "module.sandbox.provider["registry.terraform.io/hashicorp/aws"] (close)" errored, so skipping
2022-03-06T13:54:56.083+0200 [TRACE] dag/walk: upstream of "root" errored, so skipping
2022-03-06T13:54:56.083+0200 [TRACE] statemgr.Filesystem: not making a backup, because the new snapshot is identical to the old
2022-03-06T13:54:56.083+0200 [TRACE] statemgr.Filesystem: no state changes since last snapshot
2022-03-06T13:54:56.083+0200 [TRACE] statemgr.Filesystem: writing snapshot at terraform.tfstate
╷
│ Error: ResourceNotFoundException: Requested resource not found
│
│   with module.sandbox.aws_dynamodb_table_item.account-request,
│   on modules/aft-account-request/ddb.tf line 1, in resource "aws_dynamodb_table_item" "account-request":
│    1: resource "aws_dynamodb_table_item" "account-request" {
│
╵
2022-03-06T13:54:56.106+0200 [TRACE] statemgr.Filesystem: removing lock metadata file .terraform.tfstate.lock.info
2022-03-06T13:54:56.106+0200 [TRACE] statemgr.Filesystem: unlocking terraform.tfstate using fcntl flock
2022-03-06T13:54:56.107+0200 [DEBUG] provider.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable desc = transport is closing"
2022-03-06T13:54:56.111+0200 [DEBUG] provider: plugin process exited: path=.terraform/providers/registry.terraform.io/hashicorp/aws/3.74.3/darwin_arm64/terraform-provider-aws_v3.74.3_x5 pid=3956
2022-03-06T13:54:56.111+0200 [DEBUG] provider: plugin exited`
Will try to reach Hashicorp.
Regards,
Oleg.

@snebhu3, yes, aft-request table exists.
/aft/config/aft/version is Version: 1, Value: 1.3.3
Actually there is more info in codepipeline output: Error: AccessDeniedException: User: arn:aws:sts:::assumed-role/AWSAFTAdmin/AWSAFT-Session is not authorized to perform: dynamodb:PutItem on resource: arn:aws:dynamodb:eu-west-2::table/aft-request

@olegburca Thank you for the details. You should ideally have the required access as the role has admin permissions. Is there an SCP blocking the required access?
As this would require a deeper dive into your environment, I would suggest reaching out to AWS Premium Support for help with further troubleshooting.

@snebhu3, no, there is no SCP blocking this access
There's only the FullAWSAccess and Guardrails SCPs.
Thanks.

@olegburca Thanks for the confirmation.
I would suggest reaching out to Premium support for help with further troubleshooting as this might require a deeper dive into your CT environment.

In the end:
AccessDeniedException - was an one time error, most probably I did something wrong.
Requested resource not found - Even if you don't use any account customizations, you need to provision this component and point account_customizations_name to it (default is sandbox).


[BUG] Lightning Terminal 0.7 working, but lncli shows lnd 0.14.3

Describe the bug
Upgraded lightning terminal to the latest version 0.7.0-alpha which includes lnd v0.15.0, but various tools show my lnd version as v0.14.3
"litd --lnd.version" returns
litd version 0.15.0-beta commit=lightning-terminal-v0.7.0-alpha
but "lncli getinfo" returns
`
{
"version": "0.14.3-beta commit=v0.14.3-beta",
.
.
.
}
`
RTL shows the same in Node/Network > Node Information > Implementation
Location in guide
Upgraded according to the lit guide
Expected behavior
"lncli getifo" to return same version as "litd --lnd.version"
Environment

Hardware platform: Raspberry Pi 4
Operating system: Raspberry Pi OS Lite (64-bit)
Version: Debian GNU/Linux 11 (bullseye)

Additional context
Not sure if this is a bug or I missed a step somewhere.
Both lit and RTL function correctly...

Embarrassingly I haven't realized I was running LND in remote mode...
@ellemouton kindly explained it to me in here


R packages to install

from: https://github.com/bi-sdal/mro-ldap-ssh-c7/issues/2
GGally
glmnet
useful
coefplot
rpart.plot
randomForest
RJSONIO
PKI
packrat
rsconnect

done.


removing repeated world from leaflet

fix #359, the leaflet map will display grey area outside the world extent.

that's still not right, it must default zoom to South Africa and it can fill the map view

@gubuntu  it defaults to south Africa and it fills the map view, this is the zoomed-out version of things, @ThiashaV referred to that once you zoomed out the world repeated itself three times, that is prevented here

I think we shouldn't even allow zooming out beyond SA


Color output unreadable in terminal with light background.

Hello,
Unfortunately output is hardly readable in terminal with light background, is it possible don't use color at all or just leave "background" for all lines?

Thanks,
Stan

Thanks for pointing out, will introduce color change for light theme


Title the Score and enhance its visual appeal.

At present, the score is displayed solely on the right side without any accompanying label. To enhance clarity, consider incorporating a descriptive label alongside the score. Additionally, make subtle adjustments to enhance the overall visual appeal.

May I take this one? I was originally looking at the collisions, but I see someone else has asked to look at that one.


[core] raylib.h clashes with Windows.h

Issue description
When including windows.h alongside with raylib.h there are function clashes because of no namespacing in raylib. This happens with other libraries too (e.g. eigen with Matrix)
Code Example
Easy enough to reproduce with the following code in windows
#include <Windows.h>
#include <raylib.h>

I didn't even need to include a Windows Library by myself. When i tried to build the example Project in Windows using CMake just a few Minutes ago the same error occured.

which example project ?
I've built raylib many times on MS Windows 10 and mingw64-w64 version  x86_64-7.3.0-posix-seh-rt_v5-rev0
never had a problem

The one provided in the CMake Tutorial. When compiling MinGW tries to include winuser.h somewhere, with that include the function name clashes are raised.

Yes, windows.h symbol collisions is an known issue. Here it is a workaround: https://github.com/raysan5/raylib/issues/1217


installation problem

UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 1557: character maps to

You can look at this issue #1


Some defination in serialization.md may conflict with README.md?

According to the description [https://github.com/opencontainers/image-spec/blob/master/README.md#running-an-oci-image] in README.md

This entire workflow should support the UX that users have come to expect from container engines like Docker and rkt: primarily, the ability to run an image with no additional arguments:

docker run example.com/org/app:v1.0.0
rkt run example.com/org/app,version=v1.0.0
To support this UX the OCI Image Format contains sufficient information to launch the application on the target platform (e.g. command, arguments, environment variables, etc).

So the goal is to run an image with no additional arguments and the OCI Image Format will contains the sufficient information. But during reading the https://github.com/opencontainers/image-spec/blob/master/serialization.md#container-runconfig-field-descriptions , I found the the Config MAY be null

config struct
The execution parameters which should be used as a base when running a container using the image. This field can be null, in which case any execution parameters should be specified at creation of the container.

and also the Cmd and Entrypoint MAY be null

Entrypoint array of strings
A list of arguments to use as the command to execute when the container starts. This value acts as a default and is replaced by an entrypoint specified when creating a container. This field MAY be "null".
Cmd array of strings
Default arguments to the entrypoint of the container. These values act as defaults and are replaced with any specified when creating a container. If an Entrypoint value is not specified, then the first entry of the Cmd array should be interpreted as the executable to run. This field MAY be "null".

The config or  both Cmd and Entrypoit is null is not sufficient  to run a container with no additional arguments.
There does some images which Cmd and Entrypoint are null, we can't launch a container if we don't specified it on creation. So I think we should change the README.md or change the defination in serialization.md or I just misunderstand it? :)

Just because we should support that UX does not mean that every image MUST support that UX. For example there are Debian base images that don't really make sense to run.


BET 66 Module Status

This feature provides rudimentary tracking of the state of the NLP microservice modules.  During app startup, Webflux will create a new stream that hits the status endpoint of all registered NLP microservices.  If the request comes back successfully, the state gets set to IDLE.  Otherwise, it gets set to DOWN.  To reduce the number of change state notifications, these changes state updates only occur when the current state has changed from the previous state.  This routine is run on an interval currently set to 5 seconds.  This value can be changed in the application.properties.
There is a third state, BUSY, that the microservices can take on.  This is the case when the microservice is performing an NLP operation.  There is a job count field that is used to determine when the microservice is IDLE or BUSY.

@chrislong Your comments have been addressed.


feat: Add Multichain API to @metamask/multichain

Explanation
This PR updates @metamask/multichain to add method handlers and middleware specific to the new Multichain API and which can be shared across the extension & mobile clients. The package includes implementations for managing multichain sessions, handling multichain RPC methods, and integrating multichain functionalities into the MetaMask extension. Key features of this package include:

Method Handlers: Implementations of the new RPC method handlers like wallet_createSession, wallet_invokeMethod, wallet_revokeSession, and wallet_getSession.

These tools and utilities will be used in both clients (mobile + extension)'s multichain API implementations.
File Overview

packages/multichain/src/adapters/caip-permission-adapter-middleware.ts: Middleware for the EIP-1193 API that enforces a CAIP-25 permission for each request if that CAIP-25 permission was granted via wallet_createSession
packages/multichain/src/handlers/wallet-getSession.ts: Handlers for CAIP Multichain lifecycle methods except for wallet_createSession which seemed a little too platform specific to belong in a shared package currently
packages/multichain/src/middlewares/: Middleware for the Multichain API that helps facilitate concurrent eth subscriptions and for using @metamask/api-specs for method param validation for new CAIP Multichain methods
packages/multichain/src/scope/authorization.ts: Adds helpers that sort scopes based on if they are currently supported by the wallet (i.e. a network already exists the eip155 scope), if they could be supported by the wallet (i.e. the network does not already exist for the eip155 scope, but the dapp has provided EIP-3085 details for adding the network in the scopedProperties property of the wallet_createSession request), or if they cannot be served.
packages/multichain/src/scope/filter.ts: provides helpers used for the bucketing above in authorization.ts
<EMAIL_ADDRESS>Typedef for missing types in @metamask/eth-json-rpc-filters/subscriptionManager

References
Upstream: https://github.com/MetaMask/core/pull/4784
Downstream: None. This is the end.
Key Multichain API Standards implemented here:

CAIP-25 - wallet_creatSession
CAIP-27 - wallet_invokeMethod
CAIP-285 - wallet_revokeSession
CAIP-311 - wallet_sessionChanged
CAIP-312 - wallet_getSession

Open PR that uses this new package for exposing the multichain API in the extension: https://github.com/MetaMask/metamask-extension/pull/27782
Changelog
@metamask/multichain

ADDED: TODO

Checklist

[x] I've updated the test suite for new or updated code as appropriate
[x] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
[ ] I've highlighted breaking changes using the "BREAKING" category above as appropriate
[x] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

@metamaskbot publish-preview

CI green (minus Socket Security)

@metamaskbot publish-preview


very good alternative however...

it needs to open chrome to start farming points unlike the original one which doesn't need to
apart from that I have one suggestion is to hide the python prompt once the actual ui has loaded
It's great overall does the job done and nice UI

It shouldn't need to open the chrome window. May be a bug with the v0.3b release, so i will look into it.

okay, sorry I didn't download the latest version


Publish branch-specific containers

When I was working on #10, I had to manually publish a container (workflow_dispatch) for the Nextflow workflow to use every time I pushed a commit. This was annoying, so I want to automatically publish containers with every branch. It also resulted in a simpler workflow with fewer if conditions.
Depends on #10

I rebased this branch on main so I can merge it before #10. I also discovered docker/metadata-action here, and it's a much more elegant way of generating the list of tags as well as multi-deployment to Docker Hub and GHCR.io.

I just revamped this PR once again. I decided to merge both CI workflows for two reasons. First, I want to be able to use the exact same file that's tested and uploaded to PyPI in the container image. Second, I want to only publish a container image if the tests pass. While there are ways of setting up inter-workflow dependencies (e.g. workflow_run or workflow_call), the first reason pushed me to integrating everything together.

Merging so I can test the new workflow


Markdown headings generate trailing slash - can it be trimmed?

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
The following Markdown:
## My heading

Generates a link .
It would be nice if the trailing slash is trimmed.
Background: We want to add <AvailableFrom version="4.0.0"/> badges to our headings, but it makes the links ugly.
Reproducible demo
https://stackblitz.com/edit/github-qfmbcz?file=docs%2Fintro.md
Steps to reproduce
Open repro
Expected behavior
No trailing -
Actual behavior
Trailing -
Your environment

Public source code:
Public site URL:
Docusaurus version used:
Environment name and version (e.g. Chrome 89, Node.js 16.4):
Operating system and version (e.g. Ubuntu 20.04.2 LTS):

Self-service

[X] I'd be willing to fix this bug myself.

Agreed that trimming trailing - will look better

However, do we want to deviate from GitHub Markdown? I'm not sure.

I don't think GitHub / GFM computes any slug for headings so there's no real inspiration from GitHub to take here, apart that we already use the github-slugger npm package.
A workaround is to use explicit heading ids to override the default generated heading id.

In general, I wonder if there's not a better solution we could propose instead of using this:
## My heading <AvailableFrom version="4.0.0"/>

With MDX 2 the recommended way to declare explicit heading ids will be:
## My heading <AvailableFrom version="4.0.0"/> {/* headingId */}

@wooorm was wondering if you know any solution to declare multiple metadata for a single heading?
I assume it's preferable to keep using Markdown heading syntax for tooling compatibility, but wonder if there's a kind of the equivalent of directives for headings?
I'm thinking of something like this:
## My heading {level=2, id="my-heading", from="4.0.0"}

I don't think GitHub / GFM computes any slug for headings so there's no real inspiration from GitHub to take here, apart that we already use the github-slugger npm package.

Standalone Markdown files do have anchors generated for each heading, e.g. https://github.com/facebook/docusaurus#code-of-conduct

GitHub

GitHub definitely does compute slugs! e.g., https://github.com/facebook/docusaurus#installation (as Josh points out right now)

Standalone Markdown files

That’s the point for sticking with the common system:
a) so that the slug is the same for the file on GH as for rendered on your site
b) so that the slug is the same when working in VS code with autocompletion
c) etc

equivalent of directives

Directives are generic, you can map them to headings. ::Heading[*whatever*]{#id}. Which is equivalent to <Heading id="id">*whatever*</Heading>

Ah, thanks, only tried in comments but indeed markdown files have headers.
However, according to my tests headings seems to be slugified after being rendered and do not consider the markup as part of the heading: ## Installation xyz => #installation-xyz.
Wonder what's the behavior of rehypejs/rehype-slug for the case above, does it do exactly like GitHub?
(not super fan of our current implementation of ourTOC/headingId so open to change it if there's a better way)

Directives are generic, you can map them to headings. ::Heading[whatever]{#id}. Which is equivalent to whatever

Yes, I understand that, but in practice that seems not very convenient if IDEs and translation tools do not natively understand it's a heading 😅 I'd really prefer to keep using ## for level2 headings, and still be able to assign custom metadata.
Maybe an MDX comment can work although a bit verbose
My heading {/* {id="my-heading", from="4.0.0", new=true} */}

That’s the point for sticking with the common system:
a) so that the slug is the same for the file on GH as for rendered on your site
b) so that the slug is the same when working in VS code with autocompletion
c) etc

Yes definitively the goal here, just wondering what's the solution to have this:
## My heading <AvailableFrom version="4.0.0"/>

And have all those properties above.
If this can render well on GitHub UI that's also great 😄 .

Thanks for tracking down the source!
Will Docusaurus consider making an option? trimTrailingDashes that is opt-in?
If so, I'd consider making the PR.

after being rendered

To add some nuance: GitHub generates slugs on an HTML AST, based on “sort of” the textContent. That means if doesn’t see markdown escapes, ** for strong, or HTML tags, but does see “inside” escapes/strong/elements.
But, it doesn’t do that on the actual rendered DOM. That doesn’t matter for GitHub. But it does matter for MDX, which has components, that need to be evaluated, which would render to something else.
That is to say, the HTML AST would see Installation xyz for ## Installation xyz, but can’t see that for ## Installation <SomeComponent /> even though a human might see it on screen.

Wonder what's the behavior of rehypejs/rehype-slug for the case above, does it do exactly like GitHub?

Yes, it matches GitHub. But it can’t do things with evaluated components from MDX or so.

in practice that seems not very convenient if IDEs, GitHub and translation tools do not natively understand this directive as a heading

And that’s exactly the reason not to mess with slugs: other tools don’t understand your new slug syntax.

I would recommend, in MDX:
<MyFancyHeadingWrapper id="my-heading" from="4.0.0" new>
  ## My heading
</MyFancyHeadingWrapper>

Or, in markdown:

## My heading

Thanks for all those details @wooorm, <MyFancyHeadingWrapper> looks like a great solution.
We will inspect our code and look at what we do wrong. I don't think we align 100% with how GitHub generates slugs

Will Docusaurus consider making an option? trimTrailingDashes that is opt-in?

I don't think it's necessary @JonnyBurger, it looks like we are doing something wrong by default so we'd rather fix that in the first place. In the meantime, you can use an explicit id.

Why do you think you are doing something wrong? GH too turns ## My heading  -> my-heading-?

Why do you think you are doing something wrong? GH too turns ## My heading  -> my-heading-?

Ah you are right, I thought we had a different behavior but GH also has leading/trailing dashes for
## 🚀 New Feature

## My heading

Let's close it then, it's probably better to do nothing if we are already in sync with GitHub


[0.12.2] Tag value query performance problems

Querying tag values for a measurement is slow when there are a few hundred values.
The query below returns 140 results and takes 4.5 seconds when run from the InfluxDB Admin console.
Query:  SHOW TAG VALUES FROM "esf_events" WITH KEY = "client"
It doesn't seem like 140 tag values is a lot.  I'm using these queries to populate template variable lists in Grafana when a dashboard loads.  The long query times result in long delays in loading the dashboard.
If I use a where clause to filter the results, performance improves dramatically.  The following query takes 160ms and returns 55 results
Query:  SHOW TAG VALUES FROM "esf_events" WITH KEY = "client" where serviceKey = 'MEMBER_SERVICE'
Influx 12.2
Ubuntu 14.04.4 LTS

@dsw6 Can you attach the output of show stats and show diagnostics?

Attached:
showDiagnostics.txt
showStats.txt

To me it happens with a SHOW TAG query that returns just two results. Adding a WHERE clause that does not filter anything will not make it faster, while if I set the WHERE clause to filter and return just one result, then it returns instantaneously.

We have seen a similar problem as well. It appears that in 0.12.2 (possibly post 0.10) tags are stored in the default retention policy as a measurement (_tags). If you have a custom retention policy that is the default (which we had) and the data set in that retention policy is reasonably large, it apparently impacts the 'show tag values' response time .
We created another retention policy, made it the default and did not use it for our purposes. That seemed to help.

@srikara So you recommend to always use a non-default retention policy?

The SHOW TAG VALUES command was optimized and is present in all of the 1.0 beta versions. If there are still issues with this, please file a new issue so we can continue trying to make it faster. Thanks.


"STFL Parser Error near '}'" and aborts

Newsbeuter version (copy from newsbeuter -v):
newsbeuter 2.10-cc6a
System: Linux 4.9.0-rc8 (x86_64)
Compiler: g++ 6.2.1 20161124
ncurses: ncurses 6.0.20161126 (compiled with 6.0)
libcurl: libcurl/7.51.0 GnuTLS/3.5.7 zlib/1.2.8 libssh2/1.7.0 nghttp2/1.17.0 librtmp/2.3 (compiled with 7.51.0)
SQLite: 3.15.2 (compiled with 3.15.2)
libxml2: compiled with 2.9.4
Steps to reproduce the issue:

Add https://btrfs.wiki.kernel.org/index.php?title=Special:RecentChanges&feed=atom

Reload and open it

Open "Talk:Deduplication"

Other info you think is relevant:
backtrace.txt

Confirmed, thanks for reporting!

Apparently I broke it in 26522a9315d5ee47be0ae2783d32331178eaaa7e.

I believe this bug is fixed, but please check yourself.
You'll probably notice Newsbeuter doesn't display the table as nice as it could've; I filed #450 about that. Please subscribe there for updates (the button is in the toolbar on the right in "Notifications" area.)


chore: Fix typos in comments

Signed-off-by: Qingchuan Hao<EMAIL_ADDRESS>Found two typos while reading through cilium code, and the release note is not required I think.
Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Thanks for contributing!

Since this only fixes comment, it doesn't make sense to run tests. Let me make this ready to merge.


Consider switching docs with website

@Hardmath123 wants to swap the website with the README/docs (from https://github.com/Hardmath123/nearley/pull/254#issuecomment-320044984):

I propose something more radical: currently, the README is a behemoth of a tutorial/documentation/README crossover, while the webpage is what convinces you to use nearley. I think they should be swapped. The README should contain most of the contents of index.html (and some other stuff). /www should contain the docs, split up into chunks that make sense:

Tutorial
Using lexers
nearley on the front-end
Performance tips
etc.

There's probably a way to coax github into rendering those markdown documents into a nice self-contained webpage, perhaps with Jekyll or something.

I'm not convinced. I quite like the current arrangement: everything is Markdown files, easily viewed and accessible on GitHub.

I agree that Markdown is better. When reading docs, I don't want to leave GitHub. I can see how a pure documentation page can be less confusing for people not familiar with the GitHub interface (navbar, menus and such), but .md is so easy to change, and to read locally.
There're two good options: leave everything as is, or duplicate docs on both GitHub and on the website.
Frankly, I don't see the need for the website at all.

https://github.com/Hardmath123/nearley/commit/13befbb08ac439e4151d288bbf17ca4fc3957736 started the process for this. More work needed.

In #270 we're gonna add sidebar navigation to the site!


Do not pass --smart to pandoc

Building with pandoc 2.2.1 results in the following error:
"--smart/-S has been removed.  Use +smart or -smart extension instead.
For example: pandoc -f markdown+smart -t markdown-smart."
See: jgm/pandoc@6f8b967d98ea4270aa2492688fbcdfe8bad150b2
It should be okay to simply not pass --smart to pandoc because the smart
extension is enabled by default for markdown (both input and output):
https://pandoc.org/MANUAL.html#extension-smart

Looks like this is a "recent" addition to pandoc (it's on the 2.0 branch), whereas this whole doc-generation system was put together when 1.x was recent.  Looking at the current readme:

You will need version 1.12 or newer of pandoc, as it fixes some important bugs.

😆
I'll do a bit of testing against pandoc 2 and, if it's all good, increase the minimum requirement in the readme as well.
Thanks for this PR, and the other small ones I see you've made against this repo 👍  I'll be giving them a look.

@danielfernandez, do you think you'll have any time to try out pandoc 2 for the PDFs?  I've given it a go for the HTML and I'm happy with the differences that it introduces.  If anything, it does a better job in places, eg: we have this piece of markdown indented so it'll be a part of the bullet point, but currently it gets generated unindented:

With pandoc 2, that's corrected:

Unfortunately for me, PDFs still generate those random square characters, so I can't test with my machine 😕

Sure, let me first update the docs with these changes and also the new Japanese tutorials and I'll try. What would I need to do, just update Pandoc to the latest and run the scripts again?

For the record: this is what we currently have at the releases machine:
pandoc <IP_ADDRESS>
Compiled with texmath <IP_ADDRESS>, highlighting-kate 0.6.1.

Yep, update only pandoc to the latest version, remove the --smart argument from our build.gradle file like this PR does, and see if the PDFs still look good to you.
When I updated, I ended-up with:
pandoc 2.2.1
Compiled with pandoc-types <IP_ADDRESS>, texmath 0.11, skylighting 0.7.1

Now using:
pandoc 2.2.1
Compiled with pandoc-types <IP_ADDRESS>, texmath 0.11, skylighting <IP_ADDRESS>
Default user data directory: /home/releases/.pandoc
Copyright (C) 2006-2018 John MacFarlane
Web:  http://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.

All docs refreshed and republished. At first sight everything looks OK to me, but it would be great if you (@ultraq) could have a look at the tutorials to see if the changes you expected with the new pandoc version are there (apparently the articles suffered no changes with this rebuild)


add option to disable/customize default mappings

I for one find the q mapping particularly annoying. Let me state my case.

q is not a fast bind because you'll always have binds q: and q/. So you have to press q and wait a sec before it quicks in.
I use q/ a lot. inside a neoman buffer. I search a lot inside man buffers so I want to skim through previous search patterns. As neoman binds q to :q, I get screwed quite a lot.

I love your plugin by the way. Great work.

Already exists.
g:no_neoman_maps


SDK v 2.0 isn't supported

Hi!
Looks like Miro recently updated their SDK to version 2.0. And all new dice.io connections are not working (though it's working on my legacy SDK 1.0, but will be migrated automatically).
So, any plan to support the new version?

Thank you @nahuagawa for your feedback.
I will take a look as soon as possible to migrate to new Miro SDK.

Thanks for the quick response! Me. my gaming group and some other people are looking forward for the update!

@nahuagawa i have released a new version 0.6.0 which uses Miro web SDK v2.
Note in v2 SDK you cannot get username anymore (only user id). It affects nickname displayed in roll results.
I will monitor Miro SDK and update code when current username available again.
Can you test new version and tell me if it works for you ?

Hey! Thanks a lot, appreciate such a fast fix.
Is this change backward compatible? I mean, if I will update the app and will stay on older SDK version - will the app work?

@nahuagawa no the new version is not backward compatible. During my tests, the previous SDK v1 was not working anymore, so i dropped it. (the bottom bar has been removed from all my boards)

Got it, thanks for clarification!

I have posted the issue on Miro forum, maybe i will get some solution to display user name with roll result.

Hi!
It looks like the app isn't working again with SDK v.2 . My old SDK v.1 installment works as before, though all new teams are unable to add the app.

That's strange, i can still use it on my board :

Please double check you are using the lastest version (0.6+). The installation documentation was also updated.

Hi! You were right, the problem was in the app installment. Sorry for disturbing you.
Anyway, thanks for the response, and thanks for such a great tool for my games,


Add sidebar accessibility

@BogdanBilonog 2.20 is released - update and merge!

Moved to https://github.com/aol-public/OneMobileSDK-playground-ios/pull/53


Envoy Unable to Cache the Response from Upstream Service

I am trying to Cache the response coming from upstream client in envoy using FileSystemCache in Envoy v1.29.2 but envoy is not caching the response.
Upstream client is not returning the cache-control header so i have written following lua script in order to add Cache-Control header in response header.
name:
envoy.filters.http.cache
typed_config:
"type": type-googleapis.com/envoy.extensions.filters.http.cache.v3.CacheConfig
typed_config:
"type": type.googleapis.com/envoy.extensions.http.cache.file_system_http_cache.v3.FileSystemHttpCacheConfig
manager_config:
thread_pool:
thread_count:
20
cache_path: /app1
name: envoy.filters.http.lua
typed_config:
"type": type-googleapis.com/envoy.extensions.filters.http.lua.v3. Lua
default_source_code:
inline_string: I

Called on the response path.
function envoy_on_response(response_handle)
print( response_handle:headers(): get("x-envoy-upstream-service-time"))
response_handle: headers(): replace( "cache-control", "max-age=3600')
end

I have added lua script filter after the cache filter in http_filters path so that in response path lua filter add the cache-control header first and then cache filter execute.
I noticed when I hit any route configured to return direct response back from envoy, caching works fine, but when I hit a route which receives the response from Upstream client then caching doesn't work.

Close this one, since it duplicates with https://github.com/envoyproxy/envoy/issues/33267


Fix required for NGO's registration page

Data is not collecting to the firebase.
Showing a toast in the app saying "The email address is badly formatted"

https://user-images.githubusercontent.com/77063438/191573160-5f7a2cf1-7e7d-4899-b0c4-994ff8d2b5e6.mp4

Hi 😊,
I want to work on this

Ok, please let me know if you don't understand the bug

Yup, I understood the bug

Fixed the issue problem with the null safety just added null safety asser
https://user-images.githubusercontent.com/77063438/193323633-63b09852-5aa4-4ab2-b7dc-5a996b07a1cd.mp4
tion for the data(s)


Small improvements and ideas

While playing with connaisseur I found some small issues, whose are not really bugs, but still should be improved at my opinion.

Alerting mechanism produces a lot of pythonic exceptions in the logs, causes a noise. Please allow disable alerts, they should not be enabled by default.
When I define validator with auth.secret_name it tries to create a Kubernetes volume which name include validator name. In your default values file those names use underscores, whose results in invalid volume names. Please replace them dynamically in the chart by dashes or change values inside the values.yaml to avoid this issue.
In default chart installation you use default validator for ".". Default validator, as I think is bad practice. Explicit is better then implicit. Especially in security focused solution. Especially if same functionality can be received by adding one more line with validator reference. But this this arguable. I would use allow validator here with additional comment for users to replace it to deny when tested. In this case you dont need detectionMode feature at all.
Default validator is unusable out of the box, because there are not default root key. It leads to this exception: denied the request: Trust root "default" not configured for validator "default".\n"}.
Controller logs are not very informative. I would assume to get clear information if my image was approved or denied, which validator it matches and so on. Now it is not always clear from context. For example, following message is confusing: "automatic child approval for". Why it was approved? What validator approved it?
Especially, if I use detectionMode, it produces event less logs, hard to understand if images were approved or not.
Try to check if for each pod signature information can be added to kubectl describe events log. It will allow to track validation procedure from within the pod events.
You define ImagePolicy CRD to set up rules. Please think on define additional Validator CRD. The idea is that adding new validator require restart of all the controllers to apply configuration, while adding new policy is dynamic.

Anyway, I believe connaisseur is a great tool, which has big potential to replace other solutions. It's biggest feature is cosign support. There are not really alternative tools making what connaisseur is doing using cosign. At my opinion, you should focus on cosign support as main feature and make it usable from a box. It took me couple of days to reverse engineer the solution to feet company's needs.
Thanks you.

@jackalsh thanks for the awesome feedback :pray:  Such input is very valuable to improve Connaisseur and we always try to include it in next developments!
Some notes on the points you mention:

Point 1: I created a separate issue to drop alerting logs in case it is not configured: #249
Point 2: I noticed that before and if I understand you correctly, it should be covered in #180
Point 3&4: We had longer discussions on these points and tried to find the best solution from a usability point of view while making sure that it is secure by default, i.e. no non-validated image is accepted per default. However, your feedback here is very valuable and we might re-discuss the defaults.
Point 5&6: I created to a ticket to improve the logs: #250.
Point 7: What do you mean by adding to the pod events log? Should approval/denial be added to connaisseur's event log (I am not certain if that is the right place)? Or should that be added to the events of the approved pod? Would be great if you could provide a dummy example.
Point 8: That seems like an interesting point to tackle. It is partly covered in #181 . I also created #251

From a focus point of view, we will continue to support notary, but as that is unlikely to change much, I expect most future features to be focused on improving integration with cosign-based signatures. We already have a couple of tickets open in that direction and are currently trying to see what is the first topic to pick up. There is for example:

#140
#141
#199
#201

Which additional features would you see? Which feature would you consider most useful to your case?
Many thanks again for taking the time to provide feedback :pray: also, always feel free to open a PR directly in case you have built any improvement that you might want to share.
I might move this issue to our GitHub discussions within the next few days, as it cannot be directly tackled by a PR directly and created concrete issues for each point you mentioned :slightly_smiling_face:


Vertex attributes not updating in Mesh Viewer after vkCmdSetVertexInputEXT calls

Description
Renderdoc does not take into account vertex attributes updated via vkCmdSetVertexInputEXT.
The Pipeline state and Mesh Viewer seem to continue using the attribute data found in the graphics pipeline create info instead.
This causes the VS Input and the VS In/VS Out mesh renders to display in the format specified by the pipeline, rather than what was updated by vkCmdSetVertexInputEXT.

Non-Dynamic Vertex Input
Dynamic Vertex Input

Steps to reproduce

This was detected in yuzu Emulator. The following captures are of the open-sourced es2gears homebrew port running in-emulator.
RenderDoc es2gears Vertex Input Captures
es2_gears.rdc shows the correct values for the vertex attributes, as it does not use vkCmdSetVertexInputEXT
es2_gears_dynamic_vertex_input.rdc makes use of vkCmdSetVertexInputEXT, and has the incorrect format for the vertex attributes, and subsequently incorrect mesh viewer renders of the geometry. This capture is instead expected to present the same information as the previous capture.
Environment

RenderDoc version: RenderDoc_2022_03_20_7a29e6a6_64
Operating System: Windows 10
Graphics API: Vulkan
Graphics Device: RTX 3070
Driver Version: 511.79

Thank you for the clear repro case. Looks like a few bits of code hadn't properly been updated to pull the vertex input from dynamic state tracking (which is filled out from the pipeline when the dynamic extension isn't used). That commit updates it and should handle those cases properly.

Thank you for very promptly looking into this! I've pulled down the source and can confirm it working as intended now.


Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

The volume ./jenkins_home_on_host/ mounted on the host was created by the root user and it is not accessible to others

Change owner: sudo chown -R 1000:1000 ./jenkins_home_on_host


Uncaught RangeError: Maximum call stack size exceeded

Hey there. I always get this error when opening a specific file. This really stops me from using this awesome plugin :-(
[Enter steps to reproduce below:]

clone git@github.com:rommsen/elm-bookkeeping.git
open https://github.com/rommsen/elm-bookkeeping/blob/master/src/elm/Members/View.elm in atom

Atom Version: 1.12.7
Electron Version: 1.3.13
System: Linux Mint
Thrown From: elmjutsu package, v2.11.1
Stack Trace
Uncaught RangeError: Maximum call stack size exceeded
At /home/roman/.atom/packages/elmjutsu/elm/indexer.js:5079

RangeError: Maximum call stack size exceeded
    at up (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5079:16)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5166:14)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:5181:10)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:6947:14)
    at A5 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:110:11)
    at _user$project$Indexer$getRecordTipeParts (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7022:10)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7663:9
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7652:16
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2239:11)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.foldr [as func] (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:1972:9)
    at A3 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:98:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2233:10)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:2337:4)
    at A2 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:92:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7648:14
    at Function.func (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:7696:5)
    at A4 (/home/roman/.atom/packages/elmjutsu/elm/indexer.js:104:11)
    at /home/roman/.atom/packages/elmjutsu/elm/indexer.js:7691:70

Commands
 17x -3:05.9.0 blur (div.settings-view.pane-item)

Config
{
  "core": {
    "telemetryConsent": "no"
  },
  "elmjutsu": {
    "autocompleteEnabled": true,
    "autocompleteSnippetsEnabled": true,
    "cacheDirectory": "/tmp/elmjutsu156701HxK7CsBdcC",
    "hyperclickEnabled": true,
    "showSidekick": true
  }
}

Installed Packages
# User
elm-format, v2.1.0 (active)
elmjutsu, v2.11.1 (active)
html-to-elm, v0.2.0 (inactive)
hyperclick, v0.0.39 (active)
intellij-idea-keymap, v0.2.3 (active)
language-elm, v1.5.0 (active)
linter, v1.11.18 (active)
linter-elm-make, v0.18.1 (active)
open-recent, v5.0.0 (active)
react, v0.16.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (active)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (active)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages

Your specific case should be resolved already, but it's still possible to get "Maximum call stack size exceeded" if there's an infinite type (recursive type alias).  Will solve that in the future :smiley:

Yes I already tested it. Looks good. Thanks for the quick fix :+1:

Hi, the latest version (v2.12.1) should no longer crash on recursive type aliases.


Fix aggregate queries and time precision on where clauses.

[cherry-picked from 0.9.2]

Fix aggregate queries with where time clause and no group by
Fix time range parsing on queries to use nanosecond offset with where time GT and LT
Fix string representation of times from AST to use RFC3339Nano

lgtm, :ship:


Convert HRIA .DOC files to PDF and upload to Arches

Some images are of type .doc. Should convert and upload to system after MVP.

@bferguso do you have these files?

No, I don't have them. They would be in HRIA or on your local drives.


Prevent crash in runAnimationStep on OnePlus and Oppo devices

Summary:
We've been encountering a crash in runAnimationStep with "Calculated frame index should never be lower than 0" #35766 with OnePlus/Oppo devices as well, but don't have one on hand to test.
This just works around the issue: if the time is before the start time of an animation, we shouldn't do anything anyways, so we just log a message instead of throwing while in production. We still throw in debug mode though for easier debugging.
Hypothesis of the root cause
Based on stacktrace in #35766 (which is the same one we see)
Normally, this should happen

Choreographer.java constructs a FrameDisplayEventReceiver
FrameDisplayEventReceiver.onVSync gets called, which sets the mTimestampNanos
FrameDisplayEventReceiver.run gets called, which then eventually calls our doFrame callback with mTimestampNanos. This then causes FrameBasedAnimationDriver.runAnimationStep to be called with the same timestamp

I suspect what's happening on OnePlus devices is that the onVSync call either doesn't happen or happens rarely enough that the mTimestampNanos when run is called is sometime in the past
Fix

Add logging so we get the parameters to debug more if we end up getting this error
In production, just ignore past times instead of throwing an Error

Changelog:
Pick one each for the category and type tags:
[ANDROID] [FIXED] - Prevent crash on OnePlus/Oppo devices in runAnimationStep
Test Plan:
Ran our app using patched version and verified no issues showed up when using it

We're going to test it in production for a few days and see if it eliminates the issues, so feel free to hold off on the merging until then.

We're going to test it in production for a few days and see if it eliminates the issues, so feel free to hold off on the merging until then.

Great, let us know if you have any feedback.
Also consider that this .java file is precompiled on React Native so you can't just edit it inside node_modules as it won't have any effect.

@cortinico we shipped this on Saturday to 100% of our users and the crashes seem to have stopped without any new introduced crashes. This should be good to go!

Can this be hot-fixed? Currently, the react native version used in our project is 0.71.3. If upgrade to the latest version, in order to ensure that there are no problems, a lot of testing is required.

You can request hotfixes in the various discussions here: https://github.com/reactwg/react-native-releases/

Is it possible to release this fix, because our app has 400 to 500 crashes per day, which is very unfriendly to users

Will this fix be released for old react native versions as well like v0.67? Or do we have to patch this ourselves?

@cortinico Do we plan to rollout this fix soon? Can you please help?

Will this fix be released for old react native versions as well like v0.67? Or do we have to patch this ourselves?

@nikit-psl  Nope this change won't be rolled out to version outside the release policy.

Do we plan to rollout this fix soon? Can you please help?

@malikzype as I already mentioned, please go to the reactwg/react-native-releases and ask for a point release for the version you're using with this specific patch

Please add it to 0.71.x

@onmotion this would be the place to ask for it on 0.71.x: https://github.com/reactwg/react-native-releases/discussions/70

@hsource  Is this fix there in v0.71.10?

@hsource Is this fix there in v0.71.10?

@anitta-keyvalue It will not. However it has been requested by @onmotion to be released on v.0.71.11

@anitta-keyvalue we just released 0.71.11 with the fix

@kelset Can we please plan a fix for version 0.69.11 as well? This is causing more than 1k crashes every day on our end.

Hey, I have upgraded to RN 0.72.0, which is the latest version, but still seeing the same crash on oneplus and vivo devices, mentioned in #35766 , it should be fixed in latest RN versions, right?

Facing the same issues on react native 0.72.0
Please help

See the other issue, the commit has not been picked for 0.72.1, but it will be included in 0.72.2

Awesome work by @hsource on this. Really appreciate it.
We've been seeing a lot of crashes for our users due to this.
I would really appreciate it if someone can help me with the steps to include this patch in my current react-native version of 0.69.8. I understand I need to build this source for my app to pick up the changes I do locally in the file.
But I'm unsure as to what the exact steps would be.
All I need is to just simply include this patch : https://github.com/facebook/react-native/commit/c05d822f7daa92e8af2ec2cd97a9897425624cc2 in my current react native app.
Thanks in advance!

Hi @aditya-keri-betterhalf have you tried going through these steps?

Hi @cipolleschi
Thanks for getting back to me on this.
I've tried the steps from the provided link. And this is what I've added to my android/settings.gradle :
rootProject.name = 'ExampleApp'
include ':@react-native-community_netinfo'
project(':@react-native-community_netinfo').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/netinfo/android')
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'
includeBuild('../node_modules/react-native-gradle-plugin')

// This is what I've added
 includeBuild('../node_modules/react-native') {
     dependencySubstitution {
         substitute(module("com.facebook.react:react-android")).using(project(":packages:react-native:ReactAndroid"))
         substitute(module("com.facebook.react:react-native")).using(project(":packages:react-native:ReactAndroid"))
         substitute(module("com.facebook.react:hermes-android")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
         substitute(module("com.facebook.react:hermes-engine")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
     }
 }

// This is already present.
if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
    include(":ReactAndroid")
    project(":ReactAndroid").projectDir = file('../node_modules/react-native/ReactAndroid')
    include(":ReactAndroid:hermes-engine")
    project(":ReactAndroid:hermes-engine").projectDir = file('../node_modules/react-native/ReactAndroid/hermes-engine')
}

Error I get is :
* Exception is:
java.lang.IllegalArgumentException: Project with path ':packages:react-native:ReactAndroid' not found in build 'react-native'.

Note : We are on react-native 0.69.8

@aditya-keri-betterhalf I pretty strongly recommend you just upgrade. The process of building a new release JAR is pretty hard, and it's better to avoid it unless you're creating and testing your own patches.

Edit /ReactAndroid/publish.gradle to create a target to publish Java JARs to a private Maven-like repository (instructions for Gitlab)
Edit /build.gradle.kts to create a new publishAllToX task next to publishAllToSonatype
Update the version number in package.json and ReactAndroid/gradle.properties; make sure they match
Build the app's JAR and upload to your repository: ./gradlew publishAllToX
Change .gitignore to not exclude hermesc
Create a script to build hermesc and run it as part of your build process

const path = require('path');
const fs = require('fs');
const { downloadHermesSourceTarball, expandHermesSourceTarball } = require('./hermes/hermes-utils');
const { cp } = require('shelljs');
const { generateiOSArtifacts } = require('./release-utils');

/**
 * Much of this code is copied from test-e2e-local.js
 *
 * The main goal is to build hermesc so it can be checked in to our built
 * version.
 */
async function buildIosArtifacts() {
  const repoRoot = path.join(__dirname, '..');
  const jsiFolder = `${repoRoot}/ReactCommon/jsi`;
  const hermesCoreSourceFolder = `${repoRoot}/sdks/hermes`;

  if (!fs.existsSync(hermesCoreSourceFolder)) {
    console.info('The Hermes source folder is missing. Downloading...');
    downloadHermesSourceTarball();
    expandHermesSourceTarball();
  }

  // need to move the scripts inside the local hermes cloned folder
  // cp sdks/hermes-engine/utils/*.sh <your_hermes_checkout>/utils/.
  cp(
    `${repoRoot}/sdks/hermes-engine/utils/*.sh`,
    `${repoRoot}/sdks/hermes/utils/.`,
  );

  // the android ones get set into /private/tmp/maven-local
  const localMavenPath = '/private/tmp/maven-local';
  const buildTypeiOSArtifacts = 'Release';

  generateiOSArtifacts(
    jsiFolder,
    hermesCoreSourceFolder,
    buildTypeiOSArtifacts,
    localMavenPath,
  );

  // Copy the built hermesc into the correct destination. We only build and copy
  // osx since that's the only platform we currently build the app on.
  //
  // We figured out `osxBinDir` by looking at the directory structure of React
  // Native installed from npm.
  const osxBinDir = `${repoRoot}/sdks/hermesc/osx-bin`;
  await fs.promises.mkdir(osxBinDir, { recursive: true });
  cp(`${repoRoot}/sdks/hermes/build_macosx/bin/hermesc`, osxBinDir);
}

buildIosArtifacts();

Publish a branch/tag on Github with the modified code and hermesc


"Add Cluster", create etcd contaioner always fail

[etcd] Failed to bring up Etcd Plane: Failed to start [etcd] container on host [<IP_ADDRESS>]: Error response from daemon: error while creating mount source path '/var/lib/etcd': mkdir /var/lib/etcd: read-only file system

Useful
Info

Versions
Rancher v2.2.3 UI: v2.2.41

Route
authenticated.prefs

This is usually caused by either:

Using snap to install Docker which has a bug related to this (should use upstream Docker)
It is actually mounted read only (probably on /var) and need to be relocated (https://rancher.com/docs/rancher/v2.x/en/installation/options/etcd/) or made read-write.

I had the same issue when installing docker from the ubuntu installer; it uses snap.
I needed to install docker with apt.


fix(ProcFile): get procfile from the slug if it is not provided

fixes https://github.com/deis/builder/issues/213

@kmala is this ready for review?

@arschles yes.
I have to add an e2e test to test this scenario which i am currently doing.

@kmala code lgtm. Also, note that I've removed the in progress label because it was confusing before.

Thanks @arschles .Can you also review the corresponding changes in the builder https://github.com/deis/builder/pull/239

@kmala yes, I'll look now

@kmala I've added the beta milestone to this PR since #213 is under beta.

I tested this with deis/builder#239 and example-perl as described in the original bug. Works great now.


Client unable to handle sudden loss of host

https://github.com/FailedIndustry/Industrial-Failure/commit/9cdcd8b320ad638d2e8d1db5101ba8444e0bc7a9 - fixed commit


chore: fix typo

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

2. What is the scope of this PR (e.g. component or file name):
kclvm/tools/src/LSP/src/state.rs

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[x] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[ ] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[x] Other

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
55707

Relevant Lines:
78104

💛  - Coveralls


Import CSS deps into package map

This PR proposes to implement registration of CSS assets within R packages via the package map.
Previously, importing via external_stylesheets and assets was supported, and in-package CSS loading was incompletely supported.
Partly addresses https://github.com/plotly/dashR/issues/91.

💃 One more down ✅

:pray:


Upgrade rubocop requirement to 1.30.0

Motivation
From version 0.0.4, formatting uses --autocorrect for RuboCop. This was added in RuboCop 1.30.0 (https://github.com/rubocop/rubocop/pull/10547). Therefore, textDocument/formatting will not work with RuboCop versions less than 1.30.0.
Implementation
Upgraded requirement version in gemspec.
Automated Tests
I think it is not needed to add test. CI has been passed with RuboCop 1.30.1.
Manual Tests
There is no change in behavior.

Hey @mihyaeru21 thanks for the PR, it helped us debug https://github.com/Shopify/ruby-lsp/issues/146 tremendously!
And after discussion, we decided to rollback the Rubocop flag to --auto-correct (PR: https://github.com/Shopify/ruby-lsp/pull/149). We're aware of the deprecation warning but we think it's a good tradeoff for supporting more users. Therefore, I'm closing this PR now. Thanks again 😄

Hey @mihyaeru21 thanks for the PR, it helped us debug https://github.com/Shopify/ruby-lsp/issues/146 tremendously!
And after discussion, we decided to rollback the Rubocop flag to --auto-correct (PR: https://github.com/Shopify/ruby-lsp/pull/149). We're aware of the deprecation warning but we think it's a good tradeoff for supporting more users. Therefore, I'm closing this PR now. Thanks again 😄


Genes include source in description

Is this intended @sunnyosun ? I think it clutters the description and makes it very hard to search for something when comparing against the description field

https://github.com/laminlabs/bionty-assets/commit/ff351a8ae0aad29de597225b866908a8c6e8172b
Uploaded to S3


Subtexture and Bitmap fixes

Fix infinite recursion/stack overflow with Subtexture constructor, the constructor was calling itself and blowing the stack.
Fix bitmap not resizing properly. ResizeAndClear was not actually resizing the bitmap if size was different.

I guess i never actually used that constructor even once...
It also seems i broke the bitmap resize just yesterday... though i think the correct fix there would actually be if (!buffered && (Width != width || Height != height || Pixels == null) || width * height > Pixels.Count). I made some follow-up changes, mostly for keeping things consistent. I hope that doesn't break anything again.
Thanks for finding and fixing those!


Update getting_started.rst

This step took me a long time to guess/figure out.

I agree, this is covered in the Django documentation already: https://docs.djangoproject.com/es/1.9/ref/contrib/admin/#modeladmin-objects


US 03.01.01

As a doer, I want to be uniquely identifiable in the system.

The first time the user uses the app, they will be prompted to either log in with an existing id or to create a new one, this id will be saved in firestore along with the details of their habits and habit events
The user should be able to see which profile they are in
Be able to switch accounts
Information is saved between logins

The Sign in/Sign up features work, they can add to the database however they are lacking the ability to verify the user exists and the habits are not attached to a user


Warsong Balance Changes

Currently, warsong roster is generally seen as weak and only heroes, elite squad and azerite engines are favoured. Horde was seen as weak even when grom mistakenly started at level 8, which goes to show how far they are behind now.
We should buff warsong remaining roster so they have more options and feel good to match up against NE team.
Units to look at:

Blademasters
Raiders
Axethrowers
Potentially casters, so warsong isn't SO reliant on fighting alongside Frostwolf for sustain. This would also begin to address some gripes about FW being "support faction" only.

Note that we'll probably do this in a minor version following the lumber removal version (it stays in the Next column, as a minor version is still part of the same overarching major version).

Can we keep this open for now, would like some feedback from players to see if the changes made are enough or more are needed. Although could just do a new ticket too if that is preferable?

Can we keep this open for now, would like some feedback from players to see if the changes made are enough or more are needed. Although could just do a new ticket too if that is preferable?

No, we should restrict Issues to things that can be completed through our own action rather than relying on external forces.
For your purposes I recommend opening a post in player-feedback on Discord. I did the same thing with plague removal and lumber removal.


Throw error if 0 or more contract offers were found for the same asset

Is your feature request related to a problem? Please describe.
If the api-wrapper get called with an Asset for which at the provider connector multiple ContractOffers exists we currently just pick the first one. But we can't decide which ContractOffer would be the correct one to use!
Describe the solution you'd like
We should throw an error message. We can combine this directly with the problem if no ContractOffer could be found for this asset.
Possible error message: 0 or multiple contract offers found for the asset.
Additional context
Was discussed with @stefan-ettl @dr-markus and some other guys within the appointment "Wrapper verortung" today.

Can you assign this to me? I would like to work on this?

@harivamsi9 Thank you! :-)


Developer setup CMake GUI/Command line instructions are not working

User on the forums and @nithinp7 confirmed that there is an issue preventing users from building Cesium Native when trying to complete the developer setup via the CMake GUI (and probably CMake command line) instructions.
It looks like the cmakepredefinedtargets folder is not being created.
Developer setup should be tested and revised if needed.

I have been trying to get the Cesium plugin working in Unreal 5 on Mac without much luck. The normal plugin installation method through the launcher did not work for me. I investigated further and it seems that a user has to make for OSX but I wasn't successful. Any guidance on how to create a Cesium Unreal project on my mac is appreciated.
I have been unable to build the Unreal Plugin on Mac OS X using the following instructions:

https://github.com/CesiumGS/cesium-unreal/blob/ue5-main/Documentation/developer-setup-osx.md

When running
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release

Seems the first error is related to needing a dependency:
-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found version "")

And the next two errors seem to be related to a makelist:
CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:685 (add_subdirectory):
  add_subdirectory given source "tools" which is not an existing directory.

CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:689 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

Full output below:
➜  extern git:(ue5-main) cmake -B build -S .

CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:689 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

-- ===========================================================================
--
-- Configuration
--   Prefix ............... /Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/../Source/ThirdParty
--   Shared libraries ..... OFF
--   Code for char * ...... ON
--   Code for wchar_t * ... ON
--   Tools ................ OFF
--   Test suite ........... OFF
--   Documentation ........ OFF
--
-- Continue with
--   make
--   make test
--   sudo make install
--
-- ===========================================================================
-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:8 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:9 (cmake_policy):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:11 (cmake_policy):
  The OLD behavior for policy CMP0063 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Warning (dev) at cesium-native/extern/tinyxml2/CMakeLists.txt:14 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    PROJECT_VERSION
    PROJECT_VERSION_MAJOR
    PROJECT_VERSION_MINOR
    PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Build spdlog: 1.8.1
-- Build type: Release
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring incomplete, errors occurred!
See also "/Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/build/CMakeFiles/CMakeOutput.log".
See also "/Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/build/CMakeFiles/CMakeError.log".
➜  extern git:(ue5-main) cmake --build build --target install
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'.  Stop.
➜  extern git:(ue5-main)

I have been trying to get the Cesium plugin working in Unreal 5 on Mac without much luck. The normal plugin installation method through the launcher did not work for me. I investigated further and it seems that a user has to make for OSX but I wasn't successful. Any guidance on how to create a Cesium Unreal project on my mac is appreciated.
I have been unable to build the Unreal Plugin on Mac OS X using the following instructions:

https://github.com/CesiumGS/cesium-unreal/blob/ue5-main/Documentation/developer-setup-osx.md

When running
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release

Seems the first error is related to needing a dependency:
-- Could NOT find Vulkan (missing: Vulkan_LIBRARY Vulkan_INCLUDE_DIR) (found version "")

And the next two errors seem to be related to a makelist:
CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:685 (add_subdirectory):
  add_subdirectory given source "tools" which is not an existing directory.

CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:689 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

Full output below:
➜  extern git:(ue5-main) cmake -B build -S .

CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:689 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

-- ===========================================================================
--
-- Configuration
--   Prefix ............... /Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/../Source/ThirdParty
--   Shared libraries ..... OFF
--   Code for char * ...... ON
--   Code for wchar_t * ... ON
--   Tools ................ OFF
--   Test suite ........... OFF
--   Documentation ........ OFF
--
-- Continue with
--   make
--   make test
--   sudo make install
--
-- ===========================================================================
-- Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:8 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:9 (cmake_policy):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at cesium-native/extern/tinyxml2/CMakeLists.txt:11 (cmake_policy):
  The OLD behavior for policy CMP0063 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.

CMake Warning (dev) at cesium-native/extern/tinyxml2/CMakeLists.txt:14 (project):
  Policy CMP0048 is not set: project() command manages VERSION variables.
  Run "cmake --help-policy CMP0048" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  The following variable(s) would be set to empty:

    PROJECT_VERSION
    PROJECT_VERSION_MAJOR
    PROJECT_VERSION_MINOR
    PROJECT_VERSION_PATCH
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Build spdlog: 1.8.1
-- Build type: Release
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configuring incomplete, errors occurred!
See also "/Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/build/CMakeFiles/CMakeOutput.log".
See also "/Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/build/CMakeFiles/CMakeError.log".
➜  extern git:(ue5-main) cmake --build build --target install
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'.  Stop.
➜  extern git:(ue5-main)

@sparkyspider I think the Vulkan dependency isn't required by the CMake, so it will skip it in this case.  I'm unable to reproduce the other two errors:
CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:685 (add_subdirectory):
  add_subdirectory given source "tools" which is not an existing directory.

CMake Error at cesium-native/extern/KTX-Software/CMakeLists.txt:689 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

If possible, can you please check if there are two directories tools and tests in the cesium-unreal/extern/cesium-native/extern/KTX-Software?
Another thing to try is that after invoking cmake -B build -S . in the cesium-unreal/extern, there will be a build directory with CMakeCache.txt in there. Can you search for KTX_FEATURE_TOOLS:BOOL=ON in that file and modify it to KTX_FEATURE_TOOLS:BOOL=OFF, then invoke the cmake commad again? You may want to try the same with KTX_FEATURE_TESTS:BOOL=OFF

If those two directories doesn't exist, there is a good chance that the cesium-native may be corrupted somehow during the git cloning steps. If possible can you please remove the cesium-unreal directory and re-clone it again, and re-check if those two directories exist in the KTX-Software directory? I can see those directories on my Mac, but not sure why they don't exist on your side
For convenience, you can choose one of the commands below:
git clone --recursive https://github.com/CesiumGS/cesium-unreal.git

git clone https://github.com/CesiumGS/cesium-unreal.git
git submodule update --init --recursive

Hi @baothientran
It looks like you're right. Seems some of my dependencies are failing. I tried this a few times and it seems to stop at the same place:
Cloning into 'cesium-unreal'...
remote: Enumerating objects: 18631, done.
remote: Counting objects: 100% (1896/1896), done.
remote: Compressing objects: 100% (769/769), done.
remote: Total 18631 (delta 1097), reused 1863 (delta 1077), pack-reused 16735
Receiving objects: 100% (18631/18631), 48.37 MiB | 2.74 MiB/s, done.
Resolving deltas: 100% (11013/11013), done.
Submodule 'extern/MikkTSpace' (https://github.com/mmikk/MikkTSpace.git) registered for path 'extern/MikkTSpace'
Submodule 'extern/cesium-native' (https://github.com/CesiumGS/cesium-native.git) registered for path 'extern/cesium-native'
...
...
Cloning into '/Users/sparkyspider/dev/cesium-unreal-samples/Plugins/cesium-unreal/extern/cesium-native/extern/rapidjson/thirdparty/gtest'...
remote: Enumerating objects: 24344, done.
remote: Counting objects: 100% (9/9), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 24344 (delta 1), reused 5 (delta 1), pack-reused 24335
Receiving objects: 100% (24344/24344), 10.18 MiB | 2.62 MiB/s, done.
Resolving deltas: 100% (18013/18013), done.
Submodule path 'extern/cesium-native/extern/rapidjson/thirdparty/gtest': checked out 'ba96d0b1161f540656efdaed035b3c062b60e006'
Submodule path 'extern/cesium-native/extern/s2geometry': checked out '4ad31e9b9d4b25f0ddffa2061ac5a7d14edf7195'
Submodule path 'extern/cesium-native/extern/spdlog': checked out 'cbe9448650176797739dbab13961ef4c07f4290f'
Submodule path 'extern/cesium-native/extern/stb': checked out 'b42009b3b9d4ca35bc703f5310eedc74f584be58'
Submodule path 'extern/cesium-native/extern/tinyxml2': checked out '1aeb57d26bc303d5cfa1a9ff2a331df7ba278656'
Submodule path 'extern/cesium-native/extern/uriparser': checked out 'e8a338e0c65fd875a46067d711750e4c13e044e7'
Unable to checkout '94764c270d43d90e4e4cedee6248753296f874b3' in submodule path 'extern/cesium-native/extern/KTX-Software'
Failed to recurse into submodule path 'extern/cesium-native'

Note the last line. Ideas?

I just submitted a PR to solve the original problem described by this issue by updating the instructions:
https://github.com/CesiumGS/cesium-unreal/pull/843
That problem was on Windows and Visual Studio.
The posts since have been on macOS, and unfortunately I don't have a solution there. I guess I'd suggest checking for things like lack of disk space, an old git version, network configuration (e.g. a proxy) that prevents access to https git repos. In case it helps, the specific commit that the error message says it can't check out this one:
https://github.com/CesiumGS/KTX-Software/commit/94764c270d43d90e4e4cedee6248753296f874b3

I'm going to close this because I don't think there's any action on our side. But if you're still having trouble, please post to the community forum.

Hi @kring I found the issue. I needed git-lfs installed on my local machine to be able to clone the KTX-Software sub-dependency. It may be worth adding it to the dependency list here:
https://github.com/CesiumGS/cesium-unreal/blob/ue5-main/Documentation/developer-setup-osx.md

Good detective work @markemerge, thanks for letting us know! I wrote an issue to update the docs here:
https://github.com/CesiumGS/cesium-unreal/issues/852