create_disk fails on cloud_config directed deployment - Datastore matching?

I have a standalone (non-CF/PCF) BOSH deployment to handle various projects (concourse/prometheus).  In deploying prometheus, I've found that the deployment only wants to use the vcenter_ds value instead of the cloud-config AND it won't honor the regex matching.  This is during creation of the persistent disks.
Error: CPI error 'Bosh::Clouds::CloudError' with message 'No valid placement found for disks:
- Size: 1024, Target DS Pattern:VxRail-Virtual-SAN-Datastore-.*, Current Location: N/A

Possible placement options:
Datastores:

' in 'create_disk' CPI method

Attached are my cloud-config and bootstrap.  As you see, the cloud-config specifically references EXACT valid datastore names for the persistent disks, but the deploy is only using the one specified in the create-env (which should also work!).
If it looks like I'm over describing the disks, it is because I have tried literally 20-40 times to get a version that works.  The only way I have to get it to work is to deploy to the same vSphere cluster as the bosh director (AZ2 in the cloud config).
cloud-config.yml.txt
prometheus-deployed.yml.txt

What confuses me, according to the Docs and my experience  you most likely have an error in your cloud-config or director config.
In the AZ config, You set a datastore pattern and a persistent_datastore pattern, although both are not in the documentation. datastore_pattern and persistent_datastore_pattern both go into the CPI config. You add the Datastores to Disks but not to VMs (which can lead to problems.
Additionally you added the general CPI config into the cloud config, where it has no effect, as it belongs to the director that deploys.
Your networks seems wierd, the distributed port group in z1 is AZ1-vlan-17-IAAS-PCF-Infra and in z2 is vlan-17-IAAS-PCF-Infra. You sure that is right? Because in all setups I have seen the Port groups usually enumerate (If you get some wierd port errors, it would be a Port group misnaming)
My first guess would be, that it either is unable to place a VM into a datastore because your VMs have no ephemeral disk configuration (unless your CPI config is also in the director, in which case defining a datastore_pattern is a string there and it expects a regex matching a storage that is reachable from the cluster (check if the datastore is attached to the cluster). Alternatively the datastores are not reachable from the cluster. Can you check if you can manually start a VM in the desired cluster using one of the datastores you linked?

Apparently, I don't have a cpi-config:
[ jhoh@cvglppcfutl01 ~ ] $ bosh cpi-config
Using environment '<IP_ADDRESS>' as client 'admin'
No CPI config
Exit code 1
Where do I configure that?
All of these VMs get created in either AZ (Cluster).  The issue comes when persistent disk is being created (before it is attached).  The networking is correct.  We have a single VLAN across both clusters, but with different portgroup names.  They are just labels.  I will change the name in the second AZ - prepending 'AZ2-' to match the prepend of 'AZ1-'.
I'm really interested in how I update my CPI config.
@schmidtsv

You do not need the CPI config if you are using it. I was referring to the one in the Director manifest. (The one on the bosh vm, not in the cloud_provider section). Can you just either link me your create-env call with the variables in it (-the password) or take your create-env call, replace create-env with interpolate with the added option --path /instance_groups/name=bosh/properties/vcenter/datacenters/0/clusters and paste me the clusters that come out?

@schmidtsv
I could have sworn that I added the bootstrap script...oh well, here it is...
bosh create-env bosh-deployment/bosh.yml
--state=state.json
--vars-store bosh-utility-1/creds.yml
-o bosh-deployment/vsphere/cpi.yml
-o bosh-deployment/vsphere/resource-pool.yml
-o bosh-deployment/misc/dns.yml
-v director_name=utility-bosh-1
-v internal_ip=class-b.17.15
-v internal_gw=class-b.16.1
-v internal_dns=[class-b2.144.177,class-b3.144.17]
-v internal_cidr=class-b.16.0/22
-v network_name="vlan-17-IAAS-PCF-Infra"
-v vcenter_dc=cvg_iaas
-v vcenter_ds="VxRail-Virtual-SAN-Datastore-.*"
-v vcenter_ip=class-b.4.22
-v vcenter_user=
-v vcenter_password=
-v vcenter_templates=utility-1-templates
-v vcenter_vms=utility-1-vms
-v vcenter_disks=utility-1-disks
-v vcenter_rp=bosh-utility-1
-v vcenter_cluster=cvg_iaas_internal

Ok, your problem is simple. In the director manifest you only mention one cluster. For technical reasons BOSH wants you to add all clusters it can deploy to there. you try to deploy to a different cluster. One way to fix that is creating an ops file with that snippet and add it as ops file to the end of your command
`

type: replace
path: /instance_groups/name=bosh/properties/vcenter/datacenters/0/clusters
value:

cvg_iaas_internal:
resource_pool: bosh-utility-1
your second cluster with its resource pool (cannot look it up on this device)
`
Then deploy the director, and you should be able to deploy on both Cluster without all the data store clutter in the cloud-config

That works and makes sense when you describe it that way.  I'd much rather deploy bosh with a complete manifest instead of all those "-v" command line arguments.
Anyway, now it is failing:
Deployment state: 'state.json'

Started validating
  Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh'... Finished (00:00:00)
  Downloading release 'bosh-vsphere-cpi'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh-vsphere-cpi'... Finished (00:00:00)
  Validating cpi release... Finished (00:00:00)
  Validating deployment manifest... Finished (00:00:00)
  Downloading stemcell... Skipped [Found in local cache] (00:00:00)
  Validating stemcell... Finished (00:00:02)
Finished validating (00:00:04)

Started installing CPI
  Compiling package 'ruby-2.4-r3/8471dec5da9ecc321686b8990a5ad2cc84529254'... Finished (00:00:00)
  Compiling package 'vsphere_cpi/3049e51ead9d72268c1f6dfb5b471cbc7e2d6816'... Finished (00:00:00)
  Compiling package 'iso9660wrap/82cd03afdce1985db8c9d7dba5e5200bcc6b5aa8'... Finished (00:00:00)
  Installing packages... Finished (00:00:00)
  Rendering job templates... Finished (00:00:00)
  Installing job 'vsphere_cpi'... Finished (00:00:00)
Finished installing CPI (00:00:01)

Starting registry... Finished (00:00:00)
Uploading stemcell 'bosh-vsphere-esxi-ubuntu-trusty-go_agent/3468.21'... Skipped [Stemcell already uploaded] (00:00:00)

Started deploying
  Waiting for the agent on VM 'vm-8baa895f-1c30-4b93-a368-da1dca45ca97'... Finished (00:00:00)
  Stopping jobs on instance 'unknown/0'... Finished (00:00:00)
  Unmounting disk 'disk-b15c8465-ea45-4562-8822-ec5a14d86317'... Finished (00:00:01)
  Deleting VM 'vm-8baa895f-1c30-4b93-a368-da1dca45ca97'... Finished (00:00:10)
  Creating VM for instance 'bosh/0' from stemcell 'sc-98d32778-2acb-4899-af74-dc27c94c3047'... Finished (00:00:12)
  Waiting for the agent on VM 'vm-45f8a435-c10a-4544-a31e-665770120752' to be ready... Finished (00:00:27)
  Attaching disk 'disk-b15c8465-ea45-4562-8822-ec5a14d86317' to VM 'vm-45f8a435-c10a-4544-a31e-665770120752'... Finished (00:00:15)
  Rendering job templates... Failed (00:00:03)
Failed deploying (00:01:22)

Stopping registry... Finished (00:00:00)
Cleaning up rendered CPI jobs... Finished (00:00:00)

Deploying:
  Building state for instance 'bosh/0':
    Rendering job templates for instance 'bosh/0':
      Rendering templates for job 'vsphere_cpi/7ef406ee1d230b5322d8dc8ccce5da6bbbdabe7c':
        Rendering template src: cpi.json.erb, dst: config/cpi.json:
          Rendering template src: /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/bosh-release-job368514904/templates/cpi.json.erb, dst: /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/rendered-jobs340009586/config/cpi.json:
            Running ruby to render templates:
              Running command: 'ruby /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/erb-renderer041303363/erb-render.rb /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/erb-renderer041303363/erb-context.json /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/bosh-release-job368514904/templates/cpi.json.erb /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/rendered-jobs340009586/config/cpi.json', stdout: '', stderr: '/home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/erb-renderer041303363/erb-render.rb:189:in `rescue in render': Error filling in template '/home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/bosh-release-job368514904/templates/cpi.json.erb' for vsphere_cpi/0 (line 44: #<NoMethodError: undefined method `inject' for nil:NilClass>) (RuntimeError)
        from /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/erb-renderer041303363/erb-render.rb:175:in `render'
        from /home/jhoh/.bosh/installations/bf01fd76-af1d-46a1-587a-6b0d93900a5d/tmp/erb-renderer041303363/erb-render.rb:200:in `<main>'
':
                exit status 1

Exit code 1

bosh create-env bosh-deployment/bosh.yml \
    --state=state.json \
    --vars-store bosh-utility-1/creds.yml \
    -o bosh-deployment/vsphere/cpi.yml \
    -o bosh-deployment/vsphere/resource-pool.yml \
    -o bosh-deployment/misc/dns.yml \
    -o cluster-2.yml \
<same -v options as above>```

cluster-2.yml
```- type: replace
  path: /instance_groups/name=bosh/properties/vcenter/datacenters/0/clusters
  value:
  - cvg_iaas_internal:
    resource_pool: bosh-utility-1
  - cvg_iaas_internal_1:
    resource_pool: bosh-utility-1

I think I forgot an indentation layer in front of resource_pool, aka 2 blanks, and he complains that you defined nil where he expected an array. You could also write it like this

cvg_iaas_internal: {resource_pool: bosh-utility-1}

For vars, we use a so called iaas_config file for that. Just make a single level yml that looks like this and use it with -l:
<-v variable>: value
<-v variable>: value

@schmidtsv
That completely solved my issue.
Thank you for the education.  Is there a more complete resource for documentation?  It seems like some of the more common enterprise deployment options are not documented, but are communicated through Q&A.

btw later versions of vsphere cpi should eliminate this problem.


Cupertino_stepper inside column??

Hi I need to put an cupertino stepper inside column but it doesn't work?

Hi, is it a vertical stepper? The behavior is similar to a vertical ListView. Do you see something like this in the app output?
════════ Exception caught by rendering library ═════════════════════════════════════════════════════
The following assertion was thrown during performLayout():
RenderFlex children have non-zero flex but incoming height constraints are unbounded.

When a column is in a parent that does not provide a finite height constraint, for example if it is in a vertical scrollable, it will try to shrink-wrap its children along the vertical axis. Setting a flex on a child (e.g. using Expanded) indicates that the child is to expand to fill the remaining space in the vertical direction.
These two directives are mutually exclusive. If a parent is to shrink-wrap its child, the child cannot simultaneously expand to fit its parent.

Consider setting mainAxisSize to MainAxisSize.min and using FlexFit.loose fits for the flexible children (using Flexible rather than Expanded). This will allow the flexible children to size themselves to less than the infinite remaining space they would otherwise be forced to take, and then will cause the RenderFlex to shrink-wrap the children rather than expanding to fit the maximum constraints provided by the parent.

Solution A, Expanded:
Column(
  children: [
    Text('Header'),
    Expanded(
      child: CupertinoStepper(
      ...
      ),
    ),
    Text('Footer'),
  ],
)

Solution B, FlexFit.loose:
Column(
  mainAxisSize: MainAxisSize.min,
  children: [
    Text('Header'),
    Expanded(
      child: CupertinoStepper(
      ...
      ),
    ),
    Text('Footer'),
  ],
)

Choose

Thank you!!


Manual approval required for workflow run<PHONE_NUMBER>: Release t0rn v1.4.0-rc.0

Please approve the release of t0rn v1.4.0-rc.0
Workflow is pending manual review.
URL: https://github.com/t3rn/t3rn/actions/runs/4427468417
Required approvers: [AwesomeIbex MaciejBaj]
Respond "approved", "approve", "lgtm", "yes" to continue workflow or "denied", "deny", "no" to cancel.

Workflow cancelled, closing issue.


Workarounds for concurrency issues in tests

Motivation
It looks like some recently-added tests fail nondeterministically since they rely on order of operations in concurrent goroutines. The real solution here is to make these deterministic using proper concurrency primitives. This is a temporary workaround that adds pauses to give the layer fetcher goroutine enough time to start up.
Related: #2067
Changes
Add pauses to syncer tests
Test Plan
N/A, this fixes broken tests
TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[ ] Update documentation as needed

DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors merge


YATCO does not properly adjust wrap length when assigned another container as its parent

Need to add logic to determine what the width of the window is in a usable format, and then assign the wrapwidth based on that and configured fontsize. likely in demonnic.chat:create()

resolved in EMCO 1.0


Unassigned variable $previousQueryParams

$previousQueryParams is used here but nowhere is any value assigned to it.

Not an issue.
parse_str
expects as a second argument a variable $previousQueryParams for giving back results.


feat: add Txt2ImgModel Class for Image Generation

This PR introduces the Txt2ImgModel class that allows for the generation of images from text prompts using the diffusion models with support for LoRAs. The inference happens on fal. The key changes are as follows:

New Data Models: Added Txt2ImgModelImageResult, Txt2ImgModelResponse, ImageSize, ImageSizePreset, ImageSizeInput, and LoraWeight data models to handle the image generation process.

Txt2ImgModel Class: This is the main class that uses the above data models to generate images. It includes the following features:
Initialisation: The class can be initialized with a model URL and FAL credentials. If not provided, it defaults to environment variables.
Image Generation: The generate and async_generate methods allow for the synchronous and asynchronous generation of images from text prompts. These methods support various parameters such as prompt, model_name, negative_prompt, loras, seed, image_size, num_inference_steps, guidance_scale, clip_skip, model_architecture, scheduler, image_format, and num_images.
Error Handling: The class includes error handling to ensure that fal credentials are provided during initialization.

This new feature enhances the project's capabilities by allowing users to generate images from text prompts, which can be useful in a variety of applications, such as content generation, AI art, etc.
Please review and let me know if there are any concerns or suggestions for improvement.

Txt2Image Model Documentation
Text-to-image models
Text-to-image models can be used to generate images from textual prompts using a specific diffusion model. The model Txt2ImgModel is hosted on a fal and accessed using the fal key credentials. This class provides both synchronous and asynchronous methods to generate images.
Usage
To use the Txt2ImgModel, you need to provide the fal key credentials. You can get them by logging into the fal dashboard. Credentials be provided as arguments when creating an instance of Txt2ImgModel, or they can be set as environment variables ("FAL_KEY_ID" and "FAL_KEY_SECRET"). If they are not provided in either of these ways, a ValueError will be raised.
Synchronous generation
from replit.ai.modelfarm import Txt2ImgModel

# Create an instance of the Txt2ImgModel
model = Txt2ImgModel()

# Generate an image from a text prompt
response = model.generate(prompt="A beautiful sunset over the ocean.")

# Print the URL of the generated image
for image in response.images:
    print(image.url)

Asynchronous generation
import asyncio
from replit.ai.modelfarm import Txt2ImgModel

# Create an instance of the Txt2ImgModel
model = Txt2ImgModel()

# Define an asynchronous function to generate an image
async def generate_image():
    response = await model.async_generate(
        prompt="A city skyline at night.",
        model_name="stabilityai/stable-diffusion-xl-base-1.0",
        image_size="landscape_16_9",
        num_inference_steps=50,
        image_format="jpeg",
    )

    # Print the URL of the generated image
    for image in response.images:
        print(image.url)

# Run the asynchronous function
asyncio.run(generate_image())

Image generation with LoRAs
from replit.ai.modelfarm import Txt2ImgModel, LoraWeight

# Initialize the Txt2ImgModel
txt2img_model = Txt2ImgModel()

# Define the LoraWeights
loras = [
    LoraWeight(path="https://civitai.com/api/download/models/135931", scale=0.5),
    LoraWeight(path="https://filebin.net/3chfqasxpqu21y8n/my-custom-lora-v1.safetensors", scale=0.5)
]

# Generate an image
response = txt2img_model.generate(
    prompt="A beautiful sunset over the ocean",
    loras=loras,
    image_size="square_hd",
    num_images=1
)

# Print the URL of the generated image
print(response.images[0].url)

Classes
Txt2ImgModel
This class is used to generate images from text prompts. It has two methods for generating images: generate and async_generate. Both methods take the same parameters:
prompt: The text prompt to generate the image from.
model_name: The URL or HuggingFace ID of the base model to generate the image. Default is "stabilityai/stable-diffusion-xl-base-1.0".
negative_prompt: A text prompt for details that should not be present in the image.
loras: A list of LoraWeight instances to use for the image generation.
seed: A seed for the random number generator. Providing the same seed and prompt will result in the same image.
image_size: The size of the image to generate. This can be an instance of ImageSize or one of the following presets: "square_hd", "square", "portrait_4_3", "portrait_16_9", "landscape_4_3", "landscape_16_9". Default is "square_hd".
num_inference_steps: Number of inference steps. Default is 30.
guidance_scale: Guidance scale. Default is 7.5.
clip_skip: Skips part of the image generation process. Default is 0.
model_architecture: The architecture of the model to use. Can be either "sd" or "sdxl".
scheduler: Scheduler to use for the image denoising process.
image_format: The format of the generated image. Can be either "png" or "jpeg". Default is "png".
num_images: Number of images to generate in one request. Default is 1.

Both methods return an instance of Txt2ImgModelResponse.
Txt2ImgModelImageResult
This class represents the result of an image generation request. It contains the following attributes:
url: The URL where the generated image is hosted.
content_type: The MIME type of the image.
file_name: The name of the image file.
file_size: The size of the image file in bytes.
width: The width of the image in pixels.
height: The height of the image in pixels.

Txt2ImgModelResponse
This class represents the response from the image generation model. It contains the following attributes:
images: A list of Txt2ImgModelImageResult instances, each representing a generated image.
seed: The seed used for the image generation.

This class also has a class method from_response_json which takes a dictionary (typically the JSON response from the server) and returns an instance of Txt2ImgModelResponse.
ImageSize
This class represents the size of the image to be generated. It contains the following attributes:
width: The width of the image to be generated. Default is 512 pixels. The value must be greater than 0 and less than or equal to 4096.
height: The height of the image to be generated. Default is 512 pixels. The value must be greater than 0 and less than or equal to 4096.

LoraWeight
This class represents the LoRA weights used for image generation. It contains the following attributes:
path: The URL or the path to the LoRA weights.
scale: The scale of the LoRA weight. This is used to scale the LoRA weight before merging it with the base model. The value must be between 0.0 and 1.0.

Quick typo in docs: "Run on a fal" vs "Run on fal"


CB-8203 Fixed wp8 platform reference in createmobilespec

https://issues.apache.org/jira/browse/CB-8203

+1 lgtm


Missing emojis

Some iOS emojis aren't aren't in the index,like  😎 for example (I believe it's :sunglasses:) .
I guess it's something hard to maintain, and I was wondering whether it's a good idea to get the data from another source.
php-emoji is based on a separate source for example. Github also has a repository for that.
Let me know if I'm missing something.

You're right, now that the twitter/twemoji now supports Unicode v8.0 there are a lot more emoji available. I hope to update this library soon to support v2 of Twemoji as we want to support it in our product. I'll take a look at the other sources for emoji, thanks for those links.

I'd be glad to help with this, and submit a PR.
I'm just confused how to build the index.json file.
I saw hat twemoji uses two different sources and compiles them somehow.
Those sources are

http://www.unicode.org/Public/UNIDATA/EmojiSources.txt
http://unicode.org/Public/UNIDATA/StandardizedVariants.txt

I think it makes sense, as this library works with twemoji, to use the same source, if we can't use twemoji directly.
Would you mind providing some giudance on this ? Then I'll try submit a build script and a new index.

I can't remember where the original index came from now, I think it may have been https://github.com/github/gemoji/blob/master/db/emoji.json with some changes. This appears to contain all of the aliases.

The data set you mentioned originally looks useful as it contains a has_twitter_image property for each emoji as well as everything else needed.
https://github.com/iamcal/emoji-data/blob/master/emoji_pretty.json

I managed to create a script and re-built the index.
However there seems to be a problem with the generated regex. It has some special characters, like *, and breaks.
I believe it's because the format regex method doesn't handle the new emojis codes properly (some use more bytes?).
Let me know if you have any idea, I couldn't find exactly which codes were missing.
The data source also has skin variations, and some of them being handled by twemoji. It would be great to support them, but as for the naming, I'm not sure what would be best:

the code, ex: :261D-1F3FB:
the name with some suffix, ex: :point_up_skin_variation_1: / point_up_261D-1F3FB


Modify the Chinese punctuation mark to the English punctuation mark

Signed-off-by: yuxiaobo<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
Modify the Chinese punctuation mark to the English punctuation mark.
Ⅱ. Does this pull request fix one issue?

NONE
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Don't need.
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #876 into master will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #876      +/-   ##
==========================================
+ Coverage    39.6%   39.62%   +0.01%
==========================================
  Files         110      110
  Lines        6423     6423
==========================================
+ Hits         2544     2545       +1
  Misses       3669     3669
+ Partials      210      209       -1

Impacted Files
Coverage Δ

cmd/supernode/app/version.go
69.23% <ø> (ø)
:arrow_up:

supernode/daemon/mgr/scheduler/manager.go
23.74% <0%> (+0.71%)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM


Add some space in completion modal when not signed in

Go to any challenge when not signed in and complete it. The modal that pops up could use a little space where highlighted...

Tested on chrome and firefox.

Heya @moT01 - is this related to #39476? 🙂


快捷键似乎不生效

我添加了一个格式化代码快捷键（format documents ），但它似乎不生效

I added a formatted code keyboard shortcut, but it doesn't seem to work.

What document are you trying to format?

For example, I have written a piece of code now, but I don't think the layout and spacing of these codes meet the specifications of c++ or Java, so I added a keyboard shortcut named format documents, but it didn't work. The problem is almost like this.

Document formatting only supports TypeScript, JavaScript, HTML, CSS and JSON for now.

Is there any plan to arrange code formatting support for C and Java codes? Thank you very much.

I think getting support for C is possible as the compiler runs local. I'm not sure about Java as it doesn't run locally.

I look forward to the launch of C's formatting function, and thank you for your work. If possible, can this function be launched this year?


جميل جدا

VSCode Version:
OS Version:

Steps to Reproduce:

hi tha

Looks like this issue was created for testing purposes only, closing.


Mobile App - Add/View resources

From the home profile screen when the user clicks the button to add a resources they will be brought to this page which is essentially a form they fill out similar to the screen shown in the wireframe about adding resources.
From the home profile screen when the user clicks Disaster Resources it will show them a table of data that pulls from the "field reported data" DB but filters and displays only entries with a Type field that begins with the word Resource.
(as visual for this page is not included in the wireframe and left to the creativity of the dev to design)
Back End:
**NOTE since right now the DB holding the field reported data is also holding the resources data (as it would potential be reported from the field) we want to specify the type as "actual type-description" for example the resource type will look like : "Resource-water" or "Resource-food" for sorting purposes we can use "-" as the delimiter and .compare() with the string "Resource"
This will require read/write access to the Field data table

I'll give this one a try

@fhilton  I invited you to the repo so we can assign this.  Thanks!

Some clarification on where the data for this one is stored.  TL;DR : its in the resources table
today this is the resources table
as things have evolved what was originally just 'resources' has become resources '50 fire trucks are here' to be broader to field reported data '1 dumpster is on fire here' '1000 pamphlets handed out here' etc.
so we are working on making the UI/web speak in data (where resources is one type) even though the table is called resources
and later we will make a 'foundational strike' to rename that table and entities but haven't bitten that off yet


Series string  operators

Makes the string operators available to the Series.str object
In [1]: a = pd.Series(['%s', '%s'])

In [2]: a.str % 2
Out[2]: array(['2', '2'], dtype=object)

In [3]: a = pd.Series(['a', 'b'])

In [4]: a.str * 2
Out[4]: array(['aa', 'bb'], dtype=object)

In [5]: a.str + 'test'
Out[5]: array(['atest', 'btest'], dtype=object)

This already works on the series itself, eg

In [22]: a = pd.Series(['a', 'b'])

In [23]: a * 2
Out[23]:
0    aa
1    bb
dtype: object

so why would you also want it on s.str ?

Oh man, sorry.

No problem!


Update Singer tap/target pages to know whether it's discoverable or not

Migrated from GitLab: https://gitlab.com/meltano/hub/-/issues/45
Originally created by @tayloramurphy on 2021-05-12 15:02:39

When we generate the plugin pages we're assuming right now that everything is discoverable in Meltano. It needs to be updated to show the --custom syntax when it's not and then link to that documentation.

View 3 previous comments from the original issue on GitLab


add connect(), deprecate getClient()

~Deprecate~ Remove the getClient() function that returns a Client object. (Yes, the main API since the beginning of this project!)
Instead, use connect() which returns a promise and actually tries to load the swagger.json. Callers are expected to handle any rejections right away.
Fixes: https://github.com/IBM-Cloud/gp-js-client/issues/101

@JCEmmons this is to fix the 'unhandled rejection' warnings that you saw when js-client could not connect way back when.

I had marked this as a v4.0 (semver major), so it's probably OK to have the warning, if not break entirely.

[ ] drop deprecation warnings. Just remove getClient in 4.0, it's a breaking change (hence the semver)

Coverage decreased (-0.1%) to 88.667% when pulling 0cfa070b2b326079c70723c0d6aa3c3b09aa0e90 on connect-promise into 7fecc35b7364da3d5afb64503996b2fc4e190377 on master.

@jugu yes, it will be 4.x.  The breaking change is documented in the NEWS section of the readme: https://github.com/IBM-Cloud/gp-js-client/pull/155/files#diff-04c6e90faac2675aa89e2176d2eec7d8R21


Add .npmrc (no tag version prefix)

Description
We don't want the v prefix for tags, either when using np or npm version
Motivation and Context
Consistency across all repos
How Has This Been Tested?
Travis
Types of changes

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

Checklist:

[X] I have signed the Adobe Open Source CLA.
[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

Codecov Report

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

@@          Coverage Diff          @@
##           master     #4   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           4      4
  Lines          36     36
  Branches        2      2
=====================================
  Hits           36     36

Continue to review full report at Codecov.

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


Swiss table containers fail tests with unsigned characters on GCC

When Abseil is built with -funsigned-char on GCC, containers like flat_hash_map return non-deterministic results when attempting to find or iterate over all elements that have been emplaced. Sometimes elements that have just been added cannot be found; frequently the iterator skips all or most elements.
Environment:
Ubuntu 16.04.5 (xenial)
Kernel: 4.4.0-137-generic
Compiler: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
Bazel: 0.18.0
Abseil: commit a4c3ffff11eec0ee45742f915c255e9f870b7e0f
To reproduce the issue:
bazel test --cxxopt='-funsigned-char' //...
<snip>
//absl/container:flat_hash_map_test                                      FAILED in 0.3s
//absl/container:flat_hash_set_test                                      FAILED in 0.2s
//absl/container:node_hash_map_test                                      FAILED in 0.3s
//absl/container:node_hash_set_test                                      FAILED in 0.3s
//absl/container:raw_hash_set_allocator_test                             FAILED in 0.1s
//absl/container:raw_hash_set_test                                       FAILED in 0.9s

Executed 6 out of 121 tests: 115 tests pass and 6 fail locally.

Note: This does not appear to be an issue when building with Clang on Mac OS X.

in debug builds swisstable has extra asserts that will help track this down

The tests pass with bazel test --cxxopt='-funsigned-char' --copt=-DSWISSTABLE_HAVE_SSE2=0 --copt=-DSWISSTABLE_HAVE_SSSE3=0 absl/container/... so I suspect the issue is in the use of SSE instructions.

I think this is a GCC bug.
The implementation using SSE2 relies on _mm_cmpgt_epi8 in some places, for example:
https://github.com/abseil/abseil-cpp/blob/cc8dcd307b76a575d2e3e0958a4fe4c7193c2f68/absl/container/internal/raw_hash_set.h#L375
GCC's implementation of _mm_cmpgt_epi8:
https://github.com/gcc-mirror/gcc/blob/913b81c4d40ca6e1b157ea5785376d8de58b42fc/gcc/config/i386/emmintrin.h#L1331-L1335
and __v16qi:
https://github.com/gcc-mirror/gcc/blob/913b81c4d40ca6e1b157ea5785376d8de58b42fc/gcc/config/i386/emmintrin.h#L47
I think a type with signed char instead of char is needed to implement _mm_cmpgt_epi8 correctly since _mm_cmpgt_epi8 is supposed to compare signed values.
Clang seems to get this right:
https://github.com/llvm-mirror/clang/blob/5fd1ab66bf97297c2b71ce3ec2bb33d579bca06e/lib/Headers/emmintrin.h#L3247-L3253

I've reported this to GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87853

f95179062eb65ce40895cc76f1398cce25394369 contains a workaround for this. It should be working now, but you will be sacrificing some performance if you use GCC with -funsigned-char. I'm not sure if there is anything else we can do besides maybe working around the GCC bug by writing some assembly.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87853 already has a proposed patch for the GCC bug, but you'll obviously have to update your compiler and will we have to change our code to only use the workaround on known buggy GCC versions.

Instead of reverting to the generic implementation, you may also consider using an alternative signed comparison implementation that avoids the offending instruction:
static inline __m128i _mm_cmpgt_epi8_alternative(__m128i a, __m128i b) {
	const __m128i mask = _mm_set1_epi8(0x80);
	const __m128i diff = _mm_subs_epi8(b, a);
	return _mm_cmpeq_epi8(_mm_and_si128(diff, mask), mask);
}

@sneves Thank you for the suggestion. This is done in 7990fd459e9339467814ddb95000c87cb1e4d945.

Thanks, @derekmauro, for the fixes and upstream report, and @sneves, for the suggestions on maintaining performance on GCC by continuing to use the SSE instruction albeit correctly! :)
I've confirmed that this issue is resolved in my environment on 7990fd459e9339467814ddb95000c87cb1e4d945, so I'm closing this issue.


Is paket 5.92.x resolving packages asynchronously?

Starting with paket.exe release 5.92.1 my builds are failing with what seems to be missing packages. Second build attempt in a row works, and the packages are there when I check manually, but first build on a clean environment (fresh clone on either local or build machine) consistently fails.
I also verified that paket 5.91.0 works so it really seems to be linked to specific paket version.
Build script just calls paket.bootstrapper.exe to get the latest version, then paket restore --group Build to get FAKE and friends, then calls FAKE to execute the rest (including the paket restore for Main group.
This is the beginning of the build log:
Checking Paket version (downloading latest stable)...
Copying version 5.92.3 from cache.
Done in 1.76 second(s).
Paket version 5.92.3
Performance:
 - Disk IO: 10 seconds
 - Runtime: 10 seconds
Building project with version: LocalBuild
Shortened DependencyGraph for Target LocalBuild:
<== LocalBuild
   <== CopyBinaries
      <== RunUnitTests
         <== CompileSln
            <== Clean
            <== RestorePackages

The running order is:
  - Clean
  - RestorePackages
  - CompileSln
  - RunUnitTests
  - CopyBinaries
  - LocalBuild
Running build with 1 worker
Starting Target: Clean
Deleting contents of [...]
Finished Target: Clean
Starting Target: RestorePackages
[...]\.paket\paket.exe restore  group Main
Paket version 5.92.3
Please use the new syntax: 'group' has been replaced by '--group'.
Last restore is still up to date.
Performance:
 - Runtime: 550 milliseconds
Finished Target: RestorePackages
Starting Target: CompileSln (==> Clean, RestorePackages)

and shortly after it fails on missing packages, for example:
    16>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets(1987,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "protobuf-net". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [...]
                 For SearchPath "{HintPathFromItem}".
                 Considered "..\..\packages\protobuf-net\lib\net40\protobuf-net.dll", but it didn't exist.
                 For SearchPath "{TargetFrameworkDirectory}".
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\protobuf-net.winmd", but it didn't exist.
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\protobuf-net.dll", but it didn't exist.
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\protobuf-net.exe", but it didn't exist.
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\protobuf-net.winmd", but it didn't exist.
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\protobuf-net.dll", but it didn't exist.
                 Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.2\Facades\protobuf-net.exe", but it didn't exist.
                 For SearchPath "{AssemblyFoldersFromConfig:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\AssemblyFolders.config,v4.6.2}".
                 Considered "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\protobuf-net.winmd", but it didn't exist.
                 Considered "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\protobuf-net.dll", but it didn't exist.
                 Considered "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\protobuf-net.exe", but it didn't exist.
                 Considered "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Extensions\Microsoft\SqlDb\protobuf-net.winmd", but it didn't exist.

Let me know if I can provide more detail.

/cc @matthid o_O

Yes I think this is actually solved by https://github.com/fsprojects/Paket/pull/2724

Please try again with https://github.com/fsprojects/Paket/releases/tag/5.92.4, sorry for this.

That was fast, you people are awesome! I've just tried with 5.92.4 and it works, thank you!


Add pack and unpack

https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/working-notes/instr.md#pack-and-unpack

Actually I think it's best to wait for the spec to settle a bit more on these before adding them.


Switch to direct booting of flasher images

This PR still needs an updated capsule for the AGX 64GB

@rcooke-warwick in this commit here: https://github.com/balena-os/balena-jetson-orin/pull/522/commits/3e702617510e34181a373a1b56538518f126570c I ported your changes from #523  Please let me know if the changes look fine or if there's anything else I should bring in


update datatypes file header

This updates the generated file header to better reflect

where the generated file is being used
what file should be edited to modify the generated content

LGTM!


Update AWS provider version

Update AWS provider >= to 2.7.0 and update README for new provider version as well. Update examples and tests to use the proper provider where needed.
Note to the PR requester about Closing PR's
Please message the person that opened the issue when auto closing it on slack, as well as any other stake holders of deep interest. Only close the issue if you believe that the issue is fully resolved with this PR.
This PR may auto close the issue associated with it. If you feel the issue is not resolved please reopen the issue.

The destruction test is fine and was due to a rename of an R53 resource in the tests which trickled down to needing to recreate zone_ids in all of the resulting SQS modules.


Pin dockerfile dependencies by hash

If you are reporting any crash or any potential security issue, do not
open an issue in this repo. Please report the issue via emailing
<EMAIL_ADDRESS>where the issue will be triaged appropriately.
Title: Reduce attack surface by pinning docker dependencies by hash
Description:
scorecard reports
!! frozen-deps - .devcontainer/Dockerfile has non-pinned dependency 'gcr.io/envoy-ci/envoy-build:55d9e4719d2bd0accce8f829b44dab70cd42112a'
!! frozen-deps - ci/Dockerfile-envoy-alpine has non-pinned dependency 'frolvlad/alpine-glibc:alpine-3.12_glibc-2.31'
!! frozen-deps - ci/Dockerfile-envoy-distroless has non-pinned dependency 'gcr.io/distroless/base-debian10:nonroot'

Fix:
Pin dependencies by hash. Example here.
You can retrieve the digest corresponding to the dependencies thru:
$ docker pull <dep>
...
Digest: sha256:acf7795dc91df17e10effee064bd229580a9c34213b4dba578d64768af5d8c51
...

@lizan @phlax

this seems like a good idea - there was an issue recently with the alpine upstream image
my only concern is that if we pin to a particular version we probs also want to scan ~frequently that there are no issues with the pinned dep
@laurentsimon do you want to raise a PR to address the hashes ?
if not i can follow up

@asraa volunteered to help, so I will let her send the PR. Thanks again @asraa !

There's a problem that sha256 hash differs by architecture, so it doesn't work for our multiarch image build.

I have experience about use SHA256 for different arches and can help if you need.

@daixiang0 do you have some idea how this can be achieved ? if so - please do open a PR and lets see
my quick internet search seems to confirm what @lizan has said - but i didnt find any definitive answers - nor any workarounds

regarding my concern about keeping up-to-date - it seems dependabot has support for dockerfiles so that is a non-issue i think

I would post soon.


Minimum parameters to create and upload a certificate to a cloudfront distribution

Hello, I'm new to this lib and would like to use it so I can update certificates to our Cloudfront distributions
In your README.md you have this example:
AWS_ACCESS_KEY_ID="REPLACE_WITH_YOUR_KEY" \
AWS_SECRET_ACCESS_KEY="REPLACE_WITH_YOUR_SECRET" \
certbot --agree-tos -a certbot-s3front:auth \
--certbot-s3front:auth-s3-bucket REPLACE_WITH_YOUR_BUCKET_NAME \
[ --certbot-s3front:auth-s3-region your-bucket-region-name ] #(the default is us-east-1, unless you want to set it to something else, you can delete this line) \
[ --certbot-s3front:auth-s3-directory your-bucket-directory ] # (default is "") \
-i certbot-s3front:installer \
--certbot-s3front:installer-cf-distribution-id REPLACE_WITH_YOUR_CF_DISTRIBUTION_ID \
-d REPLACE_WITH_YOUR_DOMAIN

Just a few questions:

May I ask if the s3 buckets are important to be declared?
Will it be enough just to upload to a cloudfront distribution? Will this command will work?

AWS_ACCESS_KEY_ID="REPLACE_WITH_YOUR_KEY" \
AWS_SECRET_ACCESS_KEY="REPLACE_WITH_YOUR_SECRET" \
certbot --agree-tos -a certbot-s3front:auth \
--certbot-s3front:installer-cf-distribution-id REPLACE_WITH_YOUR_CF_DISTRIBUTION_ID \
-d REPLACE_WITH_YOUR_DOMAIN

Thanks for the assist!

@jhnferraris were you able to figure it out? you do need the S3 location to be able to upload the certs


Create multipletypesintoone.md

Closes #73

Thank you for the PR.
Could you update PKGINFOS? The contribution guidance is not
written well yet, so any questions are welcomed!
https://github.com/JuliaPackageComparisons/JuliaPackageComparisons.github.io/blob/main/docs/utils.jl#L12

did it :+1:

seems like the section is not there? is there anything more to add?

ok sorry I should read the contributing before :D

should be okay now, but Contributing.md seems a bit outdated because it suggests to modify a non existent file

feel free to choose another title for the section if this is not adequate for you @hyrodium

Contributing.md seems a bit outdated because it suggests to modify a non existent file

Thanks for pointing out! I'll update the guide after https://github.com/JuliaPackageComparisons/JuliaPackageComparisons.github.io/issues/22 is resolved.


Email bind

In the settingsVC, list linked emails and add a button to bind new email to the user account.

About alert  handling, it should be better to keep a ref on the current alert. In order to be able to dismiss it when we need (for example on view will disappear).


Merge up v1.1.3

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.001%) to 99.639%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
1104

Relevant Lines:
1108

💛  - Coveralls


Emit a single error when using BANK incorrectly

Previously, if BANK is used when defining a section that’s not ROMX,
WRMAX, SRAM or VRAM, a second error message may appear, e.g. “(null)
bank value $1 out of range $5d to $0”.
This would appear due to the usage of uninitialised variables. This
change ensures that the uninitialised variables are not accessed when
using an invalid section with BANK.
This also silences compiler warnings about usage of uninitialised
variables.

Same here, can you remove the extra merge commit?

…And should be sorted here, too.


README re-organization

Since we have been seeing an uptick in people interested in using Verus (rather than hacking on Verus itself), I'd like to suggest refactoring the landing page (README.md) to be a bit more user facing, similar to what the Amazon folks have done with Dafny or the main F* page.  I moved the rest of the content into INSTALL.md and CONTRIBUTING.md.  I think the README should also eventually link to some examples of projects using Verus.
Thoughts and suggestions are most welcome.  Special thanks to @chanheec for the animated gif.

Might be a good idea to link the 'getting started' page as well: https://verus-lang.github.io/verus/guide/getting_started.html

I actually recommend adding a few more badges:
Also fwiw, I think the choice between the new one vs the more conservative one is based on who the target audience is. For returning users, I don't think it matters too much as long as they know where something is, so just having text is sufficient, but for new users, having the gif and so on would actually bring people in. By having the added badges linked above, we make it easier for both kinds of users (including those who have no familiarity with the tool).

@utaal Thanks for the alternate proposal.  I don't feel at all strongly about the badges; many GitHub projects seem to have them, but I'm fine without them.  I think the larger question is what experience we want people to have when they arrive at the page.  For the folks who already know and love verification and Verus, I suspect that asking them to click/bookmark the installation instructions is a relatively minor hurdle.  However, I think we all hope that we'll have a much larger pool of visitors who hear about Verus (at an academic conference, a Rust meet up, Hacker News, NY Times, etc.) and want to find out what it's all about.  Most of these visitors won't even really know what verification is all about, so I'm not sure they'll immediately want to work through all of our installation instructions.  Instead, I think it would help to clearly talk through what verification is, what it can do, and generally demystify the process (which I think the gif helps with).  Once they're intrigued by the idea, then we can point them to the guide and the installation instructions (or someday, an in-browser experience), so they can try it out.  This seems to be the approach that the Amazon folks have taken in their efforts to evangelize Dafny to all of the Amazon engineers, so that also offers some support for this approach.

I don't feel strongly about badges, and I'm on board with including badges for quick links to the tutorial and vstd (currently pervasive) -- I believe a failure mode for GitHub READMEs is to end up being too busy, making it hard to find the right information, so I'd like to avoid redundant info that's not directly actionable, but badges like the ones @jaybosamiya is suggesting make sense to me.

@parno thank you for the note.
My take is that we are still at a stage where Verus would be difficult to pick up to someone who's unfamiliar with verification. Nonetheless my proposed alternate change preserves some of your text that describes Verus, to communicate the purpose of the tool to someone unfamiliar. I think that's valuable.
I think the Amazon folks are at a different stage in the project, where most beginner users will have a relatively smooth experience with Dafny even if they stray away a bit from the tutorial. They have pre-built distributions of the tooling (and their IDE extensions) which means that getting set-up for the experience they show is very quick and straightforward. We are not there yet, but we are working on bridging that gap. I believe promising potential users that experience, to then immediately disappoint them because something subtle went wrong in the installation or we haven't tested on their platform, would result in frustration. (Note that setting up the VScode extension requires a number of non-trivial steps https://verus-lang.github.io/verus/guide/ide_support.html. That's totally fine and valuable at this stage, but at the same time we should not suggest that's the experience they can immediately expect in VScode, where most users are used to just installing an extension and having it automatically do any additional set-up it needs.)
The other change that we're debating is this text:

Furthermore, Verus allows developers to go beyond the standard Rust type system and statically check the correctness of code that, for example, manipulates raw pointers.
Verus supports a large and growing set of Rust features. It also includes support for user-defined specifications, which can be written in terms of pre-eixsting specification libraries.

These would become the first four clickable links on the page, and I don't think they help a new user. The first is an example that requires the user to have familiarity with Verus, and have read the first part of the concurrency verification guide; the second is a link to a mostly empty page that links to what we've used as internal tracking of supported features and it isn't easy to consume by a new user; the third (spec functions) again points to a page that requires prior understanding of modes. If a user unfamiliar with verification or with at least some of Verus clicks on these, I believe they are more likely to decide that this is all way over their head, and leave, rather than continue reading by starting with the guide. This is in part an artefact of the fact that the documentation is still incomplete, but I believe we should make some more progress on that before we link specific pages from the top of the README.

These would become the first four clickable links on the page, and I don't think they help a new user.

I agree here - I don't think these links are suitable for the introductory paragraph, especially not the first two.
Like I said above, I'd prioritize linking to "getting started".
(For supported features, it's not a bad idea, but the page needs to be cleaned up first.)

Thanks everyone for all of the constructive feedback (here and elsewhere) on the new design!  I've pushed some commits trying to incorporate it all.  Overall, I suspect people just arriving at the repo for the first time will be wondering some combination of:

What is Verus?

Minor update on the badges "EDIT" that I had written ~4 days ago: turns out the badge shenanigans aren't just restricted to GitHub comments as I had initially thought; GitHub does some fun caching stuff that makes the badge clicking not work as intended (i.e., requiring those two clicks that I had initially mentioned).
However, turns out this is easily fixed (now fixed on this branch) which gives us the nice only-one-click-needed badges (both in the README, and in comments:  )
In hindsight, using this new approach is much more sensible anyways, and I don't know why the shields.io folks even have a ?link=... parameter in the first place; maybe for non-GitHub use cases. Anyways, it is now a regular markdown link whose text is the image itself.

Thanks for looking into this again. I personally think we still may want to wait on the picture (I shared that sketch I included as part of the conversation and not as a proposal per se), but I'd be okay with including it now that it is less prominent and doesn't commit as much to providing a smooth onboarding experience (as one may expect from a VScode extension as the main interface to the tool).

If you want to try Verus, please be prepared to ask for help by filing GitHub issues or starting GitHub discussions.

That paragraph seems good to me; however please remove GitHub discussions:

If you want to try Verus, please be prepared to ask for help by filing GitHub issues.

We have been using Issues for questions and to track user-facing issues and bugs (we have the "question" and "bug" tags), whereas Discussions contain feature requests/discussions and other more open-ended design conversations. The exception is a Discussion to track sub-optimal error messages in a way that doesn't generate a large number of GitHub issues: https://github.com/verus-lang/verus/discussions/387
As a minor layout nit, I'd prefer we used ## headers to save some space.

Thanks for the additional feedback!  I've incorporated all of the text edits.  I think your hybrid picture turned out nicely, so I'd like to try it out for a bit.  If we get sick of looking at it or find it leads to too much confusion, we can definitely yank it :)

@utaal I'm happy to work on a new figure with Chris' changes, unless you've already started on it.

@parno I have the source, so I can re-do the composite quickly. Can you send me an updated VScode screenshot?

I've updated the demo image in the README with @Chris-Hawblitzel's feedback.

Great, thanks very much!


How to use this package with Jetson-Nano-Ubuntu-20-image

Hello,
First of all, thank you very much for all your support in Jetson Nano and AI algorithms.
I have installed your Jetson-Nano-Ubuntu-20-image (9Gb image) on my Jetson Nano. I tried to run this algorithm (Tensorflow_lite_segmentation_Jetson-Nano) on this image, but I have a few problems.
First of all, considering the Ubuntu image has already installed tensorflow, opencv, etc. I am a little bit confused about what should I install in this image. Should I install all TensorFlow Lite frameworks (https://qengineering.eu/install-tensorflow-2-lite-on-jetson-nano.html) ?
I have tried the step above, but I get an invalid ld reference to -ltensorflow.
If I do not install the tensorflow lite framework, and use the one install with Ubuntu image, I have errors related to missing files and references, such as builtin_op_data.h. This file is really not found on tensorflow installed with the Ubuntu image. What should I do?
Please, if you can help me on that, I really appreciate your support.
Thanks.

@srevandro ,
I've checked one and another.

Best you install the TensorFlow Lite framework according to our guide on your Ubuntu 20 Jetson Nano.
Also the flatbuffers.
Install Code::Blocks as the project hasn't a CMake.txt file (yet).  sudo apt-get install codeblocks
Download the example. git clone https://github.com/Qengineering/TensorFlow_Lite_Segmentation_Jetson-Nano.git
Make sure you have the downloaded TensorFlow directory renamed tensorflow. Otherwise you get missing header errors.
Remove the /home/jetson/tensorflow/bazel-bin/tensorflow/lite/delegates/gpu/libtensorflowlite_gpu_delegate.so from the linkage, as we don't use the delegates. It can be done with an text editor in the TestUnet.cbp file before opening the project.
On my machine it compiles and played the video.

missing

@Qengineering
Thanks for your reply.
I have done everything you told me. But, the only problem that I have doing this for Ubuntu 18.04/20.04, is the following message in Code:Blocks build messages:
File: ld
Message: cannot find -ltensorflow-lite / error: ld returned 1 exit status.

I have installed the tensorflow in the following directory:
/home/jetson/evandro/app/tensorflow
Do you have any idea how to solve this problem? I have seen some issues on Google, but I am not pretty sure it should work on Jetson Nano.
Thanks again for all your help.

@Qengineering
I found the problem. In the Properties->Project Build Options->linker settings->Link libraries, you have inserted the libs directly:

libtensorflow-lite.a
libflatbuffers.a

I just found these 2 libs in the tensorflow directory and inserted the full path to them:
/home/jetson/evandro/app/tensorflow/tensorflow/lite/tools/make/gen/linux_aarch64/lib/libtensorflow-lite.a
/home/jetson/evandro/app/tensorflow/tensorflow/lite/tools/make/downloads/flatbuffers/build/libflatbuffers.a
YOU ARE THE BEST, MAN! Really thank you for all the support.
After experimentation with this Segmentation algorithm, I will move forward with the others algorithms on your GitHub.
Thanks.


Update README.md

In addition to this little correction do I consider to rephrase the following sentence as well, since I feel a little bit confused by it:

All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the source code

What would you feel like rephrasing it to?
As I'm not native my English is obviously far from perfect, so I'm open to any suggestions regarding syntactical aspects

Which source code you mean?

without taking a single look at the source code

@ShalokShalom
Ok. I'll try to rephrase it.
What I mean is there's plenty of languages that output to other languages.
And even if you can understand JavaScript, that doesn't mean an output of Scala.js (Scala to JavaScript) can be reasoned about without looking at the Scala code that produced it.
It's just completely unreadable. What does it mean to the developer?
If someone wrote a part of the system in Scala.js unless you know Scala you won't understand what the code does.
There are however languages that produce outputs that are meant to be read. Like for example CoffeeScript. You don't have to know CoffeeScript to read and understand it's JavaScript output.
You can just look at the JS output and you'll be fine.
The same is true for Elchemy (Well, it got a little bit worse lately, but still readability is our primary concern). You don't need to understand Elchemy. You know only Elixir? That's fine. Just open outputfile.elchemy.ex and you should be fine.
That gives a very important boost to the learning curve for people coming from Elixir (who obviously are our main target after all)

"All of the code produced by Elchemy can be easily read and analyzed without taking a single look at the original source."
You could also use the word idiomatic?
Like: The produced Elixir code is idiomatic, performant and it's quite hard to detect the difference between hand written code and such one that is produced by Elchemy.

Not being able to tell a difference is a little bit of a stretch. Right now it's quite obvious if it was produced by Elchemy.
And although there are outputs like that:

Most of the time they actually look like this

Which although still easy to read and reason about, it's quite obvious it wasn't hand-written. Mostly because of the awkward parenthesis use.
I like the use of the word idiomatic here.
I think the first part of the second sentence and the other half of the first one add up to both easy to read and accurate definition.

Yes, perfectly. Will you do it?


Updates elasticsearch source

I've changed the way to get the documents from the elasticsearch. The old way just allowed to get max 10K. One way to fix it is change the index.max_result_window but it can have memory consequences. Using scan we can retrive info from 10K to 10K. At this way we can avoid an overload and we get all the documents we require.
I've added a new way to query the deployment data. At this way we ensure to get the most recent build that have at least one of the following fields: ip_version, storage_backend, network_backend, dvd or topology. We can ask for one or more jobs.
I've changed the tests and adapt it to the new changes.

I merged some changes and now it fails. It's something related to another change and it happens when I call get_deployment:
  File "github/cibyl/cibyl/models/ci/printers/colored.py", line 92, in _print_jobs_system
    printer.add(self.print_job(job), 1)
  File "github/cibyl/cibyl/models/ci/printers/colored.py", line 181, in print_job
    printer.add(os_printer.print_deployment(value), 1)
  File "github/cibyl/cibyl/plugins/openstack/printers/colored.py", line 85, in print_deployment
    for node in deployment.nodes.values():
  File "github/cibyl/cibyl/models/attribute.py", line 100, in values
    return self.value.values()

Overall looks good, just need to fix a couple of failing unit test and should be good to go

Thank you Joan. I forgot to update the build hits content according to the new index in the test side.
Now it's done :).


Change color of box next to move in GameLog based on the player that made the move

Hi @nicolodavis, I seen your post on r/boardgames and thought I could take a look. As I have not yet contributed to anything open source before, I would be interested in looking at this as a first task!

Please do. Looking forward to your contribution :)


Problems to run unit_tests (Cygwin)

I am building OpenFAST on Windows with CMake and Cygwin 64-bit, according to the instructions on “readthedocs” page. However, when I try to run “make beamdyn_test”, I face some messages, like:
$ make beamdyn_utest
[  0%] Performing configure step for 'pfunit'
** WARNING: Install path not found! Please set PFUNIT or use -DINSTALL_PATH=...
++ Remember to set the environment variable PFUNIT to the install directory!
++ Example: export PFUNIT=OFF
-- Installing to INSTALL_PATH: OFF
(null): can't open file '/home/Bruno/code/OpenFAST/unit_tests/pfunit/source/GenerateAssertsOnArrays.py': [Errno 2] No such file or directory
(null): can't open file '/home/Bruno/code/OpenFAST/unit_tests/pfunit/source/GeneratedSources.py': [Errno 2] No such file or directory
Including generated files ''.
CMake Error at source/CMakeLists.txt:26 (include):
include could not find load file:
/home/Bruno/code/OpenFAST/unit_tests/pfunit-build/source/
-- Configuring incomplete, errors occurred!
Could someone help me solve this problem?

I am pretty new in compiling OpenFAST (just learning how to do that actually, using Linux). However,

(null): can't open file '/home/Bruno/code/OpenFAST/unit_tests/pfunit/source/GenerateAssertsOnArrays.py': [Errno 2] No such file or directory
(null): can't open file '/home/Bruno/code/OpenFAST/unit_tests/pfunit/source/GeneratedSources.py':

Sounds like wrong path defintions to me. Furthermore, the paths do not sound like a typical windows-path because "/home/..." sounds like Linux paths. Are you sure that you have set up the paths to the respective directories correct? I am not familiar with CMake and Cygwin under Windows, so my assumptions above could also be wrong.

Thanks for your response, dwalia. I gave up using Cygwin and tried a different approach, using Ubuntu on Windows 10. I followed the tutorial for building OpenFAST with Cmake on Linux and, even though I had some problems to install LAPACK and BLAS, I managed to properly run the beamdyn_utest.

@bmazetto
I believe this is related to CMake not finding an appropriate python interpreter when it configures the unit test package specifically. On which version of openfast did you run into this? I recently made some updates which may fix this to the dev branch, and they were even more recently merged into master. If you haven't yet, pull the latest from master, rerun cmake, and try again.
Thanks
Rafael

@bmazetto I'm closing this issue since its gone silent but feel free to reopen as needed.

Hello guys, I'm trying to install OpenFAST using Cygwin again. The previous installation using Ubuntu on Windows 10 did not work very well. Now, I'm facing some problems with unit tests.   Pare.
make[2]: *** [CMakeFiles/Makefile2:3166: unit_tests/CMakeFiles/beamdyn_utest.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3178: unit_tests/CMakeFiles/beamdyn_utest.dir/rule] Error 2
make: *** [Makefile:1059: beamdyn_utest] Error 2

I don't know how to solve these errors or what is causing it. Has someone experienced the same situation? What should I do to solve this?

Dear bmazetto. When I built OpenFAST 2.0 on Arch, I ran into the same problems. Therefore, I decided to skip the unit regression tests. OpenFAST was the first PKGBUILD I wrote. So I was heavily supported by the community in the Arch forums. On page 3 in the respective topic, the complexity of testing OpenFAST was discussed. Probably that doesn´t help you, and hopefully rafmudaf has more useful hints. In any case the link to the thread in the Arch forums: https://bbs.archlinux.org/viewtopic.php?id=241145&p=3

@bmazetto can you give more details about this line:  The previous installation using Ubuntu on Windows 10 did not work very well.

@bmazetto as for the build problems for the beamdyn_utest target on Cygwin, your current cmake configuration is setup incorrectly as its looking for pfunit.lib but it should be looking for libpfunit.a. Fortunately, this is already corrected in the dev branch through pull request https://github.com/OpenFAST/openfast/pull/271. So check out the dev branch and try again:
cd <path to openfast>
git checkout dev
git pull origin dev

# you might want to remove your build directory just to be safe, but I'll let you decide
# rm -rf build && mkdir build

cd build
cmake .. -DBUILD_TESTING=ON
make beamdyn_utest

And please post the results of this so we can verify whether this bug is fixed. Thanks for your support of OpenFAST!

@rafmudaf , I had had some problems with the Regression Tests  (#197) when using Ubuntu on Windows 10. Since I had to run some simulations as soon as possible back then, I've decided to use FAST v8 instead of OpenFAST.

@dwalia and @rafmudaf , thank you both for your comments. @rafmudaf , now it's working!

Excellent! Thanks for the update.

Maybe someone can help me .. Been a week trying to install and have OpenFAST running .. :( .. have arrived to the below point ..
Any hints please?
Owner@DESKTOP-U7FJRBS ~/OpenFAST/OPenFAST/build
$ make beamdyn_utest
[  0%] Performing configure step for 'pfunit'
-- Installing to INSTALL_PATH: ON
C:\Users\Owner\AppData\Local\Programs\Python\Python37-32\python.exe: can't open file '/home/Owner/OpenFAST/OPenFAST/unit_tests/pfunit/source/GenerateAssertsOnArrays.py': [Errno 2] No such file or directory
C:\Users\Owner\AppData\Local\Programs\Python\Python37-32\python.exe: can't open file '/home/Owner/OpenFAST/OPenFAST/unit_tests/pfunit/source/GeneratedSources.py': [Errno 2] No such file or directory
Including generated files ''.
CMake Error at source/CMakeLists.txt:26 (include):
include could not find load file:
/home/Owner/OpenFAST/OPenFAST/build/unit_tests/pfunit-build/source/

-- Configuring incomplete, errors occurred!
See also "/home/Owner/OpenFAST/OPenFAST/build/unit_tests/pfunit-build/CMakeFiles/CMakeOutput.log".
make[3]: *** [unit_tests/CMakeFiles/pfunit.dir/build.make:107: unit_tests/pfunit-stamp/pfunit-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:3307: unit_tests/CMakeFiles/pfunit.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3282: unit_tests/CMakeFiles/beamdyn_utest.dir/rule] Error 2
make: *** [Makefile:1085: beamdyn_utest] Error 2

Dear all,
Until now I used FAST v8 and now I am moving to OpenFAST. I already cloned the latest master branch and installed OpenFAST using CMake and Cygwin in Windows 10. The OpenFAST version i got is OpenFAST-v2.1.0-dirty, and now I am trying to perform the unit tests.
I ran the command $ cmake .. -DBUILD_TESTING=ON on build directory, and after that I tried to perform the beamdyn unit test, as described in https://openfast.readthedocs.io/en/master/source/testing/unit_test.html with the command $ make beadyn_utest
Nevertheless, I got the following error.
myname@myname /cygdrive/d/Users/myname/Documents/OpenFAST/build
$ make beamdyn_utest
Scanning dependencies of target pfunit
[  0%] Creating directories for 'pfunit'
[  4%] No download step for 'pfunit'
[  4%] No patch step for 'pfunit'
[  4%] No update step for 'pfunit'
[  8%] Performing configure step for 'pfunit'
-- The Fortran compiler identification is GNU 7.4.0
-- Check for working Fortran compiler: /usr/bin/f95
-- Check for working Fortran compiler: /usr/bin/f95  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/f95 supports Fortran 90
-- Checking whether /usr/bin/f95 supports Fortran 90 -- yes
** WARNING: Install path not found! Please set PFUNIT or use -DINSTALL_PATH=...
++ Remember to set the environment variable PFUNIT to the install directory!
++ Example: export PFUNIT=OFF
-- Installing to INSTALL_PATH: OFF
CMake Error at /usr/share/cmake-3.14.5/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.14.5/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.14.5/Modules/FindPythonInterp.cmake:160 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  source/CMakeLists.txt:5 (find_package)

-- Configuring incomplete, errors occurred!
See also "/cygdrive/d/Users/myname/Documents/OpenFAST/build/unit_tests/pfunit-build/CMakeFiles/CMakeOutput.log".
make[3]: *** [unit_tests/CMakeFiles/pfunit.dir/build.make:107: unit_tests/pfunit-stamp/pfunit-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:3203: unit_tests/CMakeFiles/pfunit.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3178: unit_tests/CMakeFiles/beamdyn_utest.dir/rule] Error 2
make: *** [Makefile:1059: beamdyn_utest] Error 2

As I understand, the problem is that the python interpreter is not found, but I do not know how to proceed to solve the problem.
Thank you in advance for the help!
Jon

@jonmtz Could you switch to the dev branch and try again? There are some changes in the dev branch for compiling and running the unit tests. It may not fix your specific issue, but at least we'll be on the latest code.
To switch branches, move into your OpenFAST directory and do this:
git fetch
git checkout -b dev origin/dev

Dear @rafmudaf ,
Thank you for your fast reply. I checked out in the develop branch (I am using SmartGit, since your command did not work for me, don't know why), did the $ cmake .. -DBUILD_TESTING=ON again, but the error seems to be the same when trying to run the test. I attach the specific error obtained:
myname@myname /cygdrive/d/Users/myname/Documents/OpenFAST/build
$ make beamdyn_utest
[  0%] Performing configure step for 'pfunit'
** WARNING: Install path not found! Please set PFUNIT or use -DINSTALL_PATH=...
++ Remember to set the environment variable PFUNIT to the install directory!
++ Example: export PFUNIT=OFF
-- Installing to INSTALL_PATH: OFF
CMake Error at /usr/share/cmake-3.14.5/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake-3.14.5/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.14.5/Modules/FindPythonInterp.cmake:160 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  source/CMakeLists.txt:5 (find_package)

-- Configuring incomplete, errors occurred!
See also "/cygdrive/d/Users/myname/Documents/OpenFAST/build/unit_tests/pfunit-build/CMakeFiles/CMakeOutput.log".
make[3]: *** [unit_tests/CMakeFiles/pfunit.dir/build.make:107: unit_tests/pfunit-stamp/pfunit-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:3232: unit_tests/CMakeFiles/pfunit.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3207: unit_tests/CMakeFiles/beamdyn_utest.dir/rule] Error 2
make: *** [Makefile:1072: beamdyn_utest] Error 2

Besides, I tried to run all the tests to check if any of them works with $ ctest, but all of them failed.
0% tests passed, 37 tests failed out of 37

Label Time Summary:
aerodyn14    =   2.12 sec*proc (7 tests)
aerodyn15    =   5.48 sec*proc (19 tests)
beamdyn      =   3.29 sec*proc (11 tests)
dynamic      =   0.88 sec*proc (3 tests)
elastodyn    =   7.30 sec*proc (25 tests)
hydrodyn     =   2.00 sec*proc (7 tests)
linear       =   1.26 sec*proc (4 tests)
map          =   0.86 sec*proc (3 tests)
moordyn      =   0.28 sec*proc (1 test)
openfast     =   8.57 sec*proc (29 tests)
servodyn     =   7.62 sec*proc (26 tests)
static       =   1.13 sec*proc (4 tests)
subdyn       =   0.86 sec*proc (3 tests)

Total Test time (real) =  11.04 sec

In case it is useful, the software I installed for doing this were Cygwin 64-bit, CMake 3.16.0 and Python 3.8.0
Thank you for your help,
Jon

@jonmtz In openfast/unit_tests/CMakeLists.txt, change the following block at line 34. I think this will pass along your Python interpreter path from the OpenFAST CMake project to the pFUnit CMake project.
### pfunit
include(ExternalProject)
set(ExternalProjectCMakeArgs
  -DCMAKE_INSTALL_PREFIX=${PROJECT_BINARY_DIR}/pfunit
  -DROBUST=OFF
  -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}.   # <---- ADD THIS LINE
)

Let me know how this works.

Is that the Windows Python and can you use that Python interpreter in Cygwin? You can test that by opening a new Cygwin terminal and enter:
/cygdrive/c/Windows/py.exe

If that opens a Python prompt and you can run simple commands (something like print("hello")) then you're fine.
Running from the build directory is what you're supposed to do, so thats fine, also.
Otherwise, I'm not sure what might be the problem. You could try to old unplug-it trick by deleting your entire build directory and starting over since you've now changed quite a bit from when you started.

Dear @rafmudaf ,
You were right, I had installed Windows Python and cygwin has its own python to install, so I did it. Besides, as you said, I removed all the build folder and performed the commands: FC=gfortran cmake ../ and make in order to create it again. A fact to comment is that, in this case, in order to create the build files, I used the Cygwin.bat command window instead of using Cygwin64 Terminal, and the execution was considerably faster.
Nevertheless, when trying to perform again the beamdyn_utest I keep having pretty the same error:
myname@myname /cygdrive/d/Users/myname/Documents/OpenFAST/build
$ make beamdyn_utest
Scanning dependencies of target pfunit
[  4%] Creating directories for 'pfunit'
[  4%] No download step for 'pfunit'
[  8%] No patch step for 'pfunit'
[  8%] No update step for 'pfunit'
[  8%] Performing configure step for 'pfunit'
-- The Fortran compiler identification is GNU 7.4.0
-- Check for working Fortran compiler: /usr/bin/f95
-- Check for working Fortran compiler: /usr/bin/f95  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether /usr/bin/f95 supports Fortran 90
-- Checking whether /usr/bin/f95 supports Fortran 90 -- yes
** WARNING: Install path not found! Please set PFUNIT or use -DINSTALL_PATH=...
++ Remember to set the environment variable PFUNIT to the install directory!
++ Example: export PFUNIT=OFF
-- Installing to INSTALL_PATH: OFF
-- Found PythonInterp: /usr/bin/python3.
Including generated files ''.
CMake Error at source/CMakeLists.txt:26 (include):
  include could not find load file:

    /cygdrive/d/Users/myname/Documents/OpenFAST/build/unit_tests/pfunit-build/source/

-- Configuring incomplete, errors occurred!
See also "/cygdrive/d/Users/myname/Documents/OpenFAST/build/unit_tests/pfunit-build/CMakeFiles/CMakeOutput.log".
make[3]: *** [unit_tests/CMakeFiles/pfunit.dir/build.make:107: unit_tests/pfunit-stamp/pfunit-configure] Error 1
make[2]: *** [CMakeFiles/Makefile2:3232: unit_tests/CMakeFiles/pfunit.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:3207: unit_tests/CMakeFiles/beamdyn_utest.dir/rule] Error 2
make: *** [Makefile:1072: beamdyn_utest] Error 2

Any ideas?
Thank you,
Jon

@jonmtz are you still facing this problem? If so, verify that the python interpreter you're using /usr/bin/python3 can run in the Cygwin.bat prompt.
I'm closing the issue, but will reopen when you respond.

Dear @rafmudaf,
As I was not able to compile using cygwin, I decided to use the precompiled version of OpenFAST. Nevertheless, I will try what you say to be able to use the latest versions of OpenFAST.
As for the precompiled binaries for Windows:

OpenFAST v2.2.0 release still does not have the binaries attached.
With OpenFAST v2.1.0, the executable for 32 bits (openfast_Win32.exe) does not work, or at least I was not able to do so.

Is it expected to upload v2.2.0. binaries soon?
Thank you for your help,
Jon

Hey @jonmtz I've uploaded the v2.2.0 binaries on the release page


First pass at AgentEval offline integration

Why are these changes needed?

Related issue number

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

Codecov Report
Attention: Patch coverage is 0% with 16 lines in your changes are missing coverage. Please review.

Project coverage is 43.77%. Comparing base (de75770) to head (309813d).
Report is 124 commits behind head on main.

Files
Patch %
Lines

autogen/agentchat/contrib/critic_agent.py
0.00%
8 Missing :warning:

autogen/agentchat/contrib/quantifier_agent.py
0.00%
8 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2156      +/-   ##
==========================================
+ Coverage   36.03%   43.77%   +7.74%
==========================================
  Files          63       71       +8
  Lines        6608     7150     +542
  Branches     1456     1685     +229
==========================================
+ Hits         2381     3130     +749
+ Misses       4036     3751     -285
- Partials      191      269      +78

Flag
Coverage Δ

unittests
43.66% <0.00%> (+7.63%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@qingyun-wu @sonichi  Can you please take a look? We want to make sure that we're in agreement about the design


Allow to enable tracing for IoT

I don't expect this to be merged for the next version. I also thinks it makes sense to have some common feature in EnMasse for this. But this helps with current IoT development.
This enables Jaeger tracing with the IoT parts of EnMassse in combination with the Jaeger Operator.

@enmasse-ci run tests profile=iot testcase=io.enmasse.systemtest.iot.shared.http.HttpAdapterTest

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: iot
TEST_CASE: io.enmasse.systemtest.iot.shared.http.HttpAdapterTest
TOTAL: 5
PASS: 5
FAIL: 0
SKIP: 0
BUILD_NUMBER: 342

Should we consider enabling of tracing to happen from a monitoring CR? Especially with the daemonset, I think that is something that definitely applies to components outside of IoT.

Yes, I absolutely agree. I tried to explain that in one of our calls, right now tracing helps us in developing IoT components. And adding a proper "tracing" CR is on our roadmap.
So my proposal would be, to get started with this PR, and removing the section from the IoTConfig later on, when we have that "tracing" or " monitoring" CRD. The other changes in this PR would be required anyway, as they enable tracing and jaeger in the different IoT components.


How to share same component across views without redeclaring it ?

Hey,
I'm trying to use https://github.com/gnestor/react-native-statusbar-alert to inform users that there data are being refreshed when he logs in.
The issue is that i'd have to redeclare the same component on all my views using a global state to make sure that the status bar persists if users navigate from one view to another.
I thought of making a HOC to handle it in a cleaner way, but i'm not really satisfied with it, as i'm forced to encapsulate all my main views with it, it just feels weird.
The library actually propose to share it across view with the default navigator
render() {
  return (
    <View style={styles.container}>
      <StatusBarAlert
        backgroundColor="#3CC29E"
        color="white"
        visible={this.state.alerts.length > 0}
        {...this.state.alerts[0]}
      />
      <Navigator
        initialRoute={initialRoute}
        renderScene={this.renderScene}
        navigationBar={
          <Navigator.NavigationBar
            routeMapper={routeMapper}
            style={{top: -20}}
          />
        }
      />
    </View>
  )
}

Is there a way to kind of do the same thing using RNRF ?
Thank you guys for your help.

This is not an issue, and you should ask these types of questions on StackOverflow


Syncing favicons seems to corrupt them

Steps to reproduce:

Create a new project using the archetype
Sync it to an AEM instance
The favicon is now corrupted:
/etc/designs/${appsFolderName}/favicon.ico

I'm unable to reproduce this, I verified in the following way:

Create sample project ( archetype version 11-snapshot )

Check sha1sum for the favicon: a0a8733a15b85813411087035d4bd477371059ee

Create AEM server in Eclipse
Connect to AEM server in Eclipse
Deploy .apps project to server from Eclipse

Check sha1sum for the favicon: a0a8733a15b85813411087035d4bd477371059ee

Go to the .apps project, navigate to /etc/designs/test, import from Server,

Check sha1sum for the favicon: a0a8733a15b85813411087035d4bd477371059ee
So neither import nor export seem to corrupt the favicon. If you have more detailed steps to reproduce or can show me how it happens :-) please reopen


Make it clear that the SDK only supports Windows platform

Hello, I have installed VSIX on my MacBook. The workspace was settled correctly, but then it dropped into an endless loop with Display extension info, and if I canceled it and tried to run anything else like "Set credentials," it went into a loop also.

I have tried the same on a Windows machine, and it works.

The SDK (or more specifically, the backend sdktools package we use for M evaluation) currently only supports windows.
While we have PQ/M running on mac (for Excel), the engine doesn't have full parity with the Windows version. The mac engine runs under .net core, which doesn't have the full set of data providers available (or an ODBC stack), and there some behavior differences vs. net472 that we need to smooth out before we could consider supporting the SDK tools on non-windows OS. We want evaluations to run the same in the SDK as they do in desktop/power bi/gateway/dataflows/etc to avoid environment specific bugs/issues.
I'll rename this issue to reflect that the extension should warn that it is windows only.

I understand. That's why I prefer to ask. However, because I usually find that extensions in Visual Studio Code support any environment (at least the ones I use), I had to try it because I didn't even notice that it was mentioned in the description. So far, everything I've tried on Windows has worked. I tested my old connector there and was able to build, edit, run and debug it and get data! You have done fantastic work. No need to do it in Visual Studio anymore, but I can finally use Code.

Would setting an OS dependency in the extension's package.json prevent installing on non-supported OSes?

Would setting an OS dependency in the extension's package.json prevent installing on non-supported OSes?

That was my first thought - we could set "os": [ "win32" ] in the package.json. I couldn't find anything in the VSCode docs indicating that they honor/check this field when you publish to the marketplace, and I doubt it'll block things if you install the vsix manually.
Either way, we shouldn't end up in an infinite loop. If we can't block the install, then I'm hoping we can throw an error before we try to download the SdkTools nuget.


inconsistent vertical axis labels for gridmatrix

%%opts GridMatrix [fig_size=150 padding=0.05] Scatter [show_grid=False] (alpha=0.1 s=7) Histogram {+axiswise}
distributions = [np.random.rayleigh, np.random.normal, np.random.exponential, np.random.logistic]
dist_table = hv.Table(tuple(d(2, size=1000) for d in distributions), vdims=[d.__name__ for d in distributions])
hv.operation.gridmatrix(dist_table).relabel(group='Distributions')

bottom left vertical axis label is 'Frequency', all other vertical axis labels are the name of the distribution

The next example from the Containers.ipynb tutorial
%%opts Layout [hspace=0.2 fig_size=150] Scatter (alpha=0.1) Histogram (alpha=0.3)
cycle = hv.plotting.Cycle()
holomap = hv.HoloMap({d.__name__: hv.Points(d(2, size=(1000, 3)))
                      for i, d in enumerate(distributions)}, kdims=['Distribution'])
hv.operation.gridmatrix(holomap) + hv.operation.gridmatrix(holomap.overlay())

has a title and axis labels that force me to read the code to figure out what I am seeing...


update_event_sources fails on SNS and S3 event sources

Per #32, add an update method for event sources that don't have them.

I guess they must have changed this.  Did the old version stop working for you?

It didn't, but according to the docs it's a deprecated call, so I thought it'd be good to update it.
The first patch is just for the "update" call on SNS/S3 resources.


[RFC] tcmu: Add Format Unit

This should add format unit cmd, I've tried using sg_format but the tool doesnt work for me to test... So i've been waiting on another team to test, but they are taking awhile so if you guys can either test or review that would be great.
Signed-off-by: Bryant G. Ly<EMAIL_ADDRESS>

Yep, I will remove and make them debug before merge, but for some reason with this code I am only able to get the first two commands to go through and then it stops...
Apr 20 13:12:39 x0542alio tcmu-runner
: 12: handle_format_unit:578 : start emulate format, done_blocks:0 num_lbas:20971520 block_size:512
Apr 20 13:12:39 x0542alio tcmu-runner
: 12: handle_format_unit_cbk:504 : next format cmd, done_blocks:2048 num_lbas:20971520 block_size:512
ANy ideas?

What is weird to me is that it does the async_handle_cmd from the initial handle_format_unit then when that command finishes it goes to handle_format_unit_cbk and it just stops... Traces dont show any commands after that.

This is all I see in the traces:
Apr 20 17:04:44 x0542alio tcmu-runner
: 12: handle_format_unit:583 : start emulate format, done_blocks:0 num_lbas:4194304 block_size:512
Apr 20 17:04:44 x0542alio tcmu-runner
: 12: format_unit_work_fn:478 : format work fn, done_blocks:0 length:1048576 offset:0
Apr 20 17:04:44 x0542alio tcmu-runner
: 12: handle_format_unit_cbk:513 : next format cmd, done_blocks:2048 num_lbas:4194304 block_size:512
Apr 20 17:04:44 x0542alio tcmu-runner
: 12: format_unit_work_fn:478 : format work fn, done_blocks:2048 length:1048576 offset:1048576
it looks like it is not doing the call back... It just stops and hangs there. The client still thinks its doing the format

@mikechristie Tested and works now! It seems like i had to create a new iovec everytime to get it to work, I couldn't reuse the iovec, im assuming because handlers seek so it consumes? Anyways I added the comment in the code for that part.

Doh, you are right. Some handlers will also update the iov_len.

good catch on the goto's and thanks for reviewing!

Btw we tested disk with size > 1MB, size < 1MB, and size == 1MB, since the length set was 1MB and they all seem to work.

Hey,
I busted this patch with my alua prep patchset. Basically, I reseparated the libtcmu tcmu_device from the tcmu-runner device specifics. The format unit device bits like the progress and state should be in the runner specific struct since it is only used by runner. Attached is a patch to port your patch to the current code. I did not test the patch and I did not fix or check if the last goto unwinding comments were done, so if that was not yet updated you still need to fix that.
Go ahead and just take over this patch like as if it was yours. Put it in your branch you are pushing and make updates like your normally would.
format-unit-update.txt

On vacation until the end of the week but I'll look when I get a chance

@mikechristie I rebased to the latest and had tests run on it

@bgly did your comment mean they passed your teams QA or just that they started running tests?

@mikechristie It passed the QA for basic format unit support.

Thanks.


Optionally print backtraces after error

When I run cargo run --package wasmtime-cli --bin wast -- --enable-simd -d tests/spec_testsuite/proposals/simd/simd_conversions.wast I see the following error (as I expect):
for directive on tests/spec_testsuite/proposals/simd/simd_conversions.wast:3:1

Caused by:
    0: Failed to setup a module
    1: Validation error: module did not validate: Unknown 0xfd opcode (at offset 629)

The error chain printing is great but I thought I would be able to add the actual backtrace to this output by setting RUST_BACKTRACE=1 in the environment. Unfortunately, I am either doing this wrong or we need to add some code to src/wast.rs, src/wasmtime.rs, and src/wasm2obj.rs. @alexcrichton, @joshtriplett: any thoughts on this?

I believe that if you use the nightly toolchain and RUST_BACKTRACE=1 this should work? Can you try testing that out and see if it produces a good enough backtrace for your use case?

Cool, that worked!
cargo +nightly run --package wasmtime-cli --bin wast -- --enable-simd -d tests/spec_testsuite/proposals/simd/simd_conversions.wast


JWS 1.1.2 integration

integrate new JWS version
Signed-off-by: Maxim Nesen<EMAIL_ADDRESS>

we don't want to do changes in EE4J branch, just in master...


Added a function to check for input anomaly

Hi, I added a function to check for input anomalies (function prototype at line 28 and definition at line 541)
Try to implement it and let me know what you think about it.

@PracticalMetal Yeah, adding an extra check and the problem is fixed! Thank you very much! Now I am going to integrate it to the eval function!

Glad it worked!


Opening external links: ZDF media library

Samsung Galaxy A13 5G (SM-A136B)
Android 13
ZAPP 8.4.0
Parallel to ZAPP, I also installed the ZDF media library (https://play.google.com/store/apps/details?id=com.zdf.android.mediathek&hl=de). Links to the media library of the Zweites Deutsches Fernsehen are opened within ZAPP contrary to the usual behavior. Other destinations are opened in a standardized manner either in the corresponding media library app or in the standard browser.

Thanks for reporting!
I would suggest, this is intended behaviour of the Android system. Zapp is using a very, very pain "please system, view this url" intent - nothing fancy here. The ZDF app is most likely registering for the "https://zdf.de/" url scheme and responding to this system call.
Why browsers and the ZDF behave differently regarding the app stack, I cannot tell. But there is nothing Zapp can change whithout breaking other things.

If I uninstall the ZDF media library, ZDF links open externally in the default browser as expected.
However, the phenomenon occurs again when reinstalled. A temporary problem can probably be ruled out.
Who should I contact to get this resolved? Samsung or ZDF?

This can only be fixed by the ZDF app - but like I said: this is intended behaviour.

Desired behavior? In what way?
What is the best way to give feedback to ZDF, i.e. in terms of content? Is there anything technical I should point out regarding Android? Should I mention ZAPP or not?

Desired behavior? In what way?

When you ..

However, the phenomenon occurs again when reinstalled.

...

The ZDF app is most likely registering for the "https://zdf.de/" url scheme and responding to this system call.

What is the best way to give feedback to ZDF

They should not register their App for the "https://zdf.de/" url scheme ..

Should I mention ZAPP or not?

its not related to ZAPP .. all Apps that want to open a "https://zdf.de/" url will be handled by the ZDF App ..

Desired behavior? In what way?

it is the behavior desired by the ZDF app.
If won't this behavior, you can not install the ZDF App.


[HOLD for payment 2023-09-04] Console error on opening the report

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

Action Performed:
To reproduce open report which has money request previews.

Open any chat report
Observer the console error(Unexpected text node: . A text node cannot be a child of a )

Expected Result:
Console error should not occur
Actual Result:
Console error occurs(Unexpected text node: . A text node cannot be a child of a )
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: dev
Reproducible in staging?: dev
Reproducible in production?: dev
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/bb27e7b7-a57d-4147-9629-1620f7e4863f
Expensify/Expensify Issue URL:
Issue reported by: @Pujan92
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692641891784579
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Console error on opening the report which has money request previews
What is the root cause of that problem?
It seems to be a regression from this PR where we are using string variable for a conditional rendering. For an empty string it tries to render empty Text and causes the issue.
https://github.com/Expensify/App/blob/d1cf9be0d28128e921c2ba606cde680f2fa537d7/src/components/ReportActionItem/MoneyRequestPreview.js#L257-L261
What changes do you think we should make in order to solve the problem?
Use !_.isEmpty(requestMerchant) to convert it to a boolean to avoid rendering unexpected empty Text which prevents the issue Unexpected text node: . A text node cannot be a child of a <View>..

cc @Li357

@s77rt Will address here! https://github.com/Expensify/App/pull/25613

Not able to reproduce on staging, not a deploy blocker.

This was deployed yesterday so its a deploy blocker, assigning @Li357 as he ha a fix up

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

The PR was merged, can we remove the deploy blocker?

Cant reproduce anymore @Pujan92 Can you confirm
If that is the case @bfitzexpensify can you please pay out $250 to @Pujan92 for reporting?

Yes @mountiny , not reproducible now.

No regression steps needed.

Offer sent for reporting @Pujan92

Offer sent for reporting @Pujan92

Accepted @bfitzexpensify :)

Cool, all paid out, we're done here!


Login and Registration

We need to create a module for logging and registration.
The user can register with standart email and password or login with google.

-Zacal nad tym pracovat
-Urobil frontend


Implementing hardware_camera through ROS driver libuvc_camera

https://answers.ros.org/question/218573/running-2-different-cameras-using-usb_cam/
https://rosstitchernode.wordpress.com/2014/06/05/ros-and-opencv-with-usb_cam/
http://wiki.ros.org/libuvc_camera
Check this out ...... for implementation

Since libuvc_camera has a bug of not identifying camera with serials ...... or in any case ... we are not able to operate 2 cameras with it ... so we are using usb_cam and also we implemented udev rules to assign specific device nodes to both the cameras for no confusion....

Alright! Looking forward to the pull request! :)