Bg interview webhook receiver

Investigation

Looked at repo in email link

Decided what to refactor
+ Went with the EmailRenderer initially and see how much time it takes to proceed with further refactoring
+ Created a very quick and dirty test throwaway project to do some initial work on this class to see what could potentially be refactored

Read up on Azure Functions (No prior exp as I have exp with AWS lambdas and Step Funcitons)
Read up on DotLiquid (Never used before)

Implementation

Get app running and send an email to my own address showcasing product template

Accidentally pushed to main branch

Added Test Project

Revert initial commit and create my own BG_Interview_WebhookReceiver branch
Added the Builder Test
Added the builder that will be used to refactor the hardcoded template in 'EmailRenderer' (went with this approach instead of pulling it all out into a new template file)
+ Added the Domain model for the email message (OrderEmailMessageAggregate)
Add html utility class and fluentassertions to test project for the builder test
+ Run test with hardcoded setup (Would be better to use the 1.json, would like to have revisited)
Add the messy method logic 'GetItemsPart()' to the builder (Didn't get to return to refactor this)
+ Added the BarcodeService
Added the new builder to the EmailRenderer class 'GetOrderItemsPartial' and remove unused methods (Also added back the SMPT to verify mail still worked)

Work on strategizing the templates

Added an initial strategy pattern for 'GetOrderItemsPartial'; starting here because it will use the builder
Added the rest of the strategies (No tests or TDD approach on this, time concern)

Removed refactored and now obsolete EmailRenderer (Left it with a single comment for sake of interview)
Added State Machine to AzureFunction to construct the workflow of creating the order template and sending the email
Added DI (CurrencyService. EmailService, File Service and BarcodeService)

Please ignore! Accidentally created in yer repo, apologies.


Reorganizing sway-std-lib

Is this a new feature or an improvement to something that already exists?
Select 1 checkbox

[ ] New feature
[x] Improvement

Description
What does your feature accomplish?
It makes it easier to navigate the standard library depending on the context.
Furthermore, it makes it easier to scale the size of the library.

It accomplishes this by looking at the context of what each file achieves and groups them together under directories e.g. ecr.sw and hash.sw can be grouped under hashing or cryptography.
Draft implementation

We have a chain.sw which only has a dep decleration inside. We also have a chain directory. This should be reorganized.
We have context.sw and also a context directory, this too should be fixed.
assert.sw and require.sw should probably be grouped together if not placed in the same file
option.sw and result.sw should also be together, perhaps with logging.sw?
ecr.sw and hash.sw should be together, keep in mind that we have a vm directory which is specifically for EVM equivalent ecr
intrinsics.sw, storage.sw, block.sw, context.sw and chain.sw could be together?
address.sw, contract_id.sw, b512.sw and u128.sw can be together?

cc @nfurfaro @adlerjohn @sezna @otrho

Things that are mirrors of the Rust standard library should be kept as they are in Rust. E.g. Result is in std::result (https://doc.rust-lang.org/std/result/) and Option is in std::option (https://doc.rust-lang.org/std/option/).
For our own types and functions, it's definitely the case that things could be reorganized. E.g. a crypto module for hashing and signature stuff. Note that this will require extreme care: the suggestion "option.sw and result.sw should also be together, perhaps with logging.sw" is exactly something we don't want to do. The former two are mirrors of Rust stdlib types, and logging is something completely orthogonal and has to do with the blockchain. They have no semantic relationship.
Designing a proper API is non-trivial, and we have to take extreme care when designing the stdlib API to make it good. In the interim, avoiding grouping and having a flat structure at least doesn't impose any implicit semantics on groups of functions/types.


Feature/python311

Codecov Report

Merging #11 (2e7aa68) into main (0234fce) will increase coverage by 0.79%.
The diff coverage is 95.16%.

@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
+ Coverage   93.63%   94.43%   +0.79%
==========================================
  Files          10       10
  Lines        1163     1204      +41
==========================================
+ Hits         1089     1137      +48
+ Misses         74       67       -7

Impacted Files
Coverage Δ

danio/__init__.py
100.00% <ø> (ø)

danio/model.py
95.25% <95.16%> (+0.92%)
:arrow_up:

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


fix(ui): ensure lndconnect string is trimmed

Description:
Prevent app from crashing when using a valid LND connect with leading or trailing spaces

How Has This Been Tested?
Manually

Types of changes:
Bugfix

Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[ ] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage decreased (-0.009%) to 20.142% when pulling 61116671d4f6b7751f4f20f6337c527658fd69aa on korhaliv:fix/trim-lndconnect into ccdb228d97940b10b7eb869a77c87c06b167f499 on LN-Zap:next.

Coverage decreased (-0.009%) to 20.142% when pulling 61116671d4f6b7751f4f20f6337c527658fd69aa on korhaliv:fix/trim-lndconnect into ccdb228d97940b10b7eb869a77c87c06b167f499 on LN-Zap:next.

@mrfelton I've added trimming to LndConnectionStringInput but left the trimming code inside ConnectionConfirm too for the sake of future-proofness
The reason is - lndconnect string comes to ConnectionConfirm from the outside and it can't control whether it's trimmed or not. So if in future we add, say, paste from clipboard - there will still be a crash


Helm insecure flag is not honored when performing a push to insecure repo

Is this a request for help?:
YES
Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT
Environment (plugin version, maven version, OS, ...):
Plugin version: 6.7.0
Helm repo type: Harbor (with self signed certificate)
What happened:
I configured the Harbor OCI registry login as a separate step and I added the insecure flag. It worked correctly.
However, when I try and upload my chart using the push goal, the login is re-attempted. This login attempt does not honor the insecure flag, so the build fails.
What you expected to happen:

if a previous login was already performed, the login part should be skipped
the insecure option should be added to the push goal to allow tghe push to insecure registries. Helm provides the --insecure-skip-tls-verify option to bypass the certificate during push.

How to reproduce it (as minimally and precisely as possible):

Spin up a Harbor registry (or any registry that uses a self-signed certificate)
Build a chart
Try to upload the chart to the insecure registry using the push goal

Anything else we need to know:
Currently we are bypassing this issue by using the exec-maven-plugin and performing the push command outside the plugin, however this approach works only if the Helm executable is in the path.

Thanks for your report.
I'will add the flag for insecure login to helm:push and a flag to skip login with helm:push.

@steromano87 i've created a pull request #303 Can you verify that this is a solution for your issue?

Hi @sschnabe, I'm using version 6.9.0 of the plugin and I still have this issue: adding the insecure flag only fixes the helm:registry-login issue, but not the helm:push one:
[INFO] --- helm-maven-plugin:6.9.0:push (default-cli) @ core ---
[INFO] Use 3.12.2 as helm version
[INFO] Uploading /home/daniele/workspace/dan-shop-core/target/helm/repo/dan-shop-core-service-0.0.1-SNAPSHOT.tgz...
[ERROR] Error: failed to do request: Head "https://minikube.nexus-docker-dan-snapshot-http:30501/v2/dan-shop-core-service/blobs/sha256:168262311e5e887e5a61229248000d146d3691647fd080d39a7d04cebdd910bf": http: server gave HTTP response to HTTPS client

I'm running the following command:
 mvn helm:init helm:dependency-build helm:lint helm:package helm:registry-login helm:push

And here is the plugin configuration:
                    <insecure>true</insecure>
                    <skipPushLogin>true</skipPushLogin>
                    <chartVersion>${project.version}</chartVersion>
                    <chartDirectory>${project.basedir}/${project.name}</chartDirectory>
                    <autoDetectLocalHelmBinary>false</autoDetectLocalHelmBinary>
                    <helmDownloadUrl>https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz</helmDownloadUrl>

                    <uploadRepoStable>
                        <name>release-repo</name>
                        <url>${docker.repository.release}</url>
                        <type>NEXUS</type>


Rigid registration attempts impossible warps

Hi!
I was running VALIS on a set of prostate histopathology whole-mounts and encountered an out-of-memory issue during the rigid registration. The whole-mounts are roughly ~50Kx50K pixels, but the warped images in the finalize function in serial_rigid.py are supposedly ~35Mx33M. This unsurprisingly results in an OOM error as it tries to allocate a whopping 664 GB in memory when converting the array from vips to numpy.
So far I've only encountered this problem when using OrbFD as feature detector, the standard feature detector works well. In any case, it might be worthwhile to implement some assertion or sanity check to verify that the warp_img method does not attempt any extreme warps. Maybe it might even be possible to re-run (part of) the rigid registration if this is encountered?

Hi @dnschouten, thanks for the suggestion, it's a good idea. Will have to think about what would be considered "extreme", but it would be good to have something to avoid this sort of situation.
Best,
-Chandler


add label selector on HostPath

Description
Node names in cloud environments are not always predictable or stable.
so on it should not be used as nodeselector in HostPath (LocalPv)
Add the opportunity  to specify on the host path storage class a config parameter to say that the node selector is not based on the node name but base on one or more specific label.
by example : nodeSelectorBaseOnLabel="boshId","AZ"
in this case in PV will have the a nodeSelector like classical localHost see https://kubernetes.io/docs/concepts/storage/volumes/#local
apiVersion: v1
kind: PersistentVolume
metadata:
  name: example-pv
spec:
...
  nodeAffinity:
    required:
      nodeSelectorTerms:
      - matchExpressions:
        - key: boshId
          operator: In
          values:
          - 34xxc-jkjkjk
      - matchExpressions:
        - key: AZ
          operator: In
          values:
          - Z1

Context
When I use HostPath a LocalPV as storageclass, I see that the PVC requiere that the PV are located on a specific node by using a node selector. It's normal that the PV is attached to the Node. Currently the node selector is based on the node name.
On openstack by example the node name is define by the iaas. The node name is the vm id  and can not be override by arg hostname-override see https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#node-name-4
On Other iaas the behavior can be different see https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/#node-name-2

may you can be inspired by what have been done by @kmova in this https://github.com/openebs/maya/commit/65a1b8efd5bf16e73717eab90352a70f962b5eb9
but with more flexibility about the choice of label

I ask the opportunity to put more than one label because when we use more than one AZ the bosh Id can be the same on different AZ  (if you are really really not lucky :-) ).

The feature request can be supported by refactoring the Local Provisioner code as follows:

Remove the assumption that there is only one nodeSelector Label (kubernetes.io/hostname) on the PV. The change needs to happen in the helper job pods and PV spec.
Support an annotation called UniqueNodeSelectionLabels which can be a comma-separated list of node labels. If this parameter is not specified, assume the default value of kubernetes.io/hostname.
While this issue has been raised on the hostpath, it will be better to extend the support to other provisioners as well like Local PV (device), Local PV (zfs), cStor and so forth.

@kmova  Are there any updates on this issue?

With 2.4.0, OpenEBS Local Hostpath storage class can specify a custom node affinity label like (openebs.io/custom-node-id) as follows:
kind: StorageClass
metadata:
  name: openebs-hostpath
  annotations:
    openebs.io/cas-type: local
    cas.openebs.io/config: |
      - name: StorageType
        value: "hostpath"
      - name: NodeAffinityLabel
        value: "openebs.io/custom-node-id"
provisioner: openebs.io/local
volumeBindingMode: WaitForFirstConsumer
reclaimPolicy: Delete

Keep this issue open to seek feedback from the community on the feature and check if further enhancements are required.

Quick question on this one. Can I use it to select certain node? like
It only can create local pv on the node with the special NodeAffinityLabel?


[FEATURE] Add removal policies for the tables created by integrations

Is your feature request related to a problem?
No
What solution would you like?
If I use an integration, it creates various tables in GDC. When I delete the integration, OpenSearch does not delete those tables. While this is the right behavior in many scenarios, there are many other scenarios where I want to delete all associated resources, including the tables.
Can we add a "removal policy" to the integration that lets me specify what OpenSearch should do when the integration is deleted? The AWS Cloud Development Kit (CDK) has a RemovalPolicy that standardizes how the generated template should handle deletes for AWS resources. For example, I can create an S3 bucket with this Python code
        s3_bucket = s3.Bucket(self, f'MyGreatS3Bucket',
            block_public_access=s3.BlockPublicAccess.BLOCK_ALL,
            bucket_name=BUCKET_NAME,
            enforce_ssl=True,
            versioned=True,
            removal_policy=cdk.RemovalPolicy.DESTROY,
            auto_delete_objects=True,
        )

cdk.RemovalPolicy.DESTROY causes CDK to generate the following resource in the CloudFormation template
  MyGreatBucket:
    Type: AWS::S3::Bucket
    Properties:
      ....
    UpdateReplacePolicy: Delete
    DeletionPolicy: Delete
      ...

Other choices are RemovalPolicy.SNAPSHOT and RemovalPolicy.RETAIN. This seems like a good way for me to specify what I want to happen.

Thanks for the request!
I'm thinking of how to try and go about it. We probably need to get the table and MV information added in the instance object, with steps to delete for each object type, and some flag. It might be tricky because we don't necessarily know ahead of time every type of GDC object that we'll need to delete (with DROP TABLE or DROP MATERIALIZED VIEW or other options).
Maybe adding some sort of glue_params object with a resources array:
"glue_params": {
	"removal_policy": "delete", // Assuming we don't need anything more granular than a global policy enum

	// Insert in install order, probably need to delete in reverse order
    // (does Spark SQL let you drop everything in parallel?)
	"resources": [
		{
			"name": "s3conn.database.table",
			"type": "table"
		},
		{
			"name": "s3conn.database.index",
			"type": "skipping_index"
		}
	]
}

Then we just need to add a way to specify this policy in the install process, probably as part of building.
Related is the issue of letting integrations drop tables during a failed install if earlier queries succeed; being able to do that rollback would also require type-based dropping, but is tricky because many integrations use CREATE IF NOT EXISTS queries so we can't blindly delete everything we touch.
@YANG-DB can you triage?

can you triage?

"Fine, I'll do it myself."


Test does not work

I copy/paste the test code from here : https://github.com/coin-or/Rehearse/blob/master/Rehearse/tests/testRehearse.cpp
exemple2 seems to fail :
Solution for x : 1.27156e+20
Solution for y : -8.4771e+19
Solution objvalue = : 4096
Assertion 'fabs(3 - model.getSolutionValue(x)) < 0.00000001' failed, file '/home/arsleust/enpc/s3/rechop/tp/cpp/test.cpp' line '88'.Aborted

Does it mean my installation is broken ?

There is definitely a problem. Did make test work well?

make test fails as well
Test 4 : OK
Solution for x1 : 4
Solution for x2 : 14
Solution objvalue = : 154
Test 5 : OK
Solution for x : 1.27156e+20
Solution for y : -8.4771e+19
Solution objvalue = : 4096
Assertion 'fabs(3 - model.getSolutionValue(x)) < 0.00000001' failed, file 'testRehearse.cpp' line '88'.make[2]: *** [test] Abort trap: 6

Should be fixed by 3847e5a3b622825bbaf233c2c888af2a660f11dd


B-21364 I-12546 MAIN

Please merge in B-21364 first: https://github.com/transcom/mymove/pull/14250
INT PR

Merging this work into main here to go with it's parent BL


How to get props from Actions.pop()

When you pop a Route, there is the option to pass a props parameter. How would you obtain this after the pop?

use onPop handler (for Router) or redux events (check docs)

Ah, I see. When you refer to docs, are you talking about the readme or is there something I'm missing? I've been trying to undersatnd how this awesome project works by looking at the code. Thanks


No option to share with time range for single repo

In the compare feature is possible to share the link including the time range currently selected, this is not possible with the single repo.

Fixed in https://github.com/emanuelef/daily-stars-explorer/commit/248755916a7d291a2a169fbdc19380e2764f8c09


Simplify division limit calculation

The calculation from #340 can be simplified.

Since we agreed that this is mostly a question of taste, I still feel that this not really an improvement. This might be shorter, but it's not more concise in a positive way, three separate thoughts/concepts (calculating the order of magnitude, excluding negative numbers, adapting to the available range of units) are squashed into one rather convoluted and hard to read line.
TBH, I don't really know how to proceed from here^^ Maybe @lukasjuhrich can be the judge of this.

I still stand by my changes.


golang 1.16 fails to builld: problem with modules

During maintaining of archlinux/docker-registry2-git AUR package, problem with building occured after distro.updating from go-1.15 to go-1.16:
$ LC_ALL=C makepkg -s
==> Making package: docker-registry2-git r2914.89337b7a-1 (Thu Mar  4 12:15:11 2021)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating docker-registry2-git git repo...
Fetching origin
  -> Found docker-registry.conf
  -> Found docker-registry.service
  -> Found docker-registry.sysusers
==> Validating source files with sha256sums...
    docker-registry2-git ... Skipped
    docker-registry.conf ... Passed
    docker-registry.service ... Passed
    docker-registry.sysusers ... Passed
==> Extracting sources...
  -> Creating working copy of docker-registry2-git git repo...

    Aborting...

$ go version
go version go1.16 linux/amd64

go-1.15 builds ok.

Possible duplicate of https://github.com/distribution/distribution/issues/3377

go-1.15 builds ok.

I confirm this. I've successfully built the registry on golang:1.15.11-windowsservercore where the make binaries leveraging the vendor deps as suggested in https://github.com/distribution/distribution/issues/3377#issuecomment-802043749 is not an option

Possible duplicate of #3377

I think, it's the other way around

Given the GO versions referenced in this issue are outdated and no longer supported I believe we should close this issue.


[FLINK-36642][table] Fix SQL names of built-in functions

What is the purpose of the change
Fix the SQL names of several built-in functions.
The names are used to serialize Table API expressions to SQL. Using wrong function names results in SQL statements that cannot be executed.
Brief change log

add sqlName() to several BuiltInFunctionDefinition in BuiltInFunctionDefinitions
add test cases to ExpressionSerializationTest

Verifying this change
This change added tests and can be verified as follows:

run ExpressionSerializationTest unit test

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes (BuiltInFunctionDefinitions is @PublicEvolving)
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no

+1
LGTM
one minor thing: I noticed there is absent test for CURRENT_ROW_TIMESTAMP
does it make sense to add it as well?

Thanks for the review @snuyanzin!
I didn't add a test case for CURRENT_ROW_TIMESTAMP because there is no Table API expression for it yet.
I fixed the SQL name to have it prepared once a Table API expression is added.
But I can also remove it, if you prefer that.
Thanks, Fabian

ok, I see, thanks for clarification here


Please add tests back to sdist

Having the tests to run locally too make sure things are correct in the local environment would be nice.

to @kitterma try pip install -U django-maintenancemode and then run ./manage.py test maintenancemode


[Refactor] toxicity: API inside function

The warning was annoying so moved the API inside the function. If not set the error will get raised after all the responses are generated but surely people will test it out before going all in?
Also fixed bug for the requests.

lol yes! Had forgotten that was a thing 😅


Update and rename .CODEOWNERS to CODEOWNERS

Motivation
Which issue does this fix?
Updating codeowners file

Review OK 🆗


Add support for fiat invoices

Added support for fiat invoices

https://github.com/alexbosworth/ln-telegram/pull/13

merged separately


Neutron restart pause2

Build triggered. sha1 is merged.

Build started sha1 is merged.

lgtm

Build finished.


Make dependency plugin immutable for different dry-system containers

I still working on dry-system dependency graph plugin and found that current implementation use one notification. For example, we have 2 dry-system containers:
class App < Dry::System::Container
  use :dependency_graph
  use :monitoring

  configure do |config|
    config.ignored_dependencies = %i[not_registered]
    config.auto_register = %w[lib]
    config.name = :main
  end

  load_paths!('lib')
end

class OtherApp < Dry::System::Container
  use :dependency_graph
  use :monitoring

  configure do |config|
    config.ignored_dependencies = %i[not_registered]
    config.name = :new_one
    config.auto_register = %w[]
  end
end

In this case, these two containers will use one notifications object (which was created in the last container). For prevent this behavior we need to make this plugin immutable for each container.
Also, I drop the unused code.

@davydovanton this makes sense


Day47: 'Lowest Common Ancestor of a Binary Tree' solution

Lowest Common Ancestor of a Binary Tree
https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.
According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes p and q as the lowest node in T that has both p and q as descendants (where we allow a node to be a descendant of itself).”

Example 1:
Input: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
Output: 3
Explanation: The LCA of nodes 5 and 1 is 3.
Example 2:
Input: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4
Output: 5
Explanation: The LCA of nodes 5 and 4 is 5, since a node can be a descendant of itself according to the LCA definition.
Example 3:
Input: root = [1,2], p = 1, q = 2
Output: 1


Setup a non-voting set of cluster nodes to reduce DB downtime during reboots

Right now LXD will setup 3 voting database nodes as part of a cluster, when two of those are gone, the database goes offline and all nodes become unresponsive.
@freeekanayaka suggested we allow for a number of non-voting nodes as part of the cluster, those nodes would be receiving the database stream but wouldn't block database changes. LXD would then promote those non-voting nodes to voting as voting nodes go offline.
I'm thinking of defaulting to 3 voting nodes and 5 non-voting nodes, potentially allowing for configuration of those two numbers.

This should integrate with #6172


Accessibility Violations:   The tabbable element's role 'search' is not widget roles

Location
< div
class="bx--search bx--search--lg bx--search--light"
tabindex="0"
role="search" >

What browser are you working in?
Mozilla

What version of the Carbon Design System are you using?
"carbon-components": "^10.56.0",
"carbon-components-angular": "^4.59.8"

Screenshots or code

Hi, is there an update on this issue? We just found this issue after adding the search bar component to our application.

Hi, is there an update on this issue?


bug when click the profile_card to push a new detail page

bug when click the profile_card to push a new detail page

sorry it's ok

the current profile card overlay doesn't hide


Update Composer dependencies (2024-05-30-00-10)

Visual regression test passed!
View the visual regression test report


docs(yellowpaper): AVM call instructions, split out sections, cleanup

Previewed here
Follow-up tasks:

Cleanup memory model
Cleanup circuit I/O
Link the "Nested Contract Call's" mention of execute(context) to some formally defined routine in the "Execution" section

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 491a8dfe and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,956
181,604
724,196

l1_rollup_calldata_gas
227,132
888,776
3,532,784

l1_rollup_execution_gas
320,323
1,007,224
3,753,162

l2_block_processing_time_in_ms
1,193 (-1%)
4,770 (+6%)
17,862

note_successful_decrypting_time_in_ms
312 (-1%)
1,021 (+6%)
3,612 (+1%)

note_trial_decrypting_time_in_ms
24.8 (-19%)
56.0 (-42%)
169 (-3%)

l2_block_building_time_in_ms
18,172
72,529 (+1%)
291,291 (+1%)

l2_block_rollup_simulation_time_in_ms
13,479
53,724 (+1%)
216,284 (+1%)

l2_block_public_tx_process_time_in_ms
4,666
18,728 (+1%)
74,747 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,713 (+2%)
30,498 (+3%)

note_history_successful_decrypting_time_in_ms
2,302 (-6%)
4,527 (-5%)

note_history_trial_decrypting_time_in_ms
89.2 (-21%)
220 (+19%)

node_database_size_in_bytes
17,301,584
33,157,200

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
327
44,528
25,313

private-kernel-ordering
196
43,633
16,193

base-rollup
1,461
129,774
933

root-rollup
82.2 (-2%)
4,192
729

private-kernel-inner
436
70,819
25,313

public-kernel-private-input
242
33,663
26,945

public-kernel-non-first-iteration
239
33,705
26,945

merge-rollup
7.82 (-4%)
2,712
933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
16,859
35,462

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
549 (-2%)
1,437

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.510 (+2%)
577


Production-ise the initial set of producers

Getting things going:

[ ] any required cleanups — correct JSON, formatting, etc.
[ ] develop management system — installation, plugin selection, boot, parameterisation, etc.
[ ] integrate with systems' puppet infrastructure
[ ] live deployment

Re: JSON cleanup — required structure is here.

Update — I'll break this out into separate issues.

Replaced with #5 #6 #7.


GameEvent Listener not working in Unity 2020.3.15f LTS

Not sure where to ask this. But is the version still not yet supported now?
I tried the currentHealth tutorial, the event won't trigger.
Thanks!

Hi @gundriveth in case you're still running into this issue - If you imported the package using the asset store, try using the Package Manager method instead. I think the problem was related to #141, but this change doesn't seem to be reflected in the Asset Store version.

Same.


[Bug]: Divider Widget Doesn't Expand

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The divider widget is difficult to use and doesn't expand.
The click target for expanding horizontally is too small. An Illustration is shown in the video bel
https://user-images.githubusercontent.com/17744578/145166666-9b3a6d6c-77ea-4ce0-bb43-262d0b86b72e.mp4
ow
Steps To Reproduce

Drag a divider widget into the canvas
Try to expand it horizontally

Environment
Production
Version
Cloud

We need to change the default size to 2 rows which is acceptable by the platform such that the resize takes place by default.
Stretch: Further we will look into what needs to change to accept the default at 1 row.


issue(1709): add NPE exception check

Fixes #1709 .
Motivation
The return value from a method is dereferenced without a null check, and the return value of that method is one that should generally be checked for null. This may lead to a NullPointerException when the code is executed.
Modifications

Use Objects.requireNonNull method to achieve a fail-fast style NPE check.

Documentation

Does this pull request introduce a new feature? (yes / no) no
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented) not applicable
If a feature is not applicable for documentation, explain why? This is a minor issue that comes under code cleanup

@NewtonVan please solve the conflicts.

@NewtonVan please solve the conflicts.

done


Link to better fastcgi documentation

Since the original fastcgi website went down, the fcgi module documentation links to a web archive page for the fastcgi spec.
Some time ago, being the maintainer of a major fastcgi library for nodejs, I created a dedicated GitHub organization, repository and website hosting both the old page from the web archive and a new nicely formatted version of the spec, converted to markdown.
I'm just spreading the word wherever I see dead links or links to the web archive. You could link to the new website if you like. https://fast-cgi.github.io/spec

@fbbdev, great to hear! Thanks! I'll fix our doc links.

Great, thank you!


Incorrect encoding of negative 64 bit int

Hello! Thanks for a great library!
I noticed that the encoding of negative 64 bit integers are wrong. You need to subtract 1 to get the correct value. See the RFC 7049
Major type 1:  a negative integer.  The encoding follows the rules
      for unsigned integers (major type 0), except that the value is
      then -1 minus the encoded unsigned integer.  For example, the
      integer -500 would be 0b001_11001 (major type 1, additional
      information 25) followed by the two bytes 0x01f3, which is 499 in
      decimal.

But you are doing the two's complement:
    public static func encodeNegativeInt(_ x: Int64) -> [UInt8] {
        assert(x < 0)
        var res = encodeVarUInt(~UInt64(bitPattern: x))
        res[0] = res[0] | 0b001_00000
        return res
    }

I got it working by subtracting 1. I also added a static func accepting Int64, like this:
public extension CBOR {
    static func int64(_ int: Int64) -> CBOR {
        if int < 0 {
            return CBOR.negativeInt(UInt64(abs(int)-1))
        } else {
            return CBOR.unsignedInt(UInt64(int))
        }
    }
}

You could probably add a few test cases in your unit test where you explicitly test UInt64 :)
Thx!

NegativeInt not storing the actual usable number is intentional — to make encoded negative max int representable — and mentioned in the readme:

Negative integers are decoded as NegativeInt(UInt), where the actual number is -1 - i (CBOR's negative integers can be larger than 64-bit signed integers).

I guess convenience functions like your int64 would be good, I'd accept a PR with that.


pageres cli delay bug

the cli crashes overtime I try and delay the capture using the cli:

also the cli and npm module both seem unable to capture pages that rely heavily on polymer:
like google maps polymer element

We use PhantomJS in the background which probably can't render Polymer. Not sure about the bug, but probably related. We are waiting for headless chrome so we can ditch PhantomJS. So I don't think we can do much about this.


Autodiscovery includes nodes that are down

Autodiscovery will include down nodes in discovered_peers and pass traffic to it.
Can there be a fix to node discovery at startup to exclude down nodes?
Wanted to add that we are using ScyllaDB, but assume this may also be the case for Cassandra.

Hey @weixiyen, thanks for the report! Yeah, that sounds fixable. I have zero time to work on this in the next few weeks. Wanna submit a PR? :)


DART example

This PR adds an example of using the DartIntegration. The example consists of a KUKA Iiwa (14kg payload -- model got from here) manipulator equipped with a Robotiq 2-finger gripper (model got from here) that the user can control to make some small towers of boxes. Here's an example of how a completed tower would look like:

The code also includes some basic operational space control for manipulators. In the blogpost that will come, I will explain also in detail the robotics aspects and the model-based controller.
This PR is almost finished; I think I only need to add a few lines of documentation and explanation on how to use it.. @mosra let me know what you think and sorry for being late..

Merged as 8a8ce58f240eb9d1f5ada5377db127640497fc1a. I'm happy that this is finally in! :tada:


[Update] Look Through Documentation Before OHBM

Look through documentation/readme for OHBM.

Closed as completed via #15


a380 Etihad  (Livery question)

yesss

Why did it become like this?

 Why did it become like this?

I was about to mention that that needs fixing

What do I need to fix?

 It's probably the wrong resolution or something. There's nothing wrong with the actual livery

oh okay


Villager profession, sit cat/fox, lay cat

I'm currently on vacation and can't really test it on mobile. I'll be back on monday and give feedback.
Thank you for the PR tho!

If there was a subcommand for every property, it would be too much.
Also we don't respawn the npc in the setters.

It's clear. This satisfies my needs on my server, so if you want you can implement this functionality in your opinion


Lite 6 Impedence Control

Aside from the backdrivability of the 3 joints near the eef of the lite6, there also appears to be a 6 axis force sensor (as is demonstrated in the existence of a manual mode for the lite6). Why can't that be used for impedance control? This would preferably exist firmware side which has a higher control frequency. Why does the xarm7 require a separate force sensor instead of the one used for manual mode?
Also, can I get passive compliance on the back drivable joints of the lite6 by setting torque / current limits for specifically those joints? In my case, this would be favorable to the current collision detection fault that is sent instead (that requires a restart of the arm).

Hi @aoberai, there is no integrated force/torque (F/T) sensor INSIDE any of our robotic arm. The collision detection and manual mode is achieved by motor current observation and robot dynamic modeling. Since there is no direct torque sensor at the joint output, we do not provide current control mode to general users, it would not be safe for use without the exact friction model of the gear transmission (unpredictable at static state).
We provide a software integrated third party 6D F/T sensor for xArm Series, it can be added on the tool-side and be used for admittance control. However, it can not be used on Lite6 because the hardware weight will exceed the capacity of it.

Is the manual mode motor current observations done just off of the 3 back drivable joints because the nonbackdrivable harmonic joints I presume won't give you even approximate torque readings (because no current is required to maintain joint state)?

The current observation is done for ALL the joints. We will compensate the friction when the joint is moving with an identified model, it is not precise but enough for collision detection and manual mode.

What would you recommend I do if I want compliant control on the Lite6?


Adjust Search form layout to look good at at all widths

The current Search form layout is unsatisfactory at most (if not all) screen/window widths, so is not fit for opening up FreeCen 2 to researchers.
Whilst some of the issues will be solved by merging the work already done on FreeReg, the form will then need further adjustment to deal with the particular requirements of a FreeCen search.

Also dependent on 152.

Dragos to investigate - to scope this out more before we implement.

At screen widths between 540px to about 1000px the search form is impossible to use. For widths larger than 1000px the form is usable, but the "Birth County" box is cutting out some information.
I am not experiencing any of these problems on FreeREG, so maybe its layout can be implemented on FreeCEN?

The plan was/is to base the FreeCen form on the FreeReg layout/markup, adjusting for the Birth County field by putting it in a separate "row": this would also allow space for a Birth Place field, if/when implemented. The form would also be largely Accessibility-ready this way.
May also make sense to use 3 fieldsets: Who, Where & when, and Options -- though have not tested this out yet.
Needs additional CSS as per freereg_contents. Space will be tight for tooltip text, which may need adjusting.

Dragos is doing work on search pathways, might be worth waiting for his
results (which I expect will involve fieldsets).
On 23 December 2016 at 12:22, AlOneill<EMAIL_ADDRESS>wrote:

The plan was/is to base the FreeCen form on the FreeReg layout/markup,
adjusting for the Birth County field by putting it in a separate "row":
this would also allow space for a Birth Place field, if/when implemented.
The form would also be largely Accessibility-ready this way.
May also make sense to use 3 fieldsets: Who, Where & when, and Options --
though have not tested this out yet.
Needs additional CSS as per freereg_contents. Space will be tight for
tooltip text, which may need adjusting.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FreeUKGen/FreeCENMigration/issues/163#issuecomment-268982538,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANXTHeiD8Jip-P5NBCH7LcgJkZmd6GE2ks5rK70fgaJpZM4KeJ_O
.

--
- -
Dr Pat Reynolds
Executive Director
Free UK Genealogy  http://www.freeukgenealogy.org.uk/
A charity registered in England and Wales, number 1096940, transitioning to
a Charitable Incorporated Organisation registered in England and Wales,
number 1167484
VAT registration: 233 0105 70
+44 1904 541411 +44 7943 145387
36 Albemarle Road, York, YO23 1ER, UK

Bottom line is that form should be looking good and working well at all window/screen widths before launching to Researchers.

@dougkdev
Have looked for the search form erb file, but cannot find it in the maze: if you could point me in the right direction, I will get working on it ASAP. Thanks.
The version of freereg_contents.css currently served up on test2 looks recent enough for updating the search form so that it is nicer to use, even though further adjustments are bound to be needed in due course.

@AlOneill I believe this is the file you are looking for:
https://github.com/FreeUKGen/MyopicVicar/blob/freecen_parsing/app/views/search_queries/_form_freecen.html.erb


Nginx + HyperFastCgi + ServiceStack multiple services

Greetings,
I am trying to host multiple web services with only one domain/ip. Specifically what I want to end up with is this:
http://<IP_ADDRESS>/service1
http://<IP_ADDRESS>/service2
http://<IP_ADDRESS>/service3
All the configurations I've read either use multiple domains or sub-domains or different ports. Can you please give a sample HFC config that would correctly handle multiple services in different paths. (A Nginx config would also be nice, although not critical).

You need to define multiple web-application elements inside web-applications element. Here is documentation
https://github.com/xplicit/Hyperfastcgi#web-applications-element
Sample:
https://github.com/xplicit/HyperFastCgi/blob/master/samples/combined-two-apps.config


bz#2073297 - Sendgrid PVC utilization mails should contain PVC name

Sendgrid Alerts only send emails/Alerts mentioning the PVC utilization, but the message must also contain the corresponding PVC name

@akshayashu Why do you have 11 commits on this PR?

I pulled v2.0 for the latest commits, I think that is why all these commits are here too

why v2.0 and not main?

I thought changes would first go into v2.0 and then collectively in main
I'll raise another PR

All patches/features are going first into main, then we decided what and when to backport into versioned/release branches


UI Fix Charged and Discharged

Charged (and probably Discharged as well) shouldn't show up in the user's interface.
http://findit.library.gwu.edu/search?q=cooking&facet=Institution%3AGeorge+Washington+University+(GW) shows title "Catching fire : how cooking made us human" as Charged: "Book Charged : George Washington University / Gelman Stacks / GN799.F6 W73 2009"
and
"Cuisine and empire : cooking in world history" as Discharged: "Book Discharged : George Washington University / Gelman Stacks / TX645 .L325 2013"

The search api / availability api returns the standard value of the availability status. What would you suggest we use to override these values?

For the full item page, [voyager.py] (https://github.com/gwu-libraries/launchpad/blob/5a3f4d4717291e11828b199faa995c1c1a9dc1b8/lp/ui/voyager.py#L502)  changes those to "Checked out" and "Recently returned".
Maybe we should do the same thing here?


Disallow argument followed by another argument

i.e. in the case of foo(1 2) it would make sense to report the 2 as a syntax error. Right now it is allowed.
We do want to allow foo(1, , , 2) or foo(, , 1), i.e. an arbitrary amount of commas anywhere, but I think it makes sense to try and disallow sequential arguments if possible.
In Ark we do have a helper that checks for this to try and report a diagnostic for this case, but I feel like a syntax error might be just as good? https://github.com/posit-dev/ark/blob/526abac258e43c6b52704fe94e3f0602ba82bd72/crates/ark/src/lsp/diagnostics.rs#L538
It would also better align with R itself since this is invalid syntax, which is good
text_parse("foo(1 2)", language())
#> <tree_sitter_node>
#>
#> ── Text ────────────────────────────────────────────────────────
#> foo(1 2)
#>
#> ── S-Expression ────────────────────────────────────────────────
#> (program [(0, 0), (0, 8)]
#>   (call [(0, 0), (0, 8)]
#>     function: (identifier [(0, 0), (0, 3)])
#>     arguments: (arguments [(0, 3), (0, 8)]
#>       open: "(" [(0, 3), (0, 4)]
#>       argument: (argument [(0, 4), (0, 5)]
#>         value: (float [(0, 4), (0, 5)])
#>       )
#>       argument: (argument [(0, 6), (0, 7)]
#>         value: (float [(0, 6), (0, 7)])
#>       )
#>       close: ")" [(0, 7), (0, 8)]
#>     )
#>   )
#> )

text_parse("foo(1,, 2)", language())
#> <tree_sitter_node>
#>
#> ── Text ────────────────────────────────────────────────────────
#> foo(1,, 2)
#>
#> ── S-Expression ────────────────────────────────────────────────
#> (program [(0, 0), (0, 10)]
#>   (call [(0, 0), (0, 10)]
#>     function: (identifier [(0, 0), (0, 3)])
#>     arguments: (arguments [(0, 3), (0, 10)]
#>       open: "(" [(0, 3), (0, 4)]
#>       argument: (argument [(0, 4), (0, 5)]
#>         value: (float [(0, 4), (0, 5)])
#>       )
#>       (comma [(0, 5), (0, 6)])
#>       (comma [(0, 6), (0, 7)])
#>       argument: (argument [(0, 8), (0, 9)]
#>         value: (float [(0, 8), (0, 9)])
#>       )
#>       close: ")" [(0, 9), (0, 10)]
#>     )
#>   )
#> )

The right way to do this is in tree-sitter-javascript
https://github.com/tree-sitter/tree-sitter-javascript/blob/108b2d4d17a04356a340aea809e4dd5b801eb40d/grammar.js#L570-L577
They support "array holes" like [1, , 2, , 3]
The key is using commaSep(<thing>) but making sure that <thing> itself is optional()!


feat(wallets.py): add wallet history command

Description :-
This PR adds the following new command to fetch all the transfers associated with the provided "Wallet Name".
Command - btcli wallet history --wallet.name xyz
Screenshot -

Also, in the future, would you mind branching off from staging? This is the preferred workflow outlined in the contrib docs for development.
Thanks!

Any new feature should include proper tests for them, including new btcli functions.  Make sure to add this as well in tests/integration_tests/test_cli.py and/or tests/integration_tests/test_cli_no_network.py where appropriate.
Thanks!

Any new feature should include proper tests for them, including new btcli functions. Make sure to add this as well in tests/integration_tests/test_cli.py and/or tests/integration_tests/test_cli_no_network.py where appropriate.
Thanks!

Added

Where is time of transfers?

Thanks for the updated tests and testing out the query. Looks good!
Two small nits for you and we should be good to merge: (1) Don't unlock coldkey to get ss58_address (2) Display values in tao instead of rao (and mention this in the column, e.g. Amount (tao)
Suggestion for a nice to have, but is not necessary IMO: (3) May be nice to add a column for Time, translating the block number into datetimes. What do you think?
... |  Block No  | Time
... |   2044685  | Nov 1, 2023 12:21:00
...

Where is time of transfers?


Charles Schwab Link Broken

As per this Tweet: https://twitter.com/RyanRicketts/status/630821197077307392

I tried to find a new URL to use but couldn't.
 This is not security, this is security theater. Limit passwords to 8 characters. They claim they use EV cert when they don't. They have mixed-content errors all over the place.
This is a lot of hot air https://www.schwab.com/public/schwab/nn/legal_compliance/schwabsafe
I found this page, but no idea if it's still current https://www.schwab.com/public/schwab/nn/pl_help/token_help_faq.html

First link is total marketing crap. :P
Second doesn't even tell you how to get a token.
If we can't find a link, I'd be happy to create a doc page for it.

@jamcat22 speaking of doing stuff... *\cough* #1218

I was waiting for @jdavis to come back and explain the whole exception link thing, but I think I'll just comment it out.

There's no doc link that does anything more than mention briefly the token.
I'll create a PR to remove the old link.


TS-4589: Coalesce CPP API examples build.

The CPP API examples all have trivial, identical makefiles.  Coalesce
these like we did to the TSAPI examples to parallelize the build,
remove duplication and support the --enable-example-plugins build
option.

One of the motivations for this is to reduce the number of sub-makefiles so that adding a tidy target for clang-tidy is more tractable.

[approve ci]

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/344/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/238/ for details.

Lgtm


Deploy a VirtualMachine fails with "spec.domain.devices in body is required"

$ kubectl apply -f https://raw.githubusercontent.com/kubevirt/demo/master/manifests/vm.yaml
offlinevirtualmachine.kubevirt.io "testvm" created
The VirtualMachinePreset "small" is invalid: []: Invalid value: map[string]interface {}{"metadata":map[string]interface {}{"uid":"63604500-4792-11e8-80c4-8216f171324b", "selfLink":"", "clusterName":"", "annotations":map[string]interface {}{"kubectl.kubern
etes.io/last-applied-configuration":"{\"apiVersion\":\"kubevirt.io/v1alpha1\",\"kind\":\"VirtualMachinePreset\",\"metadata\":{\"annotations\":{},\"name\":\"small\",\"namespace\":\"myproject\"},\"spec\":{\"domain\":{\"resources\":{\"requests\":{\"memory\":
\"64M\"}}},\"selector\":{\"matchLabels\":{\"kubevirt.io/size\":\"small\"}}}}\n"}, "name":"small", "namespace":"myproject", "creationTimestamp":"2018-04-24T07:37:49Z"}, "spec":map[string]interface {}{"domain":map[string]interface {}{"resources":map[string]
interface {}{"requests":map[string]interface {}{"memory":"64M"}}}, "selector":map[string]interface {}{"matchLabels":map[string]interface {}{"kubevirt.io/size":"small"}}}, "apiVersion":"kubevirt.io/v1alpha1", "kind":"VirtualMachinePreset"}: validation fail
ure list:                                                                                spec.domain.devices in body is required

Apparently adding an empty spec.domain.devices allowed me to move forward.
cc @fabiand

Yes, that reminds me that I fixed it but didn't push the fix!
See https://github.com/kubevirt/demo/pull/44/commits/39a7319041d72a0d1bec0f623013836a21964fdb
In general it is probably a bug in Presets - @stu-gott ?

I think it is our new openapi validation. We need to make sure that empty maps and no map are treated equally valid for such fields. Could you file a bug against kubevirt?

I think it is our new openapi validation. We need to make sure that empty maps and no map are treated equally valid for such fields. Same for arrays. Could you file a bug against kubevirt?

Oh actually it is the other way round. We need devices. We also need at least one disk in the devices section, so it should be even more strict ...

Oh actually it is the other way round. We need devices. We also need at least one disk in the devices section, so it should be even more strict ...

right, the empty devices field is just side stepping the CRD openapiv3 validation.

We need to make sure that empty maps and no map are treated equally valid for such fields.

no map vs empty map can mean different things.  no map means the value is not set. an empty map means the map is initialized, but there are no values.  These two states can be interpreted as meaning two separate things.

Closed in current release.


[$1000] Chat - App removes strikethrough formatting on copy and resend for code block

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:

Open the app
Open any report
Send strikethrough code block eg: ~Hello~
Hover on message and click on copy to clipboard OR edit the message and copy the message
Send the copied message and observe that app removes strikethrough format from the code block

Expected Result:
App should keep the format of text same when we copy it to clipboard or copy from edit message and resend the message
Actual Result:
App does not keep the format of strikethrough on code block on copy to clipboard or copy from edit message and resend the message
Workaround:
Unknown
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: 1.3.41-2
Reproducible in staging?: y
Reproducible in production?: y
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/93399543/0c2b5085-106a-465d-bf58-467a0d0425bf
https://github.com/Expensify/App/assets/93399543/afd39161-3b5a-4f17-8a7d-b5a694ab46eb
Expensify/Expensify Issue URL:
Issue reported by: GH handle - @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1689525870441879
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012fc66a9c82073e51
Upwork Job ID:<PHONE_NUMBER>677927424
Last Price Increase: 2023-07-17

Proposal
Please re-state the problem that we are trying to solve in this issue.
App removes strikethrough formatting on copy and resend for code block.
What is the root cause of that problem?
The root cause of this issue is that we translate
~```test```~

to HTML

test

through strikethrough rule and the HTML is converted back to Markdown
~```
Hello
```
~

through htmlToMarkdownRules.
What changes do you think we should make in order to solve the problem?
To fix this issue, we can skip applying strikethrough rule if it contains pre tag, just like italic and bold rule. So, we can change this line to
replacement: (match, g1) => (g1.includes('
') || this.containsNonPairTag(g1) ? match : `<del>${g1}</del>`),

By doing so, we won't apply strikethrough style for markdown input, like
~```test```~

So, copying and pasting comment will have consistent style, just like italic and bold syntax do.
What alternative solutions did you explore? (Optional)
N/A

I can reproduce this. I don't think we're really "removing" the formatting though when copying the code block. It's just that when it's pasted, there's a space between the last ``` and ~. If the space is removed before you send the message you copied, we do show the strikethrough.

Proposal
Please re-state the problem that we are trying to solve in this issue.
App removes strikethrough formatting on copy and resend for code block
What is the root cause of that problem?
When the "Edit Message" button is clicked, the raw text has a newline between the final ` and the second ~ which differs from the original raw message content. When a newline is introduced in this manner, the rule/pattern for strikethrough does not match. It seems that the code block is what causes the newlines to be inserted. Note that inserting newlines into any strikethrough message will cause the strikethrough to disappear.
What changes do you think we should make in order to solve the problem?
There are two options to solve this issue in my view. The first option is to make sure that when "Edit Message" is clicked, the raw text displayed is identical to the raw text that was sent originally (do not introduce newlines). The second option is to update the rule/pattern for strikethrough so that it also matches text that contains newlines.

Contributor details
Your Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: https://www.upwork.com/freelancers/~012188f4918fcf5a7b

Proposal
Please re-state the problem that we are trying to solve in this issue.
While chatting with a user, if I send ~```hello```~ to the user, copy it to clip board and paste it in the chat, the closing ~ is pasted in the next line like below:
~```
hello
```
~

What is the root cause of that problem?
Regex used in ExpensiMark.js here  for converting HTML to Markdown code  is adding new line i.e <br /> after closing  ``` which adds a new line before closing strike through ~. This is expected,
 should be added after closing
 tag, but when a new closing tag  appears after  it does not handle it, hence not allowing it to be pasted as a striked through code block.
What changes do you think we should make in order to solve the problem?
One possible solution for this problem of adding new line after ```, can be adding an additional regex in htmlToMarkdownRules. Add an aditional condition in this regex which handles any closing tag </> which appears after </pre> and does not add </br> after </pre> if there is a closing tag following it. Please check below
{
             name: 'replacepre2',
              regex: /<\/pre>(<\/.*>)(.)/gi,
              replacement: '</pre>$1<br />$2',
}

if we want it to be specific just for strike through </del>, we can update the regex just for strike through like
  regex: /<\/pre>(<\/del>)(.)/gi, and it should work as expected.
Additionally, to handle  the behaviour where <br /> should be added after </pre> like it does usually, we will change the current regex replacepre to this:
{
        name: 'replacepre',
        regex: /<\/pre>(?!<\/.*>)(.)/gi,
        replacement: '</pre><br />$1',
}

This will add <br/> i.e new line after closing </pre> if there is an additional text or code after it which is not closing tag.
What alternative solutions did you explore? (Optional)

Proposals pending review

Thanks! Yep, I saw. Just commented to make sure the issue doesn't go overdue today.

Sounds good! LMK if there's anything else I can help with as you review the proposals here.

Proposal
Please re-state the problem that we are trying to solve in this issue.
In chat - app removes strikethrough formatting on copy and resend for code block
What is the root cause of that problem?
When we've code block inside strike through ~```hello```~, it gets converted to following HTML
<del><pre>hello</pre></del>
And this HTML, gets converted back to below markup here
~```
Hello
```
~

However, above markdown doesn't get parsed as valid strikethrough section using regular expression here
regex test link
What changes do you think we should make in order to solve the problem?
To fix this, we should change strikethrough rule regex here to below;
\B~((?=\S)((~~(?!~)|[^( \t\r\f)~]|\s(?!~))+?))~\B(?![^<]*(<\/pre>|<\/code>|<\/a>))/g

Regex fix test result
Explanation:

Here, in previous regex for 3rd capturing group, 2nd alternative [^\s~] will match a single character which is not present in \s (whitespace characters i.e. [ \t\r\n\f]) followed by ~. In example given in issue, we have new line character i.e. \n before ~. So that should be excluded from that group.

What alternative solutions did you explore? (Optional)
None

Still pending review of proposals

@parasharrajat Curious if there's an update on your review of the proposals on this issue? Thanks!

Pending further review

Note to me: I think the root cause here is incorrect parsing of pre rule And I think that issue was stated after this PR Expensify/expensify-common#496.

@parasharrajat Maybe the twisted of code block feature ``` can be solved in a separate issue or other issues, like https://github.com/Expensify/App/issues/16982 and https://github.com/Expensify/App/issues/18928. So, we can move this issue forward by keeping italic, bold and strikethrough consistent in formatting code block. Do you agree with this?

Proposal
Please re-state the problem that we are trying to solve in this issue.
App removes strikethrough formatting on copy and resend for code block.
What is the root cause of that problem?

in ExpensiMark.js, htmlToMarkdown's 'replacepre' rule is adding  after  tag, that is, line break is added after closing three backticks, before closing ~ (like ~```\nHello\n```\n~). so it is not parsed as expected, strikethrough formatting is removed.
another root cause is existed, \r\n is copied when edit message and copy from it on windows platform.
EOL(end of line) code is \r\n on windows, so it's converted to \r and backend will return \n. so one more  will be added.
on Unix
these are root causes

What changes do you think we should make in order to solve the problem?

To fix first root cause, change replacepre rule of html to markdown rules as following, then it will add  after  tag

{
             name: 'replacepre',
              regex: /<\/pre>((?:<\/.*>)*)((?!<\/).)/gi,
              replacement: '
$1
$2',
}

along with second root cause, even after first cause is fixed, copied text from edit message will be ~```\r\nHello\r\n```~ it's not parsed like ~```\nHello\n```~, but we expect same parsed result.
to fix it, add a tweak on codefence regex and newline regex as following.

codefence Regex:
/(```(?:(?:\r\n)|\n)?)((?:\s*?(?![\n]?```(?!`))[\S])+\s*?)((?=\n?)```)/g

newline Regex:
/\r?\n/g

as result, we keep consistency of strikethrough formatting on copy(from clipboard and edit input) and resend for code block.
and it does not cause other auto-test cases failed.

Not overdue

Discussing in Slack.

Pending review of proposals.

Still discussing in Slack

@parasharrajat I noticed a dupe https://github.com/Expensify/App/issues/23801 and linked it FYI

Still discussing in above Slack thread

Same

Bumped slack discussion.

Not overdue

Bumped slack thread.

Not overdue

Reposted the Slack thread to generate more interest in the discussion), so we can identify a path forward.

More discussion now in the Slack thread.

@parasharrajat you have a chance to look at the latest response in the thread?

Bumped slack thread again

Not overdue

Great, ty!

Pending further input on the slack thread from Rajat.

Sounds good!

@parasharrajat any update on your analysis of the Slack thread?

Hey I’m Michał from Software Mansion, an expert agency, and I will help close this issue out 😄

@eh2077 Thanks for the proposal, I really like it. I think it is a good idea to keep the behavior of strikethrough consistent with the bold and italic. Also, I can't find striking through the code block on other apps. @parasharrajat what do you think about that?

@Skalakid we can find striking through in code block on discord. and italic and bold as well

@mehvash-Khan I was testing your proposal and it fixes this bug but when I'm copying the strikethrough codeblock and paste it, it pastes it with 2 new lines below it

@spcheema I tested your solution and I cant't make it work 😅 also I think it would be better to make it not only for  tag but also for other formats

@payal-lathidadiya Thanks for the proposal, however I'm not sure if we want to edit strikethrough rule. On many apps such a behavior is blocked and you can't ad formating when the end is the beginning of the new line (for example on GitHub/Slack).
~hello
~

Still pending discussions

Sounds good!

@parasharrajat is there anyone specific you're looking for input from on those threads? If so, I'm happy to just tag them so we can try to push this forward.

I'm sure people will be interested! Just concerned the thread might have gotten buried in the room. I see there's been more input, but I will bump it now.

Closing in favor of https://github.com/Expensify/App/issues/23034

Hi @thienlnam, you have written the same issue number in your message, maybe you were marking any other issue?

Updated, thanks


Istio: 0.2.12 - istio-proxy slow

I'm using the sample / hello world project.
After installation it was only available 15 minutes later
Please check the dates in the log:
2017-11-19T19:52:10.240095293Z [2017-11-19 19:52:10.239][12][warning][main] external/envoy/source/server/drain_manager_impl.cc:62] shutting down parent after drain
2017-11-19T20:06:56.824103611Z [2017-11-19 20:06:56.745][15][warning][http] src/envoy/mixer/mixer_control.cc:419] Could not convert to ip: source.ip:
2017-11-19T20:06:56.824137256Z [libprotobuf INFO external/mixerclient_git/src/check_cache.cc:153] Add a new Referenced for check cache: Absence-keys: Exact-keys: destination.ip, source.uid, context.protocol, destination.uid, source.ip, destination.service,

istio-ingress:
[2017-11-19 19:52:36.347][20][warning][http] src/envoy/mixer/mixer_control.cc:419] Could not convert to ip: destination.ip:
istio-proxy (INSTANCE_IP is empty)
Image:
docker.io/istio/proxy_debug:0.2.12
Environment variables:
POD_NAME:  helloworld-v1-714685346-d6423
POD_NAMESPACE:  default
INSTANCE_IP:
I1119 19:51:07.249391       1 watcher.go:258] Envoy command: [-c /etc/istio/proxy/envoy-rev0.json --restart-epoch 0 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster helloworld --service-node sidecar~<IP_ADDRESS>~helloworld-v1-714685346-d6423.default~default.svc.cluster.local]
[2017-11-19 19:51:07.952][12][warning][main] external/envoy/source/server/server.cc:164] initializing epoch 0 (hot restart version=8.2490552)
[2017-11-19 19:51:08.174][12][warning][main] external/envoy/source/server/server.cc:332] starting main dispatch loop
[2017-11-19 19:51:09.209][12][warning][main] external/envoy/source/server/server.cc:316] all clusters initialized. initializing init manager
[2017-11-19 19:51:10.218][12][warning][config] external/envoy/source/server/listener_manager_impl.cc:451] all dependencies initialized. starting workers
2017-11-19T19:52:10.240095293Z [2017-11-19 19:52:10.239][12][warning][main] external/envoy/source/server/drain_manager_impl.cc:62] shutting down parent after drain
2017-11-19T20:06:56.824103611Z [2017-11-19 20:06:56.745][15][warning][http] src/envoy/mixer/mixer_control.cc:419] Could not convert to ip: source.ip:
2017-11-19T20:06:56.824137256Z [libprotobuf INFO external/mixerclient_git/src/check_cache.cc:153] Add a new Referenced for check cache: Absence-keys: Exact-keys: destination.ip, source.uid, context.protocol, destination.uid, source.ip, destination.service,

I'm seeing this as well, I can't seem to get to any upstream services either.
When hitting the ingress pod I see this in the logs:
[2017-11-29 21:52:03.131][22][warning][http] src/envoy/mixer/mixer_control.cc:419] Could not convert to ip: destination.ip:
[2017-11-29 21:52:03.217][22][warning][http] src/envoy/mixer/mixer_control.cc:419] Could not convert to ip: destination.ip:
[2017-11-29T21:52:03.131Z] "GET / HTTP/1.1" 503 - 0 57 8 5 "<IP_ADDRESS>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" "8fecd7b6-4561-9439-a2ae-779dbd176049" "martin.lvh.me:32762" "<IP_ADDRESS>:80"
[2017-11-29T21:52:03.217Z] "GET /favicon.ico HTTP/1.1" 503 - 0 57 14 11 "<IP_ADDRESS>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" "c199d38e-773f-9c02-a6eb-0b831ba4e14d" "martin.lvh.me:32762" "<IP_ADDRESS>:80"

Any resolution to this yet?

@andrepinto what cloud provider or environment is this in ? maybe you are running out of resources ?
that warning doesn't mean it wasn't ready before - can you reproduce the issue ?

@bobbytables have you been able to reproduce this issue in 0.5.1 or later?

closing until issue can be reproduced in istio version 0.5.1 or later

For anyone still running into issues like these with 0.5+ we've tackled them by increasing the following values in ConfigMap istio from 1 second to 10 seconds.
rdsRefreshDelay: 10s
discoveryRefreshDelay: 10s

And by scaling Deployment istio-pilot from 1 to 5 replicas. All default settings work fine for super small clusters, but fall short in more serious clusters with many existing applications.

0.6 pilot has much better scaling thanks to @costinm’s fix

With istio 0.7.1 we no longer need to increase rdsRefreshDelay and discoveryRefreshDelay, neither do we need to increase the pilot replicas. Bookinfo works fine with all defaults now.


Use ephemeral ports in tests

The tests that create an HTTP server always bind to and listen on port number 8080. Though this is fine when we run the tests sequentially, we run into port collisions when we try to run them in parallel (using swift test --parallel). We must ideally be using ephemeral ports to avoid this issue.
The other option is to configure SO_REUSEPORT by default, but with this tests that verify the presence  and absence of SO_REUSEPORT become irrelevant.
Ephemeral ports may lie in the range starting 16000 and up to 65535. Using the sysctl command on Linux and macOS, it is possible to limit them to a given range. In the context of Kitura, limiting them to a range so that the port number can be accommodated in an UInt16 essential because ClientRequest.Options.port is an UInt16.

All the tests seem to be passing now. I'm merging this. Fingers crossed.


Add a cosine-bell decomposition test

Checklist

[x] User's Guide has been updated
[x] Developer's Guide has been updated
[x] API documentation in the Developer's Guide (api.md) has any new or modified class, method and/or functions listed
[x] Documentation has been built locally and changes look as expected
[ ] Testing comment in the PR documents testing used to verify the changes
[x] New tests have been added to a test suite

Testing
I successfully ran the new omega_pr suite on Chrysalis with Intel (with Omega, of course).
I also successfully ran all tests in the cosine_bell suite (convergence_time tests don't pass the analysis step as expected) with MPAS-Ocean on Chrysalis with Intel.


Upgrade ubuntu to kernel 3.18 to use overlayfs

http://ubuntuhandbook.org/index.php/2014/12/install-linux-kernel-3-18-ubuntu/

https://github.com/CiscoCloud/microservices-infrastructure/pull/180/files

Closing via https://github.com/Capgemini/Apollo/commit/ed4a75ef62950762d2a9db2f9707e090ac459fbe


[#16] Support Galleon dir and additional feature-packs

For consistency with build.s2i.galleonLayers, build.s2i.featurePacks can
be either a CSV string or an array of strings.
this fixes #16.
Signed-off-by: Jeff Mesnil<EMAIL_ADDRESS>

Holding this issue until the release of the WildFly S2I image that provides these features


🐛 Refresh token for provisioning machines

What this PR does / why we need it:
Refreshes the token for a machine that's not used it.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #248

I'm not attached to the new 9-minute sync interval, btw – I was considering trying to get clever with the requeueAfter duration for newly-minted tokens, but this was the simplest thing I could think of to do.

/retitle 🐛 Refresh token for provisioning machines

@chuckha I added a test case for the new behavior. I've started trying to reconcile the current logic into discrete switch-shaped states, I'll let you know how it goes.

sounds great, no worries if it doesn't work out

I think it worked out: see 794be6ec35fa47. I left in the "early out" bits at the top to avoid patching / lookup on the cluster when we don't need to, but everything else was easy enough. I'm not sure if it's exactly what you were thinking though

/test pull-cluster-api-bootstrap-provider-kubeadm-verify

/approve
this looks great!
want to give this a look @detiber?

If you don't want to make var to const change that's ok, we can merge without it, but can you squash your commits down to 1?

I squashed the commits – I didn't turn it back into a const because I made it configurable by CLI flag instead so I could set it to longer if we end up needing to push out the sync interval.

/lgtm
Thank you!


Plugin component specific e2e tests to component folders

Assumes unit and e2e tests are in frontend/tests. In order to reduce change set will update these after this one is in.
Also some of the hce tests have now been moved to stratos-extras

 (3) Refactor e2e tests into their components


connection reset by peer

I've been staring at #217 but it offers no real help. My configuration is basically the same.... GOlang version, I'm using the latest go-mssqldb version... but I'll get BeginRead errors like "EOF" or "reset by peer." I tried the "select @@version" but that did not help.
My difference might be SQL Server (SP1-GDR) 13.0.4202.2
DEC 13 2016

the problem seems to be VERY long SQL strings. No proof yet.

Yes, this does indeed to seem the case. Any long reads, strings or otherwise, seem to trigger this.
I assume we have a bug with the netlib implementation esp under encryption. Looking into this.

See #166 for more details.

i was forced packet size=2048; in my connection string and works

yep; did the same here. trying to be patient.

I think this has been fixed in tip.


Is it possible to point https://github-trending-api.now.sh/ to https://ghapi.huchen.dev/

Is it possible to point https://github-trending-api.now.sh to https://ghapi.huchen.dev ?
My monile apps still uses this endpoint https://github-trending-api.now.sh

Sorry no, .now.sh is not owned by me and I'm no longer using that platform to host the API


Update README.md

updating the usage with new scrennshots.

Closing PR - Application not complete, screenshots are not required at this stage until project complete.


How to use  ADO.NET  in asp.net core 1.0?

Please guide me to use ADO.NET in AspNetCore 1.0 with sample

Could you file this in https://github.com/aspnet/Home? This doesn't seem Mvc specific.

@ermithun though we don't plan on having a sample for this, it's no different than using ADO.NET anywhere else. So, any example you find using ADO.NET on previous versions of MVC or in any other environment should be pretty much the same. MVC doesn't have any specific features or behaviors related to ADO.NET.

@Eilon Thanks for your response .


Render props

Description
Refactors Select/Dropdown/Popover/Tooltip/Menu/MenuItem components to add support for render props, thus giving users greater custom rendering control.
Motivation and context

Provide greater custom rendering control to consumers.
Make mineral components more flexible for a larger variety of use cases.

closes #628
Differences from original AC:

Decided to use prop objects rather than prop getters as it was easier to understand and easier to compose.
Decided not to add extra highlightedIndex functionality in Select/Dropdown at this time because we could not think of an actual use case.  We will add it if it is requested.

Screenshots, videos, or demo, if appropriate
https://628-render-props--mineral-ui.netlify.com/
How to test

Check out the aforementioned components in the demo.  Each one of them has new "Custom" examples.
Note that VR tests are mostly useless here since they don't run on components using Popper.  The diffs that do exists look to be expected.

Types of changes

New feature (non-breaking change which adds functionality)

New props

Breaking change (fix or feature that would cause existing functionality to change)

Select, Dropdown, Menu no longer support item.render in data.  Use renderItem prop instead.

Checklist

[x] Renders and functions properly in all supported browsers
[x] Automated tests written and passing
[x] Accessibility and inclusivity considered
[x] Rendering performance (initial load time & 60fps) and perceived performance considered. - These components likely do unnecessary re-rendering and thus performance can be improved.  Performance optimization is however complex and time consuming and thus needs to be done as a separate effort.  Suggestions in this area would be very welcomed.
[x] Documentation created or updated
[x] Tested in sandbox if new component or breaking change

All comments addressed.

Sidenote: @brentertz you may want to add Holm as a co-author to the commits where it applies. (e.g. Co-authored-by: Mike Holm<EMAIL_ADDRESS>

FYI - We changed prop naming convention from renderThing to just thing.  This should make the approach more flexible in the long run as it will allow us to simultaneously support render props and component injection via the same prop whilst avoiding unnecessary prop proliferation.
For example, in Popover we reused the children and content props rather than adding single purpose renderTrigger and renderContent props.


putting messages

@ericf could you have a look?

Please ignore this PR. My bad to intervene with dev


Get names from proto tags instead of json tags

Starlark structs go by the proto tags and not by json tags.
In fact, sometimes the json tags arent set, like in the example of liveness probe.
This fix gets the name from the proto tag to account for that

Does it fix https://github.com/cruise-automation/isopod/issues/53?

Yes exactly, I added it to the commit message.


[feat] Custom user-agent

Describe the problem
Default user-agent is Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) while Safari is Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15.
No browser/version in user-agent make many website treat tauri as out-of-date browser. See https://github.com/tauri-apps/tauri/discussions/3519 for example.
Describe the solution you'd like
Provide a rust API to set custom user-agent. Or at least use a modern browser user-agent.
Alternatives considered
No response
Additional context
No response

Since this most likely won't make it into v1, here's how you can do it on the latest tauri version:
window.with_webview(|webview| {
    #[cfg(windows)]
    unsafe {
        use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2Settings2;
        use windows::core::Interface;

        let settings: ICoreWebView2Settings2 = webview
            .controller()
            .CoreWebView2()
            .unwrap()
            .Settings()
            .unwrap()
            .cast()
            .unwrap();

        settings
            .SetUserAgent("my custom user agent".to_string())
            .unwrap();
    }

    #[cfg(target_os = "macos")]
    unsafe {
        use objc::msg_send;

        let () = msg_send![webview.inner(), setCustomUserAgent: NSString::new("my custom user agent")];
    }

    #[cfg(target_os = "linux")]
    {
        use webkit2gtk::{WebViewExt, SettingsExt};

        let webview = webview.inner();
        let settings = webview.settings().unwrap();
        settings.set_user_agent(Some("my user agent"));
    }
});

Since this most likely won't make it into v1, here's how you can do it on the latest tauri version:

It's definitely not making it into v1

Works like a charm

window.with_webview(|webview| {
    #[cfg(windows)]
    unsafe {
        use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2Settings2;
        use windows::core::Interface;

        let settings: ICoreWebView2Settings2 = webview
            .controller()
            .CoreWebView2()
            .unwrap()
            .Settings()
            .unwrap()
            .cast()
            .unwrap();

        settings
            .SetUserAgent("my custom user agent".to_string())
            .unwrap();
    }

    #[cfg(target_os = "linux")]
    {
        use webkit2gtk::{WebViewExt, SettingsExt};
        let webview = webview.inner();
        let settings = webview.settings().unwrap();
        settings.set_user_agent(Some("my user agent"));
    }

    // untested
    #[cfg(target_os = "macos")]
    unsafe {
        use objc::msg_send;
        use objc_foundation::{NSString, INSString};
        let () = msg_send![webview.inner(), setCustomUserAgent: NSString::from_str("my custom user agent")];
    }
});

Where to write?

I have included like this in my project:
tauri::Builder::default()
    .invoke_handler(tauri::generate_handler![
      my_function,
    ])
    .setup(|app| {
      let window = WindowBuilder::new(
        app,
        "main-window".to_string(),
        tauri::WindowUrl::App("index.html".into()),
      )
      .build()?;
      window.with_webview(|webview| {
        #[cfg(windows)]
        unsafe {
          use webview2_com::Microsoft::Web::WebView2::Win32::ICoreWebView2Settings2;
          use windows::core::Interface;

          let settings: ICoreWebView2Settings2 = webview
              .controller()
              .CoreWebView2()
              .unwrap()
              .Settings()
              .unwrap()
              .cast()
              .unwrap();

          settings
              .SetUserAgent("Chrome".to_string())
              .unwrap();
          }
      });
      Ok(())
    })
    .run(tauri::generate_context!())
    .expect("error while running tauri application");

And included the following in my Cargo.toml:
# for webview
[dependencies]
webview2-com = "0.18.0"

# for windows::core
[dependencies.windows]
version = "0.39.0"
features = [
    "Data_Xml_Dom",
    "Win32_Foundation",
    "Win32_Security",
    "Win32_System_Threading",
    "Win32_UI_WindowsAndMessaging",
]

And I am getting this error:
error[E0599]: no method named `cast` found for struct `webview2_com_sys::Microsoft::Web::WebView2::Win32::ICoreWebView2Settings` in the current scope
   --> src\main.rs:108:16
    |
108 |               .cast()
    |                ^^^^ method not found in `webview2_com_sys::Microsoft::Web::WebView2::Win32::ICoreWebView2Settings`
    |

@elanzini You have to use the same versions as Tauri does. I got it to work with webview2-com version 0.16.0 and windows version 0.37.0, see: https://github.com/tauri-apps/wry/blob/3c77cb98e4b2449b9b8cd3a992b7202b87bb43bf/Cargo.toml#L59

On the last part:
settings
    .SetUserAgent("my custom user agent".to_string())
    .unwrap();

I'm getting below error:
error[E0277]: the trait bound `PCWSTR: From<String>` is not satisfied
     --> src\main.rs:39:39
      |
39    |                         .SetUserAgent("my custom user agent".to_string())
      |                          ------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<String>` is not implemented for `PCWSTR`
      |                          |
      |                          required by a bound introduced by this call
      |
      = help: the following other types implement trait `From<T>`:
                <PCWSTR as From<&HSTRING>>
                <PCWSTR as From<Option<PCWSTR>>>
      = note: required because of the requirements on the impl of `Into<PCWSTR>` for `String`
note: required by a bound in `ICoreWebView2Settings2::SetUserAgent`
     --> C:\Users\egher\.cargo\registry\src\github.com-1ecc6299db9ec823\webview2-com-sys-0.19.0\src\Microsoft\Web\WebView2\Win32\mod.rs:21162:13
      |
21162 |         P0: ::std::convert::Into<::windows::core::PCWSTR>,
      |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ICoreWebView2Settings2::SetUserAgent`

Using tauri 1.1.0 and same versions of webview2-com and windows as specified in Cargo.lock, namely 0.19.1 for the former and 0.39.0 for the latter. Any ideas what I am doing wrong?

The snippet above was written for windows 0.37 and webview2-com 0.16. It's definitely possible that something changed in the new versions that broke the script.

I'm on the run right now so I can't show code examples, but it looks like you can use the new w macro from the windows crate if the user agent is known upfront. Something like .SetUserAgent(w!("my user agent").unwrap())
For runtime strings it's a bit tricky and needs some ugly functions (or a crate idk), but that's something I can't show on my phone...

I'm on the run right now so I can't show code examples, but it looks like you can use the new w macro from the windows crate if the user agent is known upfront. Something like .SetUserAgent(w!("my user agent").unwrap())
For runtime strings it's a bit tricky and needs some ugly functions (or a crate idk), but that's something I can't show on my phone...

That worked.
I also got it working with below code, using my 1 day long Rust experience I'm surprised it actually worked:
let s = "Hello";

let mut v: Vec<u16> = s.encode_utf16().collect();
v.push(0);
let agent: PCWSTR = PCWSTR::from_raw(v.as_ptr());

settings.SetUserAgent(agent).unwrap();

Yours is slightly cleaner 😅

This is basically what we use in wry 👍 and also what I had in mind for runtime Strings (it's probably not the actual name, but what I mean is a string you don't know the content of at compile time)

I'm on the latest tauri on linux and cannot find any up-to-date instructions for this. How do you do this on the latest version?

@ArrowAced It's not released yet but will be part of v1.2

v1.2 is released, can this be found anywhere or was it delayed and i need to rely on the "manual" solution?

@EtzBetz It's userAgent in the Tauri config https://tauri.app/v1/api/config#windowconfig and user_agent on the WindowBuilder https://docs.rs/tauri/1.2.3/tauri/window/struct.WindowBuilder.html#method.user_agent

This is working for me in Mac OS Land:
#[cfg(target_os = "macos")]
    unsafe {
        use objc::msg_send;
        use cocoa::{
            base::{id},
            foundation::NSString,
        };

        let cls = class!(NSString);
        let user_agent = "YEAH BOI  Electron/MTI Desktop App".as_bytes();
        let nsstring: id = msg_send![cls, alloc];
        let nsstring: id = msg_send![nsstring,initWithBytes: user_agent.as_ptr()length: user_agent.len()encoding: 4];

        let () = msg_send![webview.inner(), setCustomUserAgent: nsstring];
    }


Using getSingle and watchSingle on custom queries

We should have a way to use getSingle and watchSingle on custom queries, preferably without generating substantially more code.
Ideas
Instead of writing methods for all forms (get/watch/getSingle/watchSingle) directly, we could have a simple queryName(params) function in the generated code that would return a subclass of Selectable, on which all the methods could be called. This would also reduce the amount of generated code, but it's breaking to existing users.
Another idea would be to extend the sqlite grammar to let the user express their intent better. For instance, we could have an SELECT SINGLE statement that may only return one row. A downside would be worse discoverability.

We now generate a method that returns a Selectable for each query. The get/getSingle/watch/watchSingle methods are all defined on that class.
So, if a user defines a query like entryById: 'SELECT * FROM todos WHERE id : id', we would generate a Selectable<TodoEntry> entryByIdQuery(String id, {QueryEngine operateOn}) method. In fact, everything the entryById and watchEntryById methods are doing now is
Future<List<TodoEntry>> entryById(int id,
   {@Deprecated('No longer needed with Moor 1.6 - see the changelog for details')
        QueryEngine operateOn}) {
  return entryByIdQuery(id, operateOn: operateOn).get();
}

Stream<List<TodoEntry>> watchEntryById(int id) {
  return entryByIdQuery(id).watch();
}

This makes me wonder if we need those methods at all or if we should just instruct users to call entryByIdQuery directly and then use get/watch/... as appropriate.

I think we can keep the old generated methods, even after a major version bump. My plan is to extend .moor files to include an ability to write queries. For these queries, we would only generate the query method returning a Selectable. If that works out, we can gradually deprecate the queries feature on the UseMoor and UseDao class without ever introducing a breaking change.


Add German translation

First of all, credit to @medium-endian for doing at least half of the work, even if it's lost in the rebase!
All pages have been translated and all changes that happened since our fork were applied.
A few remarks:

We used the informal/friendly "du" form of address instead of the professional/distant "Sie", which we think fits the community better.
For consistency with the locale ordering (de_DE), German now appears as the first language in the footer - this might not be desirable.
No attempt was made at keeping the phrasing gender-neutral everywhere, as this is notoriously hard to get right without sounding weird. If somebody is willing to look into this, please do not hesitate to correct us.

Awesome, thanks!
I'd be fine merging this, but maybe the main example could be appeneded to instead of prepended to?

Like this?

Looks great!


Add pretty printing of trace shapes on error

Addresses #1453
Adds tensor_shapes.ipynb-style pretty printing of trace shapes on error. For example in the hmm error fixed by the recent #1521 , this would have printed
$ python examples/hmm.py
      977 Loading data
     1054 ----------------------------------------
     1054 Training model_1 on 229 sequences
     1067 Step	Loss
Traceback (most recent call last):
...
ValueError: Error while packing tensors at site 'y_0':
  Invalid tensor shape.
  Allowed dims: -3, -2, -1
  Actual shape: (16, 1, 8, 88)
  Try adding shape assertions for your model's sample values and distribution parameters.
Trace Shapes:
 Param Sites:
Sample Sites:
 probs_x dist            | 16 16
        value            | 16 16
     log_prob            |
 probs_y dist            | 16 88
        value            | 16 88
     log_prob            |
     x_0 dist       8  1 |
        value    16 1  1 |
     log_prob    16 8  1 |
     y_0 dist 16  1 8 88 |
        value       8 88 |
     log_prob 16  1 8 88 |

We had added error message checks in test_trace_log_prob_err_msg  which you'll need to change as well.


Update the zh-CN getting-started doc

Polish the document.
Details:

It's strange to use "建造器“ to describe the "builder" in programming. "建造" matches "buildings". maybe it better to be replaced with "构建".
Obviously in other parts of the document we will still refer to the "mapping" content so it will be more friendly to the reader to highlight the order of precedence in Chinese.
Remove the redundant subject "你".
Remove the redundant verb "认为".
In Chinese, we use "地" to modify the verb instead of "的".
sync with #2531.

Coverage decreased (-0.007%) to 87.227% when pulling de293cb67db8c8c390c0af7385125c696b6eb15f on awxiaoxian2020:doc into 3b846f8343d847db3028c231bd3ca47749d6bf7b on mybatis:master.

@harawata excuse me, Could you tell me about the workflow for the doc PR? I reviewed the recent PRs about the zh doc. It seems that there are no comments of other Chinese contributors but merged.

Thank you, @awxiaoxian2020 !
There is no fixed workflow.
Currently, if no one comments for a while, we assume the change is good.
I'll try to add the doc-zh label on those PRs from now on.


Add ability to dump json

Dumping the object to JSON could be great. As far as i know namedtuples are not serializeable so i use jsno.dumps(ua.browser.__dict__). Plus, Exposing the ua_parser parsed dict as a property as well.
The true added value here is the is_mobile/pc/tablet/touch properties.

I think it will be easily done by import ujson or simplejson such things, then you just do:
ujson.dump(parse(ua_agent_string))


Update pulse code to new instruction sytntax

Summary
Temporary patch for Qiskit-Pulse update.
close #374
Details and comments
Refactoring of interface is planned but not now. This PR aims at making minimal change to the code to eliminate warnings caused by next terra update.
@lcapelluto will review this.

The ci failures here should be fixed by: https://github.com/Qiskit/qiskit-ignis/pull/378


LiveShare button has disappeared from the VSCode sidebar and I am now unable to use the extension

Describe what happened:
I had tried to join my coworker's liveshare session, where all of a sudden, the LiveShare button disappeared and it did not properly join her session. I have tried to uninstall and reinstall LiveShare many times, however, this has not solved my problem.
What was your system configuration?
Product and Version [VS/VSCode]:
Version: 1.53.2
OS Version[macOS/Windows]:
MacOS BigSur version 11.2.2
Live Share Extension Version:
The current latest one
Target Platform or Language [e.g. Node.js]:
Rails
Steps to Reproduce / Scenario:
Not sure as this was the first time I've ever encountered such an error by simply joining someone else's liveshare
Please attach logs to this issue:
You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to this issue
I cannot access this command despite live share being installed it says this command does not exist
Screenshots
If applicable, add screenshots to help explain your problem.
As seen below, live share button is missing

I deleted and reinstalled VSCode and this solved my problem, however it is a really strange issue!


Added module map file that includes the umbrella header JSONModelLib.h

This PR is a fix for issue #481

If someone else who uses Carthage/frameworks could chime in on this and agree it's the correct solution to #481, I can get this merged.
Can't yet as I don't know anything about Carthage, etc.


Piloting of robotics course

Once the tutorials and other content are complete and merged (should be within a day or two), then it would be great if you could start working through the content as a pilot student, providing feedback via GitHub issues, discussions, and occasionally PRs for @SissiFeng to look over.

Moving some comments from @linx5o here:
https://github.com/AccelerationConsortium/ac-microcourses/issues/72#issuecomment-2408327167

For Course 3.1 I think these courses are for someone who is just getting into the space and may not have enough knowledge regarding the usage of these equipment. I believe a more thorough guide is needed to show how to assemble these equipment.
We should mention we don't need a separate Pico and relevant equipment for each setup. (Unless that is the intent)
For Pico Board, I believe we should mention getting the version with the GPIO Headers. A mention to look at the pinout to decide where to plug in the devices.
For the Pipette I think more info about how the wiring goes is needed. Especially as we are using a setup board. And maybe some safety notices?
For the Motor, we are getting three colours of wire so I think we should say what they normally indicate, I genuinely believe some people don't know.
For the fan, the diagram could do with some more clarification, in particular we are soldering separating the headers and solder them to the board and the wires to the headers. The fan wires do have corresponding connection points and its not just connect the four wires.

https://github.com/AccelerationConsortium/ac-microcourses/issues/72#issuecomment-2408683533

For 3.2 Quiz
Why is it called "mass balance"? Is it a scientific term?
I think scale might be easier to understand for the general public.

https://github.com/AccelerationConsortium/ac-microcourses/issues/72#issuecomment-2408778501

Throughout course 3 I feel that there is a significant push for hands-on experience and learning as we go. However, I think that more theoretical explanation of what we are doing would be nice. I feel like its buy this, read this, do this demo. Missing some why we are doing this and how it works, what benefits this approach has, possible use cases for this, etc.
Reading through a lot of documentation and then trying to complete a demo with not a lot of guidance also feels quite tiring. It feels like getting a Lego set without instructions, there is an extensive list of items and equipment that have to be pieced together with seemingly not a lot of guidance in the course itself, I feel the course pushes too much for the student to explore the documentation and figure it out.
The demo code I think could include some comments to help understand what is happening instead of the student just running the code and seeing it works.

Try to keep general feedback about the course to this issue and create new issues for specific sub-topics as needed (and make sure to link or reference this issue).

@RubainaFarin31 any updates?

Some feedback about Course 3:
One thing I noticed that sections 3.0-3.3 and 3.4-3.6 have a different tone and presentation style. For example, 3.0-3.3 feels more conversational, using emojis and a more engaging, dialogue-like language, whereas sections 3.4 and onward are closer to technical writing. I understand this mainly depends on the content and isn't actually an issue.
Course 3.4 seems to be the most content-intensive section. While the tutorial tasks and code examples are well-structured and make the workflow easy to follow, setting up the environment (or understand relationship) with Ubuntu, ROS, Issac Sim, Prefect and etc, could be confusing and challenging for learners without a robotics background or with limited operating system experience. I’d suggest adding a diagram to clarify the software dependency and the relationship between software and the devices (PC, cobot, camera and other devices used in the workflow).
Besides, GPU requirement in Isaac Sim section(possible solutions and cloud services example) is not organized with a consistent indentation and paragraph format compared to the surrounding content.

I’d suggest adding a diagram to clarify the software dependency and the relationship between software and the devices (PC, cobot, camera and other devices used in the workflow).

Good point! I’m working on design ideas to address that.

Also, to clarify, the piloting of the course includes completing and submitting the quizzes and assignments.


"Issue" with the password generation >.<.

Nyaaa, I want to help too.
The function "generate_random_password" will always generate a password that is eight characters long. This is really easy to detect, filter or block.
This little thingy will generate a "strong" password with a length of 8 - maximal length (20 as default) characters:
def generate_random_password(maximal_length: int = 20):
    length_list = [x for x in range(8, maximal_length + 1)]
    return ''.join(secrets.choice(string.ascii_letters + string.digits) for _ in range(secrets.choice(length_list)))

Or with the random module, for a less "strong" password, but better performance:
def generate_random_password(maximal_length: int = 20):
    return ''.join(
        random.choice(string.ascii_letters + string.digits) for _ in range(random.randint(8, maximal_length)))

another idea would be to use something like rockyou.txt randomly pick and have a function to randomally change some characters

Already on it, implementing it in rust

@CybrZone
The "issue" has been addressed with the most recent merge - @Nanaleafy  Thank you for your contribution!