HTTP client ignores "no_proxy" environment variable

Describe the bug
clickhouse-connect seems to ignore the environment variable no_proxy/NO_PROXY in a local Apache Superset configuration via Windows 10 with Docker Desktop and WSL2.
Utilizing a configuration that requires a forward proxy (e.g. in a corporate network) creates the need to maintain HTTP_PROXY/HTTPS_PROXY environment variables to allow Apache Superset to download Python packages like the clickhouse-connect driver and sample data. This may eventually need to provide additional SSL certificates and to set corresponding environment variables for Python and Node.JS (details on the configuration below - no issue in this context).
In the particular scenario described below a local Fiddler forward proxy is used, however the used proxy does not seem to matter and is just relevant for the text of the error message.
Installing the clickhouse-connect driver and connecting to clickhouse via connection string clickhousedb://default:@clickhouse:8123 should work, given the clickhouse container was named clickhouse respectively without leaving the local docker network. When trying to connect to the database, there is the following error message:
ERROR: :HTTPDriver for http://clickhouse:8123 returned response code 502)
[Fiddler] DNS Lookup for "clickhouse" failed. System.Net.Sockets.SocketException No such host is known

The error message indicates that the local docker network was left and the request to host clickhouse was sent to the forward proxy. This is ignoring the setting in environment variable no_proxy, which did contain host clickhouse as the exception.
Workaround:
Docker compose creates a default network to bridge to the host. As per the clickhouse settings described above, the container is exposed on a port on the host OS, hence connecting via string clickhousedb://default:@localhost:8123 does work. This is considered sub-optimal since a later production setup should isolate the database, while allowing to install the database driver. This would require proper handling of proxy settings and avoid to reroute via the forward proxy when connecting to the database.
Other considerations:
Connecting to clickhousedb://play:clickhouse@play.clickhouse.com:443 as suggested here does work as a sanity check of the proxy and certificates setup. The external URL is recognized by the forward proxy, while the container/service name clickhouse is not and leads to an error.
Steps to reproduce

Setup Apache Superset in Windows 10 with Docker Desktop with WSL2 support as described here

Add clickhouse container to docker-compose-non-dev.yml (add the following in the respective sections):
x-clickhouse-volumes:
  &clickhouse-volumes
  - clickhouse_home:/var/lib/clickhouse

services:
  clickhouse:
    image: clickhouse/clickhouse-server:23
    container_name: clickhouse
    env_file: docker/.env-non-dev
    user: "root"
    restart: unless-stopped
    ports:
      - "8123:8123"
      - "9000:9000"
    volumes: *superset-volumes

volumes:
  clickhouse_home:
    external: false

Add clickhouse-connect>=0.4.1 to ./docker/requirements-local.txt as described here and here

Add proxy setup to .docker/.env-non-dev (add the following to the file):
# Local Proxy Settings
http_proxy="http://host.docker.internal:8888"
https_proxy="http://host.docker.internal:8888"
no_proxy="localhost,<IP_ADDRESS>,db,redis,superset,superset-init,superset-worker,superset-beat,clickhouse"
HTTP_PROXY="http://host.docker.internal:8888"
HTTPS_PROXY="http://host.docker.internal:8888"
NO_PROXY="localhost,<IP_ADDRESS>,db,redis,superset,superset-init,superset-worker,superset-beat,clickhouse"
# SSL certificate for the Python part
REQUESTS_CA_BUNDLE=/app/docker/ca-bundle.crt
# The superset_init container uses urllib (instead of urllib3) and ignores the REQUEST_CA_BUNDLE variable
SSL_CERT_FILE=/app/docker/ca-bundle.crt
# Eventually used for the node.js based UI components
NODE_EXTRA_CA_CERTS=/app/docker/ca-bundle.crt

Start the containers via TAG=1.5.3 docker-compose -f docker-compose-non-dev.yml up

Log in to http://localhost:8088/

Add clickhouse database as described here

Expected behaviour
Connection string clickhousedb://default:@clickhouse:8123 and clicking "Test Connection" should allow successful connectivity to the database.
Code example
The code of clickhouse-connect indicates support for the proxy environment variables, but not for the no_proxy exception list:
https://github.com/ClickHouse/clickhouse-connect/blob/b1c78f8fbe03d5576949f5ee5c8ab43bd72ac2a5/clickhouse_connect/driver/__init__.py#L65-L66
clickhouse-connect and/or ClickHouse server logs
Configuration
Environment - from within the superset_app container:
pip list | grep clickhouse
clickhouse-connect     0.5.18

python --version
Python 3.8.13

uname -a
Linux 8275ab37bfa1 <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Wed Mar 2 00:30:59 UTC 2022 x86_64 GNU/Linux

Clickhouse Server on Version 23 (see docker compose file).

Missed to share the server logs:

2023-04-04 09:11:35,070:ERROR:clickhouse_connect.driver.httpclient:[Fiddler] DNS Lookup for "clickhouse" failed. System.Net.Sockets.SocketException No such host is known
[SupersetError(message=':HTTPDriver for http://clickhouse:8123 returned response code 502)\n [Fiddler] DNS Lookup for "clickhouse" failed. System.Net.Sockets.SocketException No such host is known                                                                                ', error_type=<SupersetErrorType.GENERIC_DB_ENGINE_ERROR: 'GENERIC_DB_ENGINE_ERROR'>, level=<ErrorLevel.ERROR: 'error'>, extra={'engine_name': 'ClickHouse Connect', 'issue_codes': [{'code': 1002, 'message': 'Issue 1002 - The database returned an unexpected error.'}]})]
2023-04-04 09:11:35,081:WARNING:superset.views.base:[SupersetError(message=':HTTPDriver for http://clickhouse:8123 returned response code 502)\n [Fiddler] DNS Lookup for "clickhouse" failed. System.Net.Sockets.SocketException No such host is known                                                                                ', error_type=<SupersetErrorType.GENERIC_DB_ENGINE_ERROR: 'GENERIC_DB_ENGINE_ERROR'>, level=<ErrorLevel.ERROR: 'error'>, extra={'engine_name': 'ClickHouse Connect', 'issue_codes': [{'code': 1002, 'message': 'Issue 1002 - The database returned an unexpected error.'}]})]
<IP_ADDRESS> - - [04/Apr/2023:09:11:35 +0000] "POST /api/v1/database/test_connection HTTP/1.1" 422 550 "http://localhost:8088/databaseview/list/?pageIndex=0&sortColumn=changed_on_delta_humanized&sortOrder=desc" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/110.0.1587.78"

@genzgd, thank you very much for fixing. I can confirm it works now as expected.
I have updated my python dependency to clickhouse-connect>=0.5.19 and tested again with Apache Superset 1.5.3. This new combination works as expected and properly handles the no_proxy environment variable.

Thanks for the update, much appreciated.


Update detachMousewheelListener to call removeEventListener on the right element

The 'mousewheel' event is bound to the element that is determined by calling getParentElement, however when it is unbound, the element thats being targeted is simply node.parentElement. This results in a memory leak when this component is used in conjunction with the getScrollParent prop.

I'm closing due to inactivity


Update transport-native-epoll compile flags

Motivation:
Loading of the native epoll transport might segfault the JVM if musl is used and no glibc-compat is installed:
Modifications:

Move libraries to LIBS where they should be, avoiding need for
-Wl,--no-as-needed.
Use -O2 instead of -O3; there are no tight loops so -O3 just increases
code size for no benefit.
Add -pipe for faster compilation.
Add -D_FORTIFY_SOURCE=2 and -Wl,-z,relro for security.
Add -Wl,-z,now for security and to improve musl
compatibility. musl does not implement __strdup and __strndup which
old glibc aliases strdup and strndup to, but OpenJDK loads libraries
with RTLD_LAZY, so this is not discovered until too late. See
https://github.com/grpc/grpc-java/issues/8751#issuecomment-1086963256
for more information.
Add -ffunction-sections -fdata-sections -Wl,--gc-sections to reduce
output size and avoid linking librt when not really needed (only used
for kqueue)

Result:
"Fixes" #11701 by making the native library load fail.

This is a port of  (#12272)

This should also fix https://github.com/netty/netty/pull/12313


Ache container crashes on EC2 instance after running for sometime

Trying to crawl using the tor proxy and using the default tor.seed file but the ache container stops with no output.

Please post the error log.

So when trying to run the crawler, i am getting this error. The ache.yml config file and seed.txt is inside the /config folder. not sure where I should be pointing them. Trying to run the crawler without tor proxy

Closing the issue - we believe the issue was in how we were referencing the ache.yml and seeds.txt


Typo error in README.md file

Typo error is found in README.md file.
Steps to reproduce
Open the README.md file of the project.
Would you like to work on the issue?
Yes

@ShivangiSingh17 This type of issue wont be considered for gssoc.
I am merging your PR though, but points wont be added for this PR

Ok @Swati4star not a problem. I will consider that.


[SPARK-15942][REPL] Unblock :reset command in REPL.

What changes were proposed in this pull
(Paste from JIRA issue.)
As a follow up for SPARK-15697, I have following semantics for :reset command.
On :reset we forget all that user has done but not the initialization of spark. To avoid confusion or make it more clear, we show the message spark and sc are not erased, infact they are in same state as they were left by previous operations done by the user.
While doing above, somewhere I felt that this is not usually what reset means. But an accidental shutdown of a cluster can be very costly, so may be in that sense this is less surprising and still useful.
How was this patch tested?
Manually, by calling :reset command, by both altering the state of SparkContext and creating some local variables.

Test build #60487 has started for PR 13661 at commit 7f2e3b5.

Test build #60487 has finished for PR 13661 at commit 7f2e3b5.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60487/
Test FAILed.

Test build #60554 has started for PR 13661 at commit 848e1be.

Test build #60554 has finished for PR 13661 at commit 848e1be.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60554/
Test FAILed.

Merged build finished. Test FAILed.

Test build #60563 has started for PR 13661 at commit ac0b94a.

Test build #60563 has finished for PR 13661 at commit ac0b94a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60563/
Test PASSed.

Merged build finished. Test PASSed.

Test build #60630 has started for PR 13661 at commit 4a70912.

Test build #60630 has finished for PR 13661 at commit 4a70912.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60630/
Test PASSed.

Merged build finished. Test PASSed.

@srowen and @zsxwing Please take a look !

Seems reasonable to me.

Merged to master/2.0


Helm is unable to update if the previous deployment failed

Output of helm version:
version.BuildInfo{Version:"v3.14.4", GitCommit:"81c902a123462fd4052bc5e9aa9c513c4c8fc142", GitTreeState:"clean", GoVersion:"go1.21.9"}

Output of kubectl version:
Client Version: v1.29.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.5

Cloud Provider/Platform (AKS, GKE, Minikube etc.): AKS
Hi, I ran an issue that helm is unable to update if the previous deployment failed, the following is my steps:

Deploy healthy pod and secret provider

Helm upgrade succeed
Pod and Secret Provider class are synced

Break the pod and update secret provider class

Helm upgrade failed on pod
Pod and Secret Provider class are synced

Update secret provider class

Helm upgrade failed on pod
Pod is synced
Secret Provider class is updated in helm get but not updated in kubectl describe

If external modifications are made to an object , Helm doesn't necessarily overwrite these. See: https://helm.sh/docs/faq/changes_since_helm2/#improved-upgrade-strategy-3-way-strategic-merge-patches
(I suspect this is what is happening here)
Otherwise for brevity, a more succinct replication example will be needed please.

Hi, @gjenkins8 , there is no external modifications. I only ran helm update in these steps, thanks!


Add support for emitting information about repositories used during configuration resolution process, and sourced repository for a component

Context
Expose information to be captured by the build scan plugin to convey repositories information and component source repository.
Contributor Checklist

[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:check

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

@facewindu I renamed your ticket to follow the naming conventions we use in build tool team.

@ldaley reworked (a lot) the PR here. Now we provide ResolutionAwareRepository#getDetails(), and ModuleComponentRepository#getDetails that contains among other things the unique ID we can safely use to link a resolved component to the correct repo.
These are implemented by repos, and accessible on:

DefaultConfigurationResolver to build the list of repos known by a given config
RepositoryChainModuleSource, in turn accessible from a ComponentResult via its ComponentState.

Performance tests here: https://builds.gradle.org/viewLog.html?buildId=14233875&tab=buildResultsDiv&buildTypeId=Gradle_Check_PerformanceTestCoordinator

@ldaley @bigdaz I squashed and merged this to master, to produce a nightly and continue.
We can discuss the remaining bits which are governed by https://github.com/gradle/gradle/pull/5959#discussion_r202924129
This will also have ripple effects on https://github.com/gradle/gradle/pull/5959#discussion_r202270572


[Bug] Cash Flow statement is not flipping signs appropriately.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the issue
The cash flow statement is looking at the account balances from the balance sheet and not flipping the signs on the appropriate accounts.
For example, an increase in Accounts Receivable month over month would be a negative impact to the Cash Flow statement, however it shows up as a positive impact.
Other accounts such as Accrued Revenue, Prepaid Expenses etc. would also need to be flipped accordingly.

Relevant error log or model output
n.a

Expected behavior
Cash Flow statement accounts should have the proper signs to help accurately calculate cash flows.
dbt Project configurations
std.
Package versions
std.
What database are you using dbt with?
snowflake
dbt Version
std.
Additional Context
No response
Are you willing to open a PR to help address this issue?

[ ] Yes.
[ ] Yes, but I will need assistance and will schedule time during our office hours for guidance
[ ] No.

@brandonrf94 thanks for raising this issue with our team.
Upon taking a look I can confirm that we are not in fact flipping these amounts in the cash flow statement when pulling from the balance sheet.
https://github.com/fivetran/dbt_quickbooks/blob/e604697a51880e2f57bc89606517bb499eb6a017/models/intermediate/int_quickbooks__cash_flow_classifications.sql#L15
Additionally, the example of Accounts Receivable needing to show a negative balance when it increases makes sense to me. I will continue to do some research to understand we have full coverage over which accounts need to be flipped. From your perspective do you know of any other accounts other than the ones listed below need to be flipped?

Accounts Receivable
Accrued Revenue
Prepaid Expenses

Once we have identified all the accounts that need to be flipped for the Cash Flow statement, we can likely apply a case when statement here to achieve the desired end result.

Based on my research (comparing with a customer's Quickbooks cash flow statement)... I had to flip the sign on any account with "account_class = Asset" for Operating & Investing activities.

Thanks for the quick response here! From a high level viewpoint that logic seems valid to me. I'm going to run this by our internal finance team to confirm there are no other accounts to take into consideration. Once I have confirmation on all accounts that need to be flipped I believe this will be ready to be included in our upcoming sprint.

Hi @brandonrf94, just posting an update here that I have shared this with our internal finance team and it seems like it depends based on how the B/S is setup that will determine wether you should flip the Assets or the Liabilities/Equity. In the case of this dbt package, switching the sign for Assets should do the trick to generate an accurate report. Additionally, this makes sense given the example you shared earlier.
We will explore adding this sign flip and do some further testing to ensure the accuracy of the logic. We may have more questions for you as we work to integrate this change to ensure we are providing an accurate SoCF report. Thanks again!

@brandonrf94 after some more exploration and research we will be moving forward with the following logic update to the Statement of Cash Flows with respect to flipping the signs:
If the account_class is "Asset" and the account is not a Cash account then we will flip the signs in the Statement of Cash Flows.

The last piece of this puzzle is to understand what identifies a "Cash" account. However, I believe this is ready to be accepted. We will add this to the backlog to be integrated in an upcoming release to the QuickBooks dbt package.
Please note, this will not be included in the next release (likely to be on or before this coming Wednesday), but will be included in the following major update.


[docs] Fix Documentation formatting for recently added ExecutionEnvironment.readSequenceFile()

LGTM. Will merge it.


Allow creating jobs

Short description:
Allow creating jobs with minimal config
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

!verifired

!verified


[SUPPORT]flink sql hudi will create duplicate record on same s3 path when the data size is bigger enough to create new filegroup and different flink session with different yarn application

Tips before filing an issue

Have you gone through our FAQs? Yes

Join the mailing list to engage in conversations and get faster support at<EMAIL_ADDRESS>

If you have triaged this as a bug, then file an issue directly.

Describe the problem you faced
flink sql hudi will create duplicate record on same s3 path when the data size is bigger enough to create new filegroup and different flink session with different yarn application.
A clear and concise description of the problem.
To Reproduce
Steps to reproduce the behavior:

Downloading e-commerce data from https://www.kaggle.com/datasets/mkechinov/ecommerce-behavior-data-from-multi-category-store
Upload to a s3 bucket
Run the below query from Athena. Please modify the s3 path

CREATE EXTERNAL TABLE `ecommerce`(
  `event_time` string,
  `event_type` string,
  `product_id` bigint,
  `category_id` bigint,
  `category_code` string,
  `brand` string,
  `price` double,
  `user_id` bigint,
  `user_session` string)
ROW FORMAT DELIMITED
  FIELDS TERMINATED BY ','
STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
  's3://<bucket>/opendata/ecommerce/'

CREATE TABLE ecommercedistinct
WITH (
      format = 'Parquet',
      write_compression = 'SNAPPY'
      )
AS SELECT sum(price) as price,user_session,  CAST(NULL AS INTEGER) AS empty_column FROM "your_database"."ecommerce" where user_session IS NOT NULL group by user_session;

Since the data still has null data in user_session, it will break the query later on. Run the following query to find out the null user_session.

select "$path" , user_session from "ecommercedistinct" order by  user_session ASC;

random pick up 5 file under the s3 path of table ecommercedistinct, but avoid the file with null user_session
launch emr cluster primary : emr-6.7.0 with flink m5.2xlarge, 5 core node with m5.2xlarge.
create flink session

export HADOOP_CLASSPATH=`$HADOOP_HOME/bin/hadoop classpath`
sudo /usr/lib/flink/bin/start-cluster.sh
flink-yarn-session -d  -jm 12288 -tm 12288

/usr/lib/flink/bin/sql-client.sh embedded -e /home/hadoop/sql-env.yaml
flink sql>

add jar '/usr/lib/hudi/hudi-flink1.14-bundle_2.12-0.11.0-amzn-0.jar';

# create source table. Please modified s3 path to your s3 path with data in partaccesslog.tar.gz
CREATE TABLE tablesource1
 (
 `price` double,
 `user_session` varchar(255)  PRIMARY KEY,
 `empty_column` int
 ) with ('connector'='filesystem', 'path'=
's3://<my_bucket>/tables/5file/','format'='parquet');

# create target table, set 'hoodie.copyonwrite.insert.split.size'='5000000' to enforce to create a bigger filegroup file, please modified s3 path accordingly.
CREATE TABLE tabletarget1
 (
 `price` double,
 `user_session` varchar(255)  PRIMARY KEY,
 `empty_column` int
 ) with ('connector'='hudi', 'path'=
's3://<my_bucket>/ecommercetarget1/', 'table.type' =
'COPY_ON_WRITE', 'hoodie.compaction.payload.class' =
'org.apache.hudi.common.model.OverwriteNonDefaultsWithLatestAvroPayload',
'write.payload.class'=
'org.apache.hudi.common.model.OverwriteNonDefaultsWithLatestAvroPayload',
'write.batch-size'='32',
'hoodie.copyonwrite.insert.split.size'='5000000',
'table.exec.sink.not-null-enforcer'='drop');

INSERT INTO tabletarget1 select * from tablesource1; <== take about 6+ minutes to finished to create a file

Make duplicate record
stop the sql session kill yarn application, create a new one start new flink sql session, random choose auser_session id and insert

INSERT INTO tabletarget1 (user_session,empty_column) VALUES ('0bc5bd30-4b48-4637-b5f0-9e327707d2bc',1);

Go to Amazon Athena to check , we can see 2  user_session='94CFQJ4T7409AW2P'

CREATE EXTERNAL TABLE `tabletarget`(
  `price` double,
  `user_session` string,
  `empty_column` int)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
  'org.apache.hudi.hadoop.HoodieParquetInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://<my_bucket>/ecommercetarget1/';

select "$path","user_session" from tabletarget where user_session='94CFQJ4T7409AW2P';

Expected behavior
The record is not duplicate when the data size is small. For example, if I create an empty table and insert values, it will always be the deduplicate. No matter I user new flink sql session & yarn application or not.
I expected the record should not be duplicated.
Environment Description

Hudi version :0.11.0

Flink version : 1.14.2

Hadoop version :3.2.1

Storage (HDFS/S3/GCS..) :S3

Running on Docker? (yes/no) :no

Additional context
Stacktrace

Did you use the batch execution mode when executing the insert into xxx queries? Only batch insert would deduplicate for each batch write, for streaming ingestion, it relies on the index state to deduplicate.

Hello Danny, thank you for promptly replied. Since our business scenario is streaming ingestion, would you mind to let me know how to set index state to mitigated the issue?
I have tried several config such as index.global.enabled , but the issue persist

if you always use streaming ingestion, remember to bring on the latest checkpoint when start the new pipeline, by default, the flink write pipeline uses the FLINK_STATE index, this index persists the index info through Flink state-backend, so the state irself is critical whenever you start a new writing job.

@ChiaWeiGithub have you checked Danny's response and see if adding Flink checkpoint in the streaming ingestion helps dedup?

@ChiaWeiGithub Gentle Ping.


Add normalization levels

Each level carries on to the next. This means level 3 includes all normalizations from level 1 to 3.
Level 0

[x] No normalization of any kind is applied

Level 1

[x] Videos are auto cropped

Level 2

[x] Subtitle Title normalization for subtitles streams already without a title
[x] Audio Title normalization for audio streams already without a title
[ ] Language normalization detected from title if already exists. Search title for language and apply it to language tag in metadata.

Level 3

[x] Audio Normalization - “simple” audio RMS-based normalization to -2.0 dBFS
[x] Deinterlace videos.

Level 4

[x] Audio Normalization - loudnorm audio normalization

Level 5
This level may alter the video/audio/subtitles in undesirable ways, use caution.

[ ] Audio Normalization - dynaudnorm audio normalization

loudnorm is currently not supported by ffmpeg stable.

These systems have been reworked with the 0.5.2 update and is no longer relevant.


Test-IISApplicationhost fails if boolean value false is provided as string

Test-IISApplicationHost fails to correctly recognize that the resource is in desired state if the setting returns a boolean value, but the input value is string False.
For example, below setting will never be in desired state:
IISApplicationHost maxAllowedContentLength {
       PSPath = 'IIS:\'
       Filter = 'system.webserver/directorybrowse'
       Name   = 'Enabled'
       Value  = 'False'
}

This is because $false -eq ' False' , but ' False'  -ne $false.
Fix is ready.

fixed in commit 78998fec5f6eeda9ef26828cef049de7a31ad074


Bug 2097772: [release-4.12] Show tooltips for contextual information

Show tooltips for contextual information while allowing users to override their behaviour.
Signed-off-by: Pranshu Srivastava<EMAIL_ADDRESS>

/bugzilla refresh

/bugzilla refresh

/retitle Bug 2097772: [release-4.12] Show tooltips for contextual information

/bugzilla refresh

/approve
@GowthamShanmugam plz lgtm if it looks good... u can change status of ur DR BZ as well once these PRs are merged...

/lgtm


add log support for llvm backend

Description
What is the purpose of the change?
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Brief of your solution
Please describe your solution to solve the issue or feature request.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Codecov Report

Merging #333 (6b43818) into llvm_backend (a8815c9) will decrease coverage by 0.18%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           llvm_backend     #333      +/-   ##
================================================
- Coverage         45.92%   45.73%   -0.19%
================================================
  Files               140      139       -1
  Lines             12361    12351      -10
================================================
- Hits               5677     5649      -28
- Misses             5526     5545      +19
+ Partials           1158     1157       -1

Impacted Files
Coverage Δ

bcs/contract/xvm/debug.go
0.00% <0.00%> (ø)

bcs/network/p2pv1/conn.go
55.10% <0.00%> (-6.13%)
:arrow_down:

bcs/consensus/tdpos/common.go
52.17% <0.00%> (-2.90%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
51.26% <0.00%> (-2.04%)
:arrow_down:

bcs/consensus/tdpos/tdpos.go
46.94% <0.00%> (-1.88%)
:arrow_down:

bcs/network/p2pv2/server.go
51.33% <0.00%> (-1.07%)
:arrow_down:

kernel/consensus/base/driver/chained-bft/smr.go
40.59% <0.00%> (-0.75%)
:arrow_down:

bcs/contract/xvm/export_resolver_darwin.go

Continue to review full report at Codecov.

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

Codecov Report

Merging #333 (6b43818) into llvm_backend (a8815c9) will decrease coverage by 0.07%.
The diff coverage is 0.00%.

@@               Coverage Diff                @@
##           llvm_backend     #333      +/-   ##
================================================
- Coverage         45.92%   45.85%   -0.08%
================================================
  Files               140      140
  Lines             12361    12362       +1
================================================
- Hits               5677     5668       -9
- Misses             5526     5534       +8
- Partials           1158     1160       +2

Impacted Files
Coverage Δ

bcs/contract/xvm/debug.go
0.00% <0.00%> (ø)

bcs/consensus/xpoa/xpoa.go
51.26% <0.00%> (-2.04%)
:arrow_down:

bcs/network/p2pv2/server.go
51.33% <0.00%> (-1.07%)
:arrow_down:

kernel/consensus/base/driver/chained-bft/smr.go
40.59% <0.00%> (-0.75%)
:arrow_down:

Continue to review full report at Codecov.

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


Installation error

Dependency error in prettier
getting this error
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/prettier
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/pretty-quick
npm ERR!   dev<EMAIL_ADDRESS>from the root project

Thanks for the report.
I upgrade Auth.js to v5 and update all dependencies.
I just tested the command line and everything works for me.
Can you try again and give me feedback please?
I'm closing the issue but feel free to comment if you still have the problem.


Issue with large numbers

When you use large numbers, it doesn't format correct
My config
{
          decimal: ",",
          separator: ".",
          prefix: "",
          suffix: "",
          precision: 2,
          masked: false,
          reverseFill: false,
          minimumFractionDigits: 2
}

Steps to reproduce

Use the above config
Type in 123456789
It's also possible to reproduce this in your playground: https://vue-number-format.netlify.app/guide/play-ground.html

Expected
123.456.789,00
Actual
1,23
But when you use , as separator and . as decimal it works.

any updates on this?

Working Fine, trying on Google Chrome and Mac

@dipaksarkar your config is wrong. You need to change separator and decimal. So separator should be . and decimal should be ,

@dipaksarkar can try with separator . and decimal ,

I already tried playground it's working fine with latest version.


Update engine-api version in /vendor

After https://github.com/docker/engine-api/pull/162, lot of function signatures changed in engine-api. We should bump up to master soon.
This will have to be done all at once and will touch the following things:

engine-api function calls
mock and nop clients in Swarm
unit tests

@nishanttotla
In the new version of docker/engine-api, I think PR https://github.com/docker/engine-api/pull/162 is merged.
Maybe we should reconsider https://github.com/docker/swarm/blob/master/cluster/engine.go#L962.


recipes-app/switchserialmode: bump PV to 0.2

Several changes were made to this package since it was initially
released but without a PV bump. This breaks dist-upgrade scenario
Signed-off-by: Cedric Hombourger<EMAIL_ADDRESS>

@BaochengSu please merge


chore(main): release 1.42.0

:robot: I have created a release beep boop
1.42.0 (2024-11-20)
Features

add $q for search occurence in all column (like elastic) (29432b2)

Build System

update dependecies (1f0d04a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/Andesite-Lab/Core/releases/tag/v1.42.0 :sunflower:


Emphasis and "the rule of three"

The spec 0.29 says in the chapter 6.4 the following (informally often called as "the rule of three"):

Strong emphasis begins with a delimiter that can open strong emphasis and ends with a delimiter that can close strong emphasis, and that uses the same character (_ or *) as the opening delimiter. The opening and closing delimiters must belong to separate delimiter runs. If one of the delimiters can both open and close strong emphasis, then the sum of the lengths of the delimiter runs containing the opening and closing delimiters must not be a multiple of 3 unless both lengths are multiples of 3.

Note it says "the sum of the lengths of the delimiter runs containing the opening and closing delimiters" and not "the sum of the lengths of the delimiters".
That imho very clearly states that
***foo *bar baz***

should be

***foo bar baz**

I.e. there can be no emphasis span being opened in the initial *** and being closed in the final *** at the same time.
Yet, with p-c (current master head), I can see this:

*foo bar baz

(See also https://github.com/commonmark/cmark/issues/333)

Oops. Sorry. Somehow I completely ignored "unless both lengths are multiples of 3".
Closing as invalid.


using the stable spin's once implementation

I am opening a different pull request since this is different from #122
We should now be able to have no_std lazy_static with stable Rust.

Thanks @brunoczim!
Would you also like to update our .travis.yml so that we check this feature on the latest stable too:
matrix:
  include:
    - rust: stable
      script:
        - cargo test
        - cargo test --features spin_no_std

Done.
Please tell me if I did something wrong with travis. I am more used to gitlab CI :P


WebPayments API usage gives an OS error on Vive XR Elite

on https://paymentrequest.show/demo site, which works on Pico 4, Vive XR Elite browser (AC 121.1.0) shows an Operating System error message:
UnknownError: Render process could not establish or lost IPC connection to the PaymentRequest service in the browser process.

WebPayments is not supported yet, but the good news is that my colleague @javifernandez is actively working on that


Add timestamp to subscribers collection

Right now the subscribers Mongo collection doesn't have any timestamps so we don't really know when they subscribed.
Let's add timestamps.

Done!


feat: add secure mqtt message bus

Signed-off-by: Jim Wang (Intel<EMAIL_ADDRESS>Signed-off-by: intel<EMAIL_ADDRESS>

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-compose/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

make gen dev mqtt-bus and check for usernamepassword / secretname: message-bus in mqtt-broker container

Test instructions should also include verifying no errors in Device Virtual, Core Data and App Rules Engine logs and when DEBUG logging is turned on for these services their logs show data being published(Device Virtual) and data being received (Core Data and App Rules Engine)

One more thing. Run "make build" and check in the resulting generated artifacts.

@bnevis-i , yes make build should be run. But for the non-TAF compose files this will not have an impact since we don't build any regular compose files with MQTT option.
We do build TAF MQTT compose files for secure and non-secure. So those will need tweaks.

One more thing. Run "make build" and check in the resulting generated artifacts.

@bnevis-i , yes make build should be run. But for the non-TAF compose files this will not have an impact since we don't build any regular compose files with MQTT option.
We do build TAF MQTT compose files for secure and non-secure. So those will need tweaks.

I ran make build and the following files chagned:
docker-compose.yml
docker-compose-arm64.yml
docker-compose-wtih-app-sample.yml
docker-compose-wtih-app-sample-arm64.yml
taf/docker-compose-taf.yml
taf/docker-compose-taf-arm64.yml
taf/docker-compose-taf-mqtt-bus.yml
taf/docker-compose-taf-mqtt-bus-arm64.yml

I ran make build and the following files changed:

Ok, @joshua-silverio please look into the diffs on the non-TAF files to understand why.

Seems like the change on no TAF files is the addition of message-bus to KnownSecretList

Add @cherrycl  for helping on TAF testing in this case...

Not yet @cherrycl . We need to make sure the TAF MQTT secure compose files have what is required.

Seems like the change on no TAF files is the addition of message-bus to KnownSecretList

Thought that might be the case on the secure mode compose files. Non-secure shouldn't change, which are not in Bryon's list.

@cherrycl We attempted to run the docker-compose-taf-mqtt-bus.yml locally by replacing the placeholder fields in order to verify the secure mqtt changes. We ran into this error (image above) on the app-mqtt-export service and not sure what is missing/going on. Any thoughts?

@joshua-silverio I can reproduce the error. I tried to stop scalability test service  and the error disappeared. Not sure why starting both services cause this problem.

@cherrycl Looks like we were able to solve the issue but the smoke tests are still failing. @jim-wang-intel and I are unfamiliar with those, have you seen these fail or know why they might?

@joshua-silverio The failure caused by incorrect SHA1 value.  Could you squash and rebase the commits?


Get Picker from @react-native-community/picker

Feature request
Instead of importing Picker from react-native, we should update to import the Picker from @react-native-community/picker
Why it is needed
Picker has been extracted from react-native core and will be removed in a future release.

Possible implementation
@react-native-community/picker should just be a drop-in replacement, though we will need to check for regressions.
Code sample
N/A

Please disregard - I was thinking of a different lib. Sorry!


BUG: mstats: make sure mode(..., None) does not modify its input

closes gh-6428

Obscure numpy bug alert:
======================================================================
ERROR: test_find_repeats (test_mstats_basic.TestCompareWithStats)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/scipy/stats/tests/test_mstats_basic.py", line 1273, in test_find_repeats
    _, counts = stats.mstats.find_repeats([])
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/scipy/stats/mstats_basic.py", line 159, in find_repeats
    if np.may_share_memory(compr, arr):
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/numpy/lib/utils.py", line 298, in may_share_memory
    b_low, b_high = byte_bounds(b)
  File "/home/travis/virtualenv/python3.4.2/lib/python3.4/site-packages/numpy/lib/utils.py", line 254, in byte_bounds
    ai = a.__array_interface__
AttributeError: 'list' object has no attribute '__array_interface__'

Indeed, a numpy bug which has been fixed between numpy 1.7 and 1.8.2:
In [2]: np.__version__
Out[2]: '1.8.2'

In [3]: np.may_share_memory([], [])
Out[3]: False

However, np.may_share_memory is documented to accept ndarrays, so I've added a workaround and force-pushed.

Merged, thanks Evgeni.


[EDI] Handle (or ignore?) line endings

Consider the header
UNA:+.? '
This wouldn't be
    "component_delimiter": ":",
    "element_delimiter": "+",
    "segment_delimiter": "'",
    "release_character": "?",

But instead is
    "component_delimiter": ":",
    "element_delimiter": "+",
    "segment_delimiter": "'\n", <--
    "release_character": "?",

If the file you're trying to read contains line endings. Maybe the safest/easiest option would be removing all line endings?

@DGollings not sure I understand, you're saying if the input EDI file has a header indicating segment delimiter is ' but somehow the rest of the file is filled with \n?
Generally speaking, EDI standard is pretty strict, I would normally say in this situation the input EDI file is invalid/corrupted. If you have a real case where the supplier of the EDI file doesn't want to change (some businesses are stubborn about their "incorrectness") then we can consider adding a boolean flag in file_declaration section for edi schema: remove_cr_lf.
what do you think?

No, the entire file is ' and \n
Which tbh is pretty legible are you sure ignoring line endings isn't part of the spec? If I do an online image search for' edifact example' I see plenty of similar looking headers and one line per segment examples

In this situation I would simply use '\n as seg delim

Sure, but I'd consider mentioning it somewhere. Took me quite some time to figure out :)
On Sun, Nov 15, 2020, at 9:34 PM, JF Technology wrote:

In this situation I would simply use '\n as seg delim

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/jf-tech/omniparser/issues/117#issuecomment-727632178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAPQJN77Z7X25LSGDRCSDPDSQA3MJANCNFSM4TWJE4YQ.

Okay I dug around there is not definitive answer that i am aware of. IBM/Oracle/MSFT all have some minor different implementation. But I would use this MSDN page for future reference: https://docs.microsoft.com/en-sg/troubleshoot/biztalk/segment-terminator-x12-encoded-interchange. Basically it allows a single char seg delim then followed by optional suffix.
In omniparser it's a bit more flexible/powerful as you can specify string as seg delim so in this case '\n is a good way to write the schema.


cannot close browser with out

Error: WebSocket connection closed
at Chrome._handleConnectionClose (C:\Users\ethan\Desktop\shapeVelo\node_modules\chrome-remote-interface\lib\chrome.js:254:21)
at WebSocket. (C:\Users\ethan\Desktop\shapeVelo\node_modules\chrome-remote-interface\lib\chrome.js:243:22)
at WebSocket.emit (node:events:390:28)
at WebSocket.emitClose (C:\Users\ethan\Desktop\shapeVelo\node_modules\ws\lib\websocket.js:246:10)
at Receiver.receiverOnFinish (C:\Users\ethan\Desktop\shapeVelo\node_modules\ws\lib\websocket.js:1058:20)
at Receiver.emit (node:events:390:28)
at finish (node:internal/streams/writable:750:10)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
async close() {
this.chrome.kill()
}

also tried async close() {
try {
if (this.client) {
await this.client.close();
}
if (this.chrome) {
await this.chrome.kill();
}
} catch (err) {
console.error('Error while closing:', err);
}
}

From the issue template you disregarded:
<!-- OMITTING THE FOLLOWING MIGHT CAUSE THIS ISSUE TO BE CLOSED WITHOUT NOTICE. -->


Update NU1604.md

Fixes: https://github.com/NuGet/Home/issues/9496
This adds information about a <PackageReference /> missing a version all together which is the much more common case.

This issue fixes: https://github.com/NuGet/Home/issues/13500
It's also a duplicate PR of https://github.com/NuGet/docs.microsoft.com-nuget/pull/3320

Team Review: Combine with https://github.com/NuGet/docs.microsoft.com-nuget/pull/3320


feat(client): :sparkles: Expose server version from client_core

The new C API is alvr_get_server_version which works similarly to alvr_get_settings_json. The value can be obtained only after server connection, and the string length can be obtained by passing a null buffer.

Tested it on visionOS and it seems to work fine, defaults to "20.11.0" on older versions but it seems like client_core works fine for those versions anyhow

@shinyquagsire23  What do you mean "defaults to "20.11.0" on older versions"? What did you try?

@zarik5 I tested streamer 20.9 and 20.10 from Releases with the patched client_core and it always returned the string "20.11.0"

Now I remember why. This is actually caused by sloppy session extrapolation. Thankfully i can implement a fix and this will work retroactively for previous server builds.

Thankfully i can implement a fix and this will work retroactively for previous server builds.

Do you mean knowing that the version is <= 20.11 is good enough and the fix in the server will be implemented later?

No, i mean that the server version is already passed correctly but the client mistakenly overwrites and loses the value, because of faulty session extrapolation

that's what I was wondering, odd choice to not directly add the fix to the pr then

I was thinking about that. You may be right. I'll make another PR tomorrow

honestly for visionOS it kinda works out anyhow, because the issue I thought I needed the versions to patch over (controllers being rotated) was fixed with the client_core update anyhow. Though I might disable the hand skeleton hysteresis on older versions where SteamVR input 2.0 gets set true by default w/o the streamer having those settings present


UXUI-247 - Removing dev folder and moving to component specific less

What does this PR do?

Removes the dev folder for each component as it's really not required
Move each less file into the specific components code directory
Updates readme.md of each component to remove the ui- prefix
Improves legibility of docs by adding spacing after a demo-box

What unit or integration tests does this PR have?
none
What selenium tests does this PR have?
none
How should a developer review this?

Take a look at the code it should all be fairly straightforward
Manually test as below

How should this be manually tested?

npm install
grunt docs
check that the components in the docs still look great.

Any background context you want to provide?

the dev folder is created by the component generator, we will put in a separate pr to remove this from the generator as its not required.

What are the relevant tickets?
https://holidayextras.jira.com/browse/UXUI-247
What gif best describes how you feel about this work?

Developer Definition of Done/Quality Checklist (for PR author to complete BEFORE code review):

[ ] I've checked there is appropriate unit, selenium and regression test coverage.
[x] I've updated documentation with any changes to procedures.
[x] I've tested this cross-browser/device for visual changes.
[x] I've checked any significant visual changes with a member of the UX/UI pod.
[x] I've checked this work against the requirements of the Jira.
[x] I've manually checked this work against any dependent systems.
[ ] I've added and updated translations for all supported languages.
[x] I've informed those who need to know of any unforeseen impact of this work (database migrations, deployment procedure changes).
[x] I've checked that there are no negative speed or performance impacts from my work.
[ ] I've added appropriate tracking.
[x] I am ready for this to be code reviewed, merged and tested.
[x] I've thought about writing a blog post about this.

IP or Developer Review:

[ ] I agree with the assumptions made in the quality checklist.
[x] I’ve witnessed the work behaving as expected.
[ ] I’ve run all the tests locally and they pass.
[ ] +1 from me!

Software Engineer or Developer review:

[ ] I agree with the assumptions made in the quality checklist.
[ ] I’ve witnessed the work behaving as expected.
[ ] I’ve run all the tests locally and they pass.
[ ] I’ve checked for appropriate test coverage.
[ ] I’ve checked for coding anti-patterns.
[ ] I've checked this work against the requirements of the Jira.
[ ] +1 from me!

Software Engineer or project guru review:

[ ] I agree with the assumptions made in the quality checklist.
[ ] I’ve witnessed the work behaving as expected.
[ ] I’ve run all the tests locally and they pass.
[ ] I’ve checked for appropriate test coverage.
[ ] I’ve checked for coding anti-patterns.
[ ] I don’t believe this work introduces unnecessary technical debt.
[ ] +1 from me!

Software Tester Selenium review:

[ ] I’ve run all the tests locally and they pass.
[ ] I agree with the test coverage.

Taking SE/Dev review...

I'll take the IP slot.

:+1:

Still looks good :+1:

Taking SE/Guru

+1


Update related names

Because Django doesn't know how to pluralize things, it will automatically name ForeignKey relations like xyz_set.


Extend abi to support peeking of intermediate witnesses

Problem
Currently it is not possible to conveniently autogenerate a value from a circuit + inputs without that value being designated as public. E.g. In the following circuit the developer would have implement their mutation logic both inside and outside of the circuit in order to infer what the secret next_state should be.
// main.nr
fn main (
    prev_state: State,
    prev_state_hash: pub Field,
    mutation: Mutation,
) -> pub Field {
  constrain prev_state == hash_state(prev_state);
  let next_state = mutate(prev_state, mutation);
  hash_state(next_state)
}

Solution
Provide a way to designate certain intermediate witnesses as part of the abi. e.g.
// main.nr
  // ...
  let next_state = mutate(prev_state, mutation);
  peek next_state;
  // ...

Such that the developer tooling can to do something to the effect of:
// client.ts
const nextState = abi.decodePeekable(solvedWitnesses, 'next_state');

Alternatives considered
Support private returns from main. (But apparently there's a security concern with private returns -- I'm not familiar with the reasoning.)
Additional context
Allowing the developer to query intermediate witnesses as such could also pave the way to making recursive proofs more convenience. E.g.
// client.ts
const innerCircuitInput = outerCircuit.solveUntil(partialOuterCircuitInputs, 'inner_circuit_input');
const innerProof = innerCircuit.prove(innerCircuitInput);
const fullOuterCircuitInputs = { ...partialOuterCircuitInputs, inner_circuit_proof: innerProof };
const outerProof = outerCircuit.prove(fullOutCircuitInputs);

In fact, wrapping the intermediate in some structure akin to an event would probably be necessary for recognising when an intermediate is unused (e.g. the intermediate occurs in a zeroed-out branch of an if statement).

What would be the usecase for having the output of the circuit being private instead of making it public?
Is it not possible to make the output of your first circuit public and then pass that in as private input to your second recursive circuit? ie promoting a public input to a private input

Can you clarify how events are akin to this ABI? The ABI is solely used to tell users how they should call the Noir program's entry point and what will be returned

We probably don't want to recognise when a zeroed out branch is used or unused; on the constraint system layer both of branches are compiled, the place where this would useful is on the witness generation layer but this is orthogonal to this part of the stack because that optimisation can be done during witness generation

Is it not possible to make the output of your first circuit public and then pass that in as private input to your second recursive circuit? ie promoting a public input to a private input

Fair point. I'll remove the additional context. I added the note about recursive proofs to win some extra points, but it backfired and distracted from the original intention. The use case that the Problem+Solution describes is to allow a user to write their app logic just once. Without a means to expose some private autogenerated value from a circuit, the user is forced to manually compute that value outside of the circuit instead, i.e. they have to write their app logic twice.

Can you clarify how events are akin to this ABI? The ABI is solely used to tell users how they should call the Noir program's entry point and what will be returned

By "this abi concept" I was referring to the "peeking" of intermediate values. This concept extends the interface into the program, hence why I considered it an extension to the ABI. If you didn't flag one of these "peeked" intermediate witnesses as relevant to the ABI you wouldn't know how to reference it or know to protect it from being optimised away.
I say this concept ("peeking") might be considered similar to ethereum events, because the purpose of an ethereum event is to simply emit some useful information during the execution. Emitting ethereum events doesn't affect the outcome of execution (except gas costs). On second thoughts, the word 'event' is a poor choice, because in most other environments events usually cause side effects within the same execution.

We probably don't want to recognise when a zeroed out branch is used or unused; on the constraint system layer both of branches are compiled, the place where this would useful is on the witness generation layer but this is orthogonal to this part of the stack because that optimisation can be done during witness generation

Possibly I misused the terms zeroed-out & branch (I'm not thinking of compile time zeroing, I'm instead talking about witness selection). As a developer I wouldn't want to misleadingly inspect some intermediate value that was "unused" for a particular execution -- hence why it might be intuitive to describe a "peeked" intermediate instead as an emitted event (either it was emitted or it wasn't).

Pasting conversation from slack, which clarifies this idea:
Take the following noir program:

fn main(x : Field) -> pub Field {
   let y = std::do_something(x);
   let z = std::do_something_else(y);
   z
}

Now lets say I want to know the value of y , its intermediate private state, so there is no easy way to retrieve this. None if you are just a Noir developer, unless you set it as public.

The idea is to add event syntax which will create a list of Event logs for the Prover which will allow them to fetch intermediate private state. The alternative is to re-implement this std::do_something method outside of the circuit, but this will cause us to have duplicated code.

With events, it now looks something like:

fn main(x : Field) -> pub Field {
   let y = std::do_something(x);
   event("Deposit", y);
   let z = std::do_something_else(y);
   z
}

The first parameter is the event name and the second parameter is the value you want to print out. The latter will need further thought on how we print out composite objects like structs.

@Sean Cheetham informed me that events in solidity are implemented using logs, so this function may just be sugar on top of our log functionality.

Organizing some thoughts from slack:
We can expand our new Log directive in the acvm to have this functionality, as it is essentially already being done. The Log directive currently simply prints user-specified intermediate witness values to console, but if the user would like to access them through file or some other environment (in memory w/ node.js) they should be able to do so. Instead of immediately printing the witness values we can instead collect them as a vector. solve_directives and solve then has the possibility to return a collection of intermediate witness values that a user has specified they wish to access in their program (either through a std::println,std::trace,etc.). For nargo these returned intermediate witnesses will most likely be written to a log file, while the npm packages will simply return the vector for a dev to use as they see fit.

Closing as we can now use logs/Oracles to get the same behavior


Please upgrade mattn/go-runewidth

mattn/go-runewidth has merged a PR which solves a number of Unicode issues. It would be great if you could upgrade go-runewidth in your project so I can also use the latest version in tview. Thanks!

Thanks!

Thanks!


Unable to force-use Devfile registries with self-signed or untrusted certificates + confusing Secure property

/kind bug
What versions of software are you using?
Operating System:
Fedora 37
Output of odo version:
odo v3.7.0 (26c90d7c4)
How did you run odo exactly?
Let's say that I have a registry exposed using a self-signed or untrusted certificate, and I intentionally want to use it. It might be a local non-production registry for example.
$ odo preference add registry my-local-devfile-registry https://my-local-devfile-registry.<IP_ADDRESS>.nip.io
$ odo registry --devfile-registry my-local-devfile-registry --details --devfile go

Actual behavior
$ odo registry --devfile-registry my-local-devfile-registry --details --devfile go
 ⚠  Registry my-local-devfile-registry is not set up properly with error:
Get "https://my-local-devfile-registry.<IP_ADDRESS>.nip.io":
x509: certificate is valid for ingress.local, not https://my-local-devfile-registry.<IP_ADDRESS>.nip.io,
please check the registry URL, and credential and remove add the registry again
(refer to `odo preference add registry --help`)

 ✗  no deployable components found

Expected behavior
I think it is okay to enforce TLS checks by default, but users should be allowed to bypass those checks if needed, just like it is doable with curl --insecure or wget --no-check-certificate.
They might want to use a local registry or even a registry behind some reverse proxy doing TLS termination using a self-signed certificate.
I thought that would be the purpose of the Secure property on Registries, but it looks like this is set to True only if users pass a token when adding their registries. The token value seems to be stored and deleted, but never read, so not sure how this token is being used to interact with the corresponding Devfile registry.
Looking at the code, the Registry Library provides a SkipTLSVerify field, but it is always set to false by odo:
https://github.com/redhat-developer/odo/blob/ef6489c424c9233d0aed9d983010580530bb5839/pkg/segment/integrations.go#L63
So maybe we should provide a way for users to explicitly skip TLS checks when registering a registry.
Any logs, error output, etc?
Also, in https://github.com/redhat-developer/odo/pull/6622 (PR for https://github.com/redhat-developer/odo/issues/5128), we translated the skipTLSVerify field in the {Cluster,}DevfileRegistriesList Custom Resource into a Secure property, but it would probably make more sense to use a dedicated property for this.

I thought that would be the purpose of the Secure property on Registries, but it looks like this is set to True only if users pass a token when adding their registries. The token value seems to be stored and deleted, but never read, so not sure how this token is being used to interact with the corresponding Devfile registry.

I think that Secure property is reminder from old "github" based implementation of devfile registries. This is why it is not used anymore. We should remove it.
+1 for new skipTLSVerify property.

/remove-lifecycle stale

/remove-lifecycle stale
/lifecycle frozen
/priority Medium
/retitle Support Devfile registries with self-signed or untrusted certificates by allowing to skip TLS checks


Cannot get the package to work

I have just upgraded to PowerShell 7 to run this package however when I run the following Install-Module obs-powershell -Scope CurrentUser -Force to install it I am getting this error.
WARNING: The version '2.0.3' of module 'ThreadJob' is currently in use. Retry the operation after closing the applications.
I have closed everything, restarted my PC and this above error is still showing up.
Running Import-Module obs-powershell -PassThru -Force seems to be functioning properly
However Connect-OBS -WebSocketToken $myToken yields a "Cannot index into a null array" error
I run Get-OBSHotKey command it show me a MethodInvocationException: C:\Users\kevin\Documents\Powershell\Modules\obs-powershell\0.1.9\Commands\Send-OBS.ps1:151 with further details of Exception calling "SendAsync" with "4" argument(s): "Cannot access a disposed object. Object name: 'System.Net.WebSockets.ClientWebSocket'."
Can someone please help me with installing this package as it would help me immensely and I have been stuck on this for days now and I have searched multiple forums but I can't find anything

If you could also help me with making a Powershell script which sends the Hotkey for Key number 2 I would truly appreciate it.

@kevinagius this sounds like ThreadJob's problem.
I wonder if you have an old copy of ThreadJob.
Alternatively, I can think of a couple of other possibilities:

You could be running an older copy of obs (perhaps with the websocket disabled)
The password to the websocket might be wrong (which would auto close the web socket, thus giving you that "disposed" object error).

There's also a slightly known annoyance of getting an indexing error upon the very first connection (an issue needs to be filed for it, and, if you're falling into that rabbit hole, this would be it).
It's especially annoying because it just displays the error and then works just fine after the first command (of the very first connection).
So, let's try a few things:

Update-Module ThreadJob -Force (just in case)
Share your $psVersionTable (just in case)
Connect-OBS with a token directly copied / pasted from the field.  If you used a different port, you may need to also provide a URI to localhost.
Double check to see if commands work, despite the error.
If they do, import the module again and confirm there is no error.

Can you assign Connect-OBS to a variable, and then pipe it to Receive-Job -Keep?
Get-OBSHotKey is working for me.
My best guess is something wrong during connection.

Doesn't seem to be working :/

For reference here are my settings:

Just got a connection:

And I can see it successfully on OBS:

I will be trying to send hotkeys now. I will keep you updated

Unbelievable! I managed to get to work!

Recording started and stopped as required. You have no idea how happy I am. I am very grateful for your help and support, and I truly appreciate your work. You have made my life a million times easier.
Issue closed!!


feat: translation mechanism and german translation

fixes #182
The help files could be a bit more neatly arranged by adding different folders for different languages.

ORSBaseProcessingAlgorithm.displayName() currently uses self.ALGO_NAME, which might (or might not) be an identifier used by QGIS (compare the Processing Toolbox Mouseover, e.g.:

Algorithmen-Kennung: 'ORS Tools:directions_from_polylines_layer'

If it is an identifier used, we might either include a self.DISPLAY_NAME for each algorithm, have that translated and used in displayName() or move displayName() from the base class to the child classes and hardcode the name there.


Screenshot in Rspec breaks model/controller tests when used with webmock

Screenshot seems to run on all examples, regardless of type. Normally this isn't an issue, as it doesn't produce a screenshot if Capybara isn't running. But in a model spec, it still tries, which causes Capybara to fire a request to the test server. Webmock will block this by default, as the request has not been stubbed for the example, causing the test to fail as in the example below.
Real HTTP connections are disabled.
Unregistered request: GET http://<IP_ADDRESS>:7777/__identify__ with headers
{'Accept'=>'*/*', 'Accept-
Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'}

Setting Capybara::Screenshot.autosave_on_failure = false in config.before(:each) does not help since it is checked after if Capybara.page.respond_to?(:save_page), which I assume is what fires off the identify request.
Am I missing a config option here? If none already exists, I think the lowest impact way to fix this would be to add a configuration that allows you to completely disable screenshot for certain test types, or move the Capybara::Screenshot.autosave_on_failure check above the Capybara.page.respond_to?(:save_page) check so that it never launches Capybara unless it needs to.
Let me know if I'm missing something obvious. Otherwise happy to create a pull request.

I get the same problem too.
This is my stack trace:
 # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/webmock-3.4.2/lib/webmock/http_lib_adapters/net_http.rb:114:in `request'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/http.rb:1213:in `get'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara/server.rb:82:in `block in responsive?'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/webmock-3.4.2/lib/webmock/http_lib_adapters/net_http.rb:123:in `start_without_connect'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/webmock-3.4.2/lib/webmock/http_lib_adapters/net_http.rb:150:in `start'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/2.5.0/net/http.rb:609:in `start'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara/server.rb:82:in `responsive?'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara/server.rb:98:in `boot'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara/session.rb:88:in `initialize'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara.rb:304:in `new'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara.rb:304:in `current_session'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara/dsl.rb:45:in `page'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-screenshot-1.0.21/lib/capybara-screenshot/rspec.rb:56:in `block in after_failed_example'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-2.18.0/lib/capybara.rb:351:in `using_session'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-screenshot-1.0.21/lib/capybara-screenshot/rspec.rb:55:in `after_failed_example'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/capybara-screenshot-1.0.21/lib/capybara-screenshot/rspec.rb:97:in `block (2 levels) in <top (required)>'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:357:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:509:in `block in run_owned_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:508:in `each'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:508:in `run_owned_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:595:in `block in run_example_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:594:in `each'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:594:in `run_example_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:465:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:507:in `run_after_example'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:273:in `block in run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:500:in `block in with_around_and_singleton_context_hooks'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:457:in `block in with_around_example_hooks'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:466:in `block in run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:606:in `block in run_around_example_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:342:in `call'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-rails-3.7.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:447:in `instance_exec'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:375:in `execute_with'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:608:in `block (2 levels) in run_around_example_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:342:in `call'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:609:in `run_around_example_hooks_for'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/hooks.rb:466:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:457:in `with_around_example_hooks'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:500:in `with_around_and_singleton_context_hooks'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example.rb:251:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:628:in `block in run_examples'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:624:in `map'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:624:in `run_examples'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/example_group.rb:590:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `block (3 levels) in run_specs'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `map'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:118:in `block (2 levels) in run_specs'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/configuration.rb:1926:in `with_suite_hooks'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:113:in `block in run_specs'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/reporter.rb:79:in `report'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:112:in `run_specs'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:87:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:71:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/lib/rspec/core/runner.rb:45:in `invoke'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/rspec-core-3.7.1/exe/rspec:4:in `<top (required)>'
          # /home/antonio/.rbenv/versions/2.5.1/bin/rspec:23:in `load'
          # /home/antonio/.rbenv/versions/2.5.1/bin/rspec:23:in `<top (required)>'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:74:in `load'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:74:in `kernel_load'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli/exec.rb:28:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli.rb:424:in `exec'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli.rb:27:in `dispatch'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/cli.rb:18:in `start'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:30:in `block in <top (required)>'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
          # /home/antonio/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-1.16.2/exe/bundle:22:in `<top (required)>'
          # /home/antonio/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
          # /home/antonio/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
          #
          #   Showing full backtrace because every line was filtered out.
          #   See docs for RSpec::Configuration#backtrace_exclusion_patterns and
          #   RSpec::Configuration#backtrace_inclusion_patterns for more information.

If I disable Webmock, it works.

Sorry to hear this @afdev82.  I'm really bogged down with my day job at present so not sure I will have time to look at this any time soon.  I'd definitely welcome a PR if you have the time?

@afdev82 @jskirst if either of you can create a reproducible example that I can use, I can find some time somehow, on a weekend, to look into this and see if I can find a fix.

Hi, yes I cannot post my source code... I'm new to rspec / capybara so I don't know yet how to reproduce it with a sample. I'm currently using another approach to test, I didn't need capybara in the end.

@afdev82 well thanks for the Gem file, but quite honestly if I cannot reproduce the problem easily, I just don't have the time to not only recreate the problem, but also fix it.  If anyone else comes across this issue and wants some help, please do help me to reproduce and I'll help you get it fixed!

ok, we will see, thank you for the answer ;)

Capybara::Screenshot.after_save_screenshot do |path|
  WebMock.disable! # Allows the outgoing PUT to AWS
end


Add L3 segment

Description
Adds ability to parse/generate the L3 EDI segment.
Reviewer Notes
Do we need to do any more validation around the parameters?
Setup
make server_test
References

Jira story for this change

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against 35c79eb83b984c64a867ff21b9b387bf86e4424f


Progress bar not working

Hi, I am using the newest 2.10.0 version and have added "progressMode: Bar" to my config file but it's not displaying the bar and still showing the elapsed time.
I have "remainingTime: false", I tried to remove this line completely but it keeps being added back to the config when running the script.
Am I doing something wrong here? Below is my config.
logging:
debug: false
writeToFile: false
display:
duration: true
genres: true
album: true
year: true
statusIcon: false
remainingTime: false
paused: true
posters:
enabled: true
imgurClientID:
maxSize: 256
buttons:
- label: '{title} on IMDb'
url: dynamic:imdb
- label: '{title} on MusicbBainz'
url: dynamic:musicbrainz
mediaTypes:
- track
progressMode: bar
users:

token:
servers:

name:

Are you sure you're using v2.10.0? You should see Discord Rich Presence for Plex - v2.10.0 when you run the script.
The behaviour you're describing would be exhibited if you were using an older version.

You were right, I checked the first line of the running script and it was still showing 2.9.0 even though I replaced all the files.
I just deleted everything and set it up from scratch and the bar is now showing.
Completely my fault, sorry!
I do notice that when paused, the bar disappears and the elapsed time shows instead but the time is completely wrong, is this normal?

Completely my fault, sorry!

No worries.

I do notice that when paused, the bar disappears and the elapsed time shows instead but the time is completely wrong, is this normal?

This is broken on Discord's end. I'm omitting the timestamp in the data sent to Discord while media is paused because it's not possible to make it display a static/frozen timestamp, but Discord is ignoring the omission and displaying a timestamp starting from 0. We'll have to wait for them to fix it. For the time being, you can set display.paused to false in your config to just hide your Rich Presence while media is paused.

Not sure if you are aware of this but I have noticed that the elapsed, remaining and paused functions do display properly on my mobile app so it looks like the information is being sent to the discord app properly it's just not displaying it on the desktop app for some reason. Either way, I'm using the progress bar which works for both desktop and mobile now :)

I have also noticed that when you start playing something, the rich presence will start showing the time elapsed for about 10-15 seconds before switching to the bar.
Would it not be possible to still have the rich presence persist while paused without the time instead of just disappearing completely?
I use the below app for YouTube Music which has a rich presence plugin and the progress bar is instant and when paused the rich presence remains but just the progress bar disappears until playback is resumed.

Playing:

Paused:

@FortKnox1337 That's good to know.
@adkeyz

I have also noticed that when you start playing something, the rich presence will start showing the time elapsed for about 10-15 seconds before switching to the bar.

I'm not able to reproduce this issue. I always see only the progress bar as long as display.progressMode is set to bar.

Would it not be possible to still have the rich presence persist while paused without the time instead of just disappearing completely?

You can do this by setting display.paused to true in your config. The time is supposed to disappear but it's not doing that because it's broken on Discord's end.

I use the below app for YouTube Music which has a rich presence plugin and the progress bar is instant and when paused the rich presence remains but just the progress bar disappears until playback is resumed.

I believe the progress bar is disappearing only for yourself. The same thing happens to me with my script. Pause your media and ask someone else if they can see your progress bar.

I'm not able to reproduce this issue. I always see only the progress bar as long as display.progressMode is set to bar, except while paused because that's broken on Discord's end.

I've restarted the script and the issue seems to have gone away, I will keep an eye on it.

I believe the progress bar is disappearing only for yourself. The same thing happens to me with my script. Pause your media and ask someone else if they can see your progress bar.

You're right, again! I logged into my other account to see what happens and when I pause YT Music it shows the broken time instead of the bar or blank as it appears to me, same as your code.
I guess we're just at the mercy of Discord then, if and when they decide to fix the bug instead of just releasing more overpriced avatar decorations!


web_benchmarks_canvaskit text_out_of_picture_bounds.canvaskit.sceneBuildDuration.average and text_out_of_picture_bounds.canvaskit.windowRenderDuration.average 🔍 web_benchmarks_html2099 msbench_card_infinite_scroll.html.averageDrawFrameDuration need baselines

Same with several other web_benchmarks_canvaskit performance measurements.

Fixed.


Add additional proto and documentation to trade interfaces to match server.

Folks, if you would not mind chiming in with any suggested changes to the API reference to make it better, or more complete.


Skip identical files in push_to_hub instead of overwriting

Skip identical files instead of overwriting them to save bandwidth and circumvent (user-side/server-side) errors, which can arise when working with large datasets due to long-lasting HTTP connections, by repeating calls to push_to_hub to resume an upload.
To be able to check if an upload can be resumed, this PR modifies the shard naming scheme from:
data/{split}-[0-9][0-9][0-9][0-9][0-9]-of-[0-9][0-9][0-9][0-9][0-9].parquet

to:
data/{split}-[0-9][0-9][0-9][0-9][0-9]-of-[0-9][0-9][0-9][0-9][0-9]-<SHARD_FINGERPRINT>.parquet

cc @LysandreJik

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


doris-flink-connecter数据换行配置不起作用

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
1.0.0
What's Wrong?
在使用doris-connector的时候，数据导入到doris一部分的试试报错：

最后发现问题如下：
mysql数据库中有个字段mateName是varchar（255），如下：

拷贝出来后内容，有换行：

然后，

但是 还是报一次样的错误。
What You Expected?
希望设置换行符 sink.properties.line_delimiter 和 sink.properties.column_separator 能起作用。或者其他解决这个问题的办法。
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

#6497

@JNSimba  Has this problem been solved?

@JNSimba Has this problem been solved?
Specify the newline character to set the
sink.properties.line_delimiter   parameters

doris ddl：
CREATE TABLE `product` (
  `id` int(11) NULL COMMENT "",
...
  `gmt_modified` datetime NULL COMMENT "",
  `gmt_create` datetime NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`id`, `id_hash`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"storage_format" = "V2"
);

flink sql doris-sink ddl：
CREATE TABLE product (
 id INT,
...
 gmt_modified TIMESTAMP(6),
 gmt_create TIMESTAMP(6) )
WITH (
 'connector' = 'doris',
 'fenodes' = 'n3:8031',
  'table.identifier' = 'dev.product',
  'username' = 'root',
  'sink.batch.size' = '100',
  'sink.properties.column_separator' = '\x01',
  'sink.properties.line_delimiter' = '\x02',
  'sink.batch.interval' = '2s' ,
  'password' = 'doris'
);

# flink insert sql
insert into product
select * from product_cdc_table ;

When we write data to dorsi by flink streaming, have following error occurs.
Reason: Parse json data for JsonDoc failed. code = 2, error-info:The document root must not be followed by other values..

@JNSimba thanks for your reply. here is my code, and some errors.
doris ddl：
CREATE TABLE `product` (
  `id` int(11) NULL COMMENT "",
...
  `gmt_modified` datetime NULL COMMENT "",
  `gmt_create` datetime NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`id`, `id_hash`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"storage_format" = "V2"
);

flink sql doris-sink ddl：
CREATE TABLE product (
 id INT,
...
 gmt_modified TIMESTAMP(6),
 gmt_create TIMESTAMP(6) )
WITH (
 'connector' = 'doris',
 'fenodes' = 'n3:8031',
  'table.identifier' = 'dev.product',
  'username' = 'root',
  'sink.batch.size' = '100',
  'sink.properties.column_separator' = '\x01',
  'sink.properties.line_delimiter' = '\x02',
  'sink.batch.interval' = '2s' ,
  'password' = 'doris'
);

# flink insert sql
insert into product
select * from product_cdc_table ;

When we write data to dorsi by flink streaming, have following error occurs.

doris version: 0.14
flink-doris-connector version : master
flink version ： 1.12.2

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上  @mincwang

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%)  and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

@JNSimba thanks for your reply. here is my code, and some errors.
doris ddl：
CREATE TABLE `product` (
  `id` int(11) NULL COMMENT "",
...
  `gmt_modified` datetime NULL COMMENT "",
  `gmt_create` datetime NULL COMMENT ""
) ENGINE=OLAP
DUPLICATE KEY(`id`, `id_hash`)
COMMENT "OLAP"
DISTRIBUTED BY HASH(`id`) BUCKETS 10
PROPERTIES (
"replication_num" = "3",
"in_memory" = "false",
"storage_format" = "V2"
);

flink sql doris-sink ddl：
CREATE TABLE product (
 id INT,
...
 gmt_modified TIMESTAMP(6),
 gmt_create TIMESTAMP(6) )
WITH (
 'connector' = 'doris',
 'fenodes' = 'n3:8031',
  'table.identifier' = 'dev.product',
  'username' = 'root',
  'sink.batch.size' = '100',
  'sink.properties.column_separator' = '\x01',
  'sink.properties.line_delimiter' = '\x02',
  'sink.batch.interval' = '2s' ,
  'password' = 'doris'
);

# flink insert sql
insert into product
select * from product_cdc_table ;

When we write data to dorsi by flink streaming, have following error occurs.

doris version: 0.14
flink-doris-connector version : master
flink version ： 1.12.2
When we repalce column_separator=%x01  and line_delimiter=%x02, have other error occurs :
Reason: actual column number is more than schema column number. actual number: 1900 sep: %, schema number: 19; . src line: [689%x018a7c7089faaf00c850b90154e74fb821%x01101787%x0111%x010%x010%x010%x01%x01%x01QARFEE

We check barch-0.14 and master, look the commit message [Load] Support multi bytes LineDelimiter and ColumnSeparator (#5462) in broker_scanner.cpp, so we are going to verify it.

@JNSimba Can this PR fix the above problems? please help to confirm.

@mincwang it is work to change to other characters，hexadecimal may be has problem

@mincwang it is work to change to other characters，hexadecimal may be has problem

What do you recommend for column_separator and line_delimiter  set ?

@mincwang it is work to change to other characters，hexadecimal may be has problem

What do you recommend set for column_separator and line_delimiter ?

It can be set as a character that does not appear frequently according to the specific business, or it can be set as a combination of multiple characters

@mincwang it is work to change to other characters，hexadecimal may be has problem

What do you recommend set for column_separator and line_delimiter ?

It can be set as a character that does not appear frequently according to the specific business, or it can be set as a combination of multiple characters

But we doris version is 0.14，only master version support of  multiple characters ，fix above problem by this PR #5462.

@mincwang it is work to change to other characters，hexadecimal may be has problem

What do you recommend set for column_separator and line_delimiter ?

It can be set as a character that does not appear frequently according to the specific business, or it can be set as a combination of multiple characters

But we doris version is 0.14，only master version support of multiple characters ，fix above problem by this PR #5462.

Sorry, I may not make it clear, I mean it can be specified as multiple letters, like column_separator=doris

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%) and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

还是不行，是不是我用的不对？

目标脚本如下：

另外，换成单个字符，也还是不行，例如：
'sink.properties.line_delimiter'='#',
'sink.properties.column_separator'='*'
也是一样的问题。

我们用的是master分支最新代码打包出来的connector

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%) and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

还是不行，是不是我用的不对？
目标脚本如下：

错误：

另外，换成单个字符，也还是不行，例如：
'sink.properties.line_delimiter'='#',
'sink.properties.column_separator'='*'
也是一样的问题。

may not the problem of the separator. It is recommended to see if the sql  fields  are consistent with the fields in the doris table.

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%) and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

还是不行，是不是我用的不对？
目标脚本如下：

错误：

另外，换成单个字符，也还是不行，例如：
'sink.properties.line_delimiter'='#',
'sink.properties.column_separator'='*'
也是一样的问题。

may not the problem of the separator. It is recommended to see if the sql fields are consistent with the fields in the doris table.

@JNSimba Can you add a JSON import way? i think will have not these  problems.

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%) and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

还是不行，是不是我用的不对？
目标脚本如下：

错误：

另外，换成单个字符，也还是不行，例如：
'sink.properties.line_delimiter'='#',
'sink.properties.column_separator'='*'
也是一样的问题。

may not the problem of the separator. It is recommended to see if the sql fields are consistent with the fields in the doris table.

@JNSimba Can you add a JSON import way? i think will have not these problems.

@mincwang  Good idea, will be put on PR as soon as possible

@JNSimba Has this problem been solved?

Specify the newline character to set the
sink.properties.line_delimiter parameters

我这里试了还是不行，最近一忙就没顾上 @mincwang

@yangmingjie your param line_delimiter(%%%%) and column_separator(%%%%) has the same prefix value, may cause doris to be indistinguishable，modify them to a different prefix and it works

还是不行，是不是我用的不对？
目标脚本如下：

错误：

另外，换成单个字符，也还是不行，例如：
'sink.properties.line_delimiter'='#',
'sink.properties.column_separator'='*'
也是一样的问题。

may not the problem of the separator. It is recommended to see if the sql fields are consistent with the fields in the doris table.

@JNSimba Can you add a JSON import way? i think will have not these problems.

@mincwang Good idea, will be put on PR as soon as possible

@JNSimba I look forward to your contribution, i hope it can support rowkind convert to  a hidden column __DELETE_SIGN__  when use Doris unique model. https://doris.apache.org/master/en/administrator-guide/load-data/batch-delete-manual.html#principle

RowKind
DELETE_SIGN

+I
false

+U
false

-D
true

@JNSimba You can re test my this UT?
public static void main(String[] args) {
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);
        final StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

        List<Tuple2<String, Integer>> data = new ArrayList<>();
        data.add(new Tuple2<>("doris", 1));
        data.add(new Tuple2<>("flink", 2));
        DataStreamSource<Tuple2<String, Integer>> source = env.fromCollection(data);
        tEnv.createTemporaryView("doris_test", source, $("name"), $("age"));

        tEnv.executeSql(
                "CREATE TABLE doris_test_sink ("
                        + "name STRING,"
                        + "age INT"
                        + ") "
                        + "WITH (\n"
                        + "  'connector' = 'doris',\n"
                        + "  'fenodes' = 'n3:8031',\n"
                        + "  'table.identifier' = 'erp_dev.student_unique',\n"
                        + "  'sink.properties.column_separator' ='\\t',\n"
                        + "  'sink.properties.line_delimiter' = '\\n',\n"
                        + "  'username' = 'root',\n"
                        + "  'password' = 'doris'\n"
                        + ")");

        tEnv.executeSql("INSERT INTO doris_test_sink select name,age from doris_test");
    }

dorsi be version : 0.14

My guess this is when  DorisStreamLoad#getConnection method body execute conn.addRequestProperty(streamLoadProp)，error when carrying these request parameters  requesting BE because be 0.14 does not support multi-character delimiters.

@JNSimba You can re test my this UT?
public static void main(String[] args) {
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(1);
        final StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);

        List<Tuple2<String, Integer>> data = new ArrayList<>();
        data.add(new Tuple2<>("doris", 1));
        data.add(new Tuple2<>("flink", 2));
        DataStreamSource<Tuple2<String, Integer>> source = env.fromCollection(data);
        tEnv.createTemporaryView("doris_test", source, $("name"), $("age"));

        tEnv.executeSql(
                "CREATE TABLE doris_test_sink ("
                        + "name STRING,"
                        + "age INT"
                        + ") "
                        + "WITH (\n"
                        + "  'connector' = 'doris',\n"
                        + "  'fenodes' = 'n3:8031',\n"
                        + "  'table.identifier' = 'erp_dev.student_unique',\n"
                        + "  'sink.properties.column_separator' ='\\t',\n"
                        + "  'sink.properties.line_delimiter' = '\\n',\n"
                        + "  'username' = 'root',\n"
                        + "  'password' = 'doris'\n"
                        + ")");

        tEnv.executeSql("INSERT INTO doris_test_sink select name,age from doris_test");
    }

dorsi be version : 0.14

It is work for me on version 0.14.12

My guess this is when DorisStreamLoad#getConnection method body execute conn.addRequestProperty(streamLoadProp)，error when carrying these request parameters requesting BE because be 0.14 does not support multi-character delimiters.
[Load] Support multi bytes LineDelimiter and ColumnSeparator #5462

@mincwang
Yes, the above example will fail.
Since the specified separator is \t, sink-format uses \t when splicing data, but when sending a streamload http request, the separator \t in the request header is recognized as an escape character \t , The two are not equal, so it cannot be imported.
And \t 、 \n are the default separators, you don’t need to specify them

@mincwang Currently the separator is set to \t, HttpURLConnection.checkMessageHeader will report an error: IllegalArgumentException: Illegal character(s) in message header value
I tried to modify the request to HttpClient to avoid this error, and I will modify it as soon as possible.

@JNSimba Looking forward to your fix, and how do I check my version of doris?

@JNSimba Looking forward to your fix, and how do I check my version of doris?

what mean check the doris version  ？


Not working on the macOS.

After following all the mentioned steps to run the application including melos, script on the macos side. Application was getting crashed at this point with the below log message.
"Unhandled Exception: Invalid argument(s): Failed to lookup symbol 'setLogEnabled': dlsym(RTLD_DEFAULT, setLogEnabled): symbol not found"
After commenting this line from the main.dart, I was getting same error for "zx.version". I've provided all the required permissions from the macOS side for camera but still camera is not working on this although application is working. Also I'm unable to create barcode.

I also have the same problems.But i solved it , do it step by step as README.md , the most important step is "git clone --recursive https://github.com/khoren93/flutter_zxing.git"