sem: add more unit tests

Codecov Report

Merging #57 (171a485) into develop (d250738) will increase coverage by 2.19%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop      #57      +/-   ##
=============================================
+ Coverage      20.63%   22.83%   +2.19%
- Complexity        10       12       +2
=============================================
  Files             13       13
  Lines            252      254       +2
  Branches          11       11
=============================================
+ Hits              52       58       +6
+ Misses           199      195       -4
  Partials           1        1

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/com/napier/sem/App.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/com/napier/sem/CountryReport.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/com/napier/sem/Region.java
100.00% <0.00%> (+100.00%)
1.00% <0.00%> (+1.00%)

...rc/main/java/com/napier/sem/numberOfCountries.java
100.00% <0.00%> (+100.00%)
1.00% <0.00%> (+1.00%)

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 d250738...171a485. Read the comment docs.

Codecov Report

Merging #57 (86aaa56) into develop (499ed8b) will increase coverage by 1.31%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop      #57      +/-   ##
=============================================
+ Coverage      15.90%   17.22%   +1.31%
- Complexity        10       11       +1
=============================================
  Files             13       13
  Lines            327      331       +4
  Branches          17       17
=============================================
+ Hits              52       57       +5
+ Misses           274      273       -1
  Partials           1        1

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/com/napier/sem/App.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../main/java/com/napier/sem/CapitalCitiesReport.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/com/napier/sem/CountryReport.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

src/main/java/com/napier/sem/Country.java
54.54% <0.00%> (-3.04%)
2.00% <0.00%> (-1.00%)

src/main/java/com/napier/sem/Region.java
100.00% <0.00%> (+100.00%)
1.00% <0.00%> (+1.00%)

...rc/main/java/com/napier/sem/numberOfCountries.java
100.00% <0.00%> (+100.00%)
1.00% <0.00%> (+1.00%)

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 499ed8b...86aaa56. Read the comment docs.


Is there another option to download the content?

I'm currently trying to compile the latest Carla (0.9.12) in my PC. However, during the content downloading stage, it somehow is very slow (will take more than 600 days to finish the download). Is there any other way to download the content.
FYI, downloading in Singapore.
$ ./Update.sh
--2021-11-07 01:47:25--  http://carla-assets.s3.amazonaws.com/20210730_564bcdc.tar.gz
Resolving carla-assets.s3.amazonaws.com (carla-assets.s3.amazonaws.com)... <IP_ADDRESS>
Connecting to carla-assets.s3.amazonaws.com (carla-assets.s3.amazonaws.com)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length:<PHONE_NUMBER>2 (13G) [application/x-tar]
Saving to: ‘Content.tar.gz’
Content.tar.gz        0%[                   ] 344.58K   481 B/s    eta 616d

@jitpinun please try the following alternative links to find the packages for your version of CARLA https://github.com/carla-simulator/carla/blob/master/Docs/download.md
If you still have problems please reopen this issue

you can visit https://github.com/carla-simulator/carla/releases，Find the corresponding version，AdditionalMaps_0.9.14.tar.gz is the content.


Update readme to include that 'dev' needs the LocalAddonsPath command

@benbp - the CI failure here is a bit odd.
ERROR: InvalidTemplateDeployment - The template deployment 'stress-deploy-pg' is not valid according to the validation procedure. The tracking id is '37e29721-7f6a-4e01-8264-6b9dbfde1739'. See inner errors for details.
OperationNotAllowed - Provisioning of resource(s) for container service stress-pg in resource group rg-stress-cluster-pg failed. Message: Downgrading Kubernetes version 1.26.6 to 1.25.6 is not allowed. Available upgrades: 1.27.1,1.27.3. Please see https://aka.ms/aks-supported-k8s-ver for version details.. Details:
Write-Error: /mnt/vss/_work/1/s/tools/stress-cluster/cluster/provision.ps1:67

@richardpark-msft ah yes, I bumped the cluster recently but haven't made the corresponding update to the bicep template.

@benbp - let me know when to merge.

Waiting on #6879

/azp run Stress Test CI


feat(test): adding support for backwards compatibility testing

Description

This PR adds support for backwards compatibility testing in the form of allowing us to specify the images to be used for chain A and chain B
Note: The CI will fail as I have been working on a local pin of ibctest which is upgraded to the Cosmos SDK v0.46.0
Sample output from a test running locally. The "image" value is now set to two different values.
    logger.go:130: 2022-08-08T15:35:11.121+0100	INFO	About to start container	{"chain_id": "chain-a", "test": "TestFeeMiddlewareTestSuite/TestMultiMsg_MsgPayPacketFeeSingleSender", "image": "ghcr.io/cosmos/ibc-go-simd-e2e:main", "test_name": "TestFeeMiddlewareTestSuite/TestMultiMsg_MsgPayPacketFeeSingleSender", "command": "simd tx bank send faucet cosmos1qyf5s38m07an7eljzjlxr32txhdl2rtez3skkz 10000000atoma --keyring-backend test --node tcp://node-0-chain-a-TestFeeMiddlewa_._sg_MsgPayPacketFeeSingleSender:26657 --output json -y --home /tmp/simapp-a --chain-id chain-a", "hostname": "TestFeeMiddlewareTestSuite_Tes_._ayPacketFeeSingleSender-uhdfqj", "container": "TestFeeMiddlewareTestSuite_TestMultiMsg_MsgPayPacketFeeSingleSender-uhdfqj"}
    logger.go:130: 2022-08-08T15:35:15.103+0100	INFO	About to start container	{"chain_id": "chain-b", "test": "TestFeeMiddlewareTestSuite/TestMultiMsg_MsgPayPacketFeeSingleSender", "image": "ghcr.io/cosmos/ibc-go-simd:v4.0.0-rc2", "test_name": "TestFeeMiddlewareTestSuite/TestMultiMsg_MsgPayPacketFeeSingleSender", "command": "simd keys add TestFeeMiddlewareTestSuite/TestMultiMsg_MsgPayPacketFeeSingleSender-chain-b-zes --keyring-backend test --output json --home /tmp/simapp-b", "hostname": "TestFeeMiddlewareTestSuite_Tes_._ayPacketFeeSingleSender-qsgwbj", "container": "TestFeeMiddlewareTestSuite_TestMultiMsg_MsgPayPacketFeeSingleSender-qsgwbj"}

closes: #1911

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Codecov Report

Merging #1912 (f7136fe) into main (af4e651) will increase coverage by 0.02%.
The diff coverage is 79.82%.

@@            Coverage Diff             @@
##             main    #1912      +/-   ##
==========================================
+ Coverage   80.04%   80.07%   +0.02%
==========================================
  Files         166      167       +1
  Lines       12421    11750     -671
==========================================
- Hits         9943     9409     -534
+ Misses       2013     1925      -88
+ Partials      465      416      -49

Impacted Files
Coverage Δ

cmd/build_test_matrix/main.go
70.83% <0.00%> (-3.46%)
:arrow_down:

...27-interchain-accounts/controller/keeper/keeper.go
94.73% <ø> (ø)

.../apps/27-interchain-accounts/host/keeper/keeper.go
83.33% <ø> (ø)

modules/apps/27-interchain-accounts/module.go
55.55% <0.00%> (-2.14%)
:arrow_down:

modules/apps/29-fee/keeper/keeper.go
92.48% <ø> (ø)

modules/apps/29-fee/module.go
54.54% <0.00%> (-1.02%)
:arrow_down:

modules/apps/transfer/keeper/keeper.go
91.17% <ø> (ø)

modules/apps/transfer/keeper/migrations.go
93.10% <ø> (-0.23%)
:arrow_down:

modules/apps/transfer/keeper/relay.go
88.11% <0.00%> (ø)

modules/apps/transfer/module.go
57.14% <0.00%> (-0.93%)
:arrow_down:

... and 94 more


Fullscreen is not fullscreen

Aknowledgements

[X] I have checked that there is no other issue describing the same or
similar problem that I currently have, regardless if it has been
closed or open.

[ ] This bug affects Discord website.

[X] This issue is confirmed to be reproduceable when WebCord is packaged
on at least all three latest supported Electron major releases.

[ ] This issue is reproduceable in Chrome, Chromium or any
Chromium-based browser, e.g Brave or Edge (please write in
Additional Context which browser you have used if it is neither
Chrome nor unmodified Chromium).

[X] There are no fixes done to master which resolves this issue.

[ ] My issue describes one of the unstable and/or not fully implemented
features.

[ ] I have found a workaround to mitigate or temporarily fix this issue
in affected releases (please write it in Additional context section
below).

Operating System / Platform
🪟 Windows
Operating system architecture
x64 (64-bit Intel/AMD)
Electron version
v22
Application version
v4
Bug description
Currently for me,
Fullscreen does windowed fullscreen, not fullscreen fullscreen.
fullscreen fullscreen would not have a title bar.

Additional context
No response

Is your taskbar set to automatically hide?
Sounds like an issue https://github.com/electron/electron/issues/36638, could you confirm if that actually happens?

Going to look in a minute!

Sounds like an issue electron/electron#36638, could you confirm if that actually happens?

What do I look for?

https://user-images.githubusercontent.com/49074962/207696627-c12f7c53-123b-47d8-b2f0-03cdc7670d70.mp4

Sounds like an issue electron/electron#36638, could you confirm if that actually happens?

What do I look for?

I mean, this issue basically describes that fullscreen might be broken if taskbar on Windows is set to be automatically hidden.
You might also want to check if the issue is in v3 latest release. v3 uses Electron 21, which is a bit more mature than 22 and is likely to contain less bugs.

Want me to downgrade?

Want me to downgrade?

I mean, v3 is basically released for people who seem to get some issues with the latest Electron.
Althrough it may not help you if the bug is present in older Electron versions… (I'm pretty sure that's an upstream bug)


Fix Slave I, Symbol of Fear in matching lists

I think the , in Slave I, Symbol of Fear messed up on someone's JSON parser at some point, and the matching key has separated them as though they were two different array elements.

Sorry, didn't quite follow the guidelines, closing and making a new PR from a new branch.


Improvement/add/log format

Description of change
Implemented --raw flag for cargo-shuttle run, deploy command.

As a refactoring, I created a struct LogsArgs to organize the log() arguments.

Closes https://github.com/shuttle-hq/shuttle/issues/1609
How has this been tested? (if applicable)

deply
cargo run -p cargo-shuttle -- --wd examples/axum/hello-world/ deploy --raw

 INFO Starting deployment
 INFO shuttle_deployer::handlers: Deployer version: 0.39.0
 INFO shuttle_deployer::handlers: Deployment ID: e61942f0-ee66-4ed0-8161-352a789aa791
 INFO shuttle_deployer::handlers: Service ID: 01HQTD8NN8181CQ8RVF3VZYNY6
 INFO shuttle_deployer::handlers: Service name: hello-world-rocket-app
 INFO shuttle_deployer::handlers: Project ID: 01HQTD6YT05JQC532SJH7B2275
 INFO shuttle_deployer::handlers: Project name: hello-world-rocket-app
 INFO shuttle_deployer::handlers: Date: 2024-03-02T04:58:10Z
 INFO Entering Queued state
 INFO Waiting for queue slot
 INFO Entering Building state
 INFO Building project
 INFO shuttle_deployer::deployment::queue: Extracting files
 INFO shuttle_deployer::deployment::queue: Building deployment
 INFO shuttle_service::builder: {name="hello-world" deps="[\"shuttle-rocket '^0.39.0'\", \"shuttle-runtime '^0.39.0'\"]"} Compiling workspace member with shuttle dependencies
warning: Patch `shuttle-actix-web v0.39.0 (/usr/src/shuttle/services/shuttle-actix-web)` was not used in the crate graph.
Patch `shuttle-aws-rds v0.39.0 (/usr/src/shuttle/resources/aws-rds)` was not used in the crate graph.
Patch `shuttle-axum v0.39.0 (/usr/src/shuttle/services/shuttle-axum)` was not used in the crate graph.
Patch `shuttle-metadata v0.39.0 (/usr/src/shuttle/resources/metadata)` was not used in the crate graph.
Patch `shuttle-next v0.39.0 (/usr/src/shuttle/services/shuttle-next)` was not used in the crate graph.
Patch `shuttle-opendal v0.39.0 (/usr/src/shuttle/resources/opendal)` was not used in the crate graph.
Patch `shuttle-persist v0.39.0 (/usr/src/shuttle/resources/persist)` was not used in the crate graph.
Patch `shuttle-poem v0.39.0 (/usr/src/shuttle/services/shuttle-poem)` was not used in the crate graph.
Patch `shuttle-qdrant v0.39.0 (/usr/src/shuttle/resources/qdrant)` was not used in the crate graph.
Patch `shuttle-salvo v0.39.0 (/usr/src/shuttle/services/shuttle-salvo)` was not used in the crate graph.
Patch `shuttle-secrets v0.39.0 (/usr/src/shuttle/resources/secrets)` was not used in the crate graph.
Patch `shuttle-serenity v0.39.0 (/usr/src/shuttle/services/shuttle-serenity)` was not used in the crate graph.
Patch `shuttle-shared-db v0.39.0 (/usr/src/shuttle/resources/shared-db)` was not used in the crate graph.
Patch `shuttle-thruster v0.39.0 (/usr/src/shuttle/services/shuttle-thruster)` was not used in the crate graph.
Patch `shuttle-tide v0.39.0 (/usr/src/shuttle/services/shuttle-tide)` was not used in the crate graph.
Patch `shuttle-tower v0.39.0 (/usr/src/shuttle/services/shuttle-tower)` was not used in the crate graph.
Patch `shuttle-turso v0.39.0 (/usr/src/shuttle/resources/turso)` was not used in the crate graph.
Patch `shuttle-warp v0.39.0 (/usr/src/shuttle/services/shuttle-warp)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
    Finished release [optimized] target(s) in 0.12s
 INFO shuttle_deployer::deployment::queue: Running tests before starting up
warning: Patch `shuttle-actix-web v0.39.0 (/usr/src/shuttle/services/shuttle-actix-web)` was not used in the crate graph.
Patch `shuttle-aws-rds v0.39.0 (/usr/src/shuttle/resources/aws-rds)` was not used in the crate graph.
Patch `shuttle-axum v0.39.0 (/usr/src/shuttle/services/shuttle-axum)` was not used in the crate graph.
Patch `shuttle-metadata v0.39.0 (/usr/src/shuttle/resources/metadata)` was not used in the crate graph.
Patch `shuttle-next v0.39.0 (/usr/src/shuttle/services/shuttle-next)` was not used in the crate graph.
Patch `shuttle-opendal v0.39.0 (/usr/src/shuttle/resources/opendal)` was not used in the crate graph.
Patch `shuttle-persist v0.39.0 (/usr/src/shuttle/resources/persist)` was not used in the crate graph.
Patch `shuttle-poem v0.39.0 (/usr/src/shuttle/services/shuttle-poem)` was not used in the crate graph.
Patch `shuttle-qdrant v0.39.0 (/usr/src/shuttle/resources/qdrant)` was not used in the crate graph.
Patch `shuttle-salvo v0.39.0 (/usr/src/shuttle/services/shuttle-salvo)` was not used in the crate graph.
Patch `shuttle-secrets v0.39.0 (/usr/src/shuttle/resources/secrets)` was not used in the crate graph.
Patch `shuttle-serenity v0.39.0 (/usr/src/shuttle/services/shuttle-serenity)` was not used in the crate graph.
Patch `shuttle-shared-db v0.39.0 (/usr/src/shuttle/resources/shared-db)` was not used in the crate graph.
Patch `shuttle-thruster v0.39.0 (/usr/src/shuttle/services/shuttle-thruster)` was not used in the crate graph.
Patch `shuttle-tide v0.39.0 (/usr/src/shuttle/services/shuttle-tide)` was not used in the crate graph.
Patch `shuttle-tower v0.39.0 (/usr/src/shuttle/services/shuttle-tower)` was not used in the crate graph.
Patch `shuttle-turso v0.39.0 (/usr/src/shuttle/resources/turso)` was not used in the crate graph.
Patch `shuttle-warp v0.39.0 (/usr/src/shuttle/services/shuttle-warp)` was not used in the crate graph.
Check that the patched package version and available features are compatible
with the dependency requirements. If the patch has a different version from
what is locked in the Cargo.lock file, run `cargo update` to use the new
version. This may also occur with an optional dependency that is not enabled.
    Finished release [optimized] target(s) in 0.13s
     Running unittests src/main.rs (target/release/deps/hello_world-788f3aba457c3fce)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

 INFO shuttle_deployer::deployment::queue: Moving built executable
 INFO Releasing queue slot
 INFO Entering Built state
 INFO Starting deployment
 INFO Entering Loading state
 INFO Loading resources
 INFO shuttle_service::runner: {args="/opt/shuttle/shuttle-builds/hello-world-rocket-app/.shuttle-executables/e61942f0-ee66-4ed0-8161-352a789aa791 --port 24996"} Spawning runtime process
 INFO shuttle_proto::_runtime_client: connecting runtime client
 INFO shuttle_deployer::deployment::run: Loading resources
 INFO shuttle_deployer::persistence: {__self.project_id="01HQTD6YT05JQC532SJH7B2275"} Getting resources from resource-recorder
shuttle-runtime executable started (version 0.39.0)
===============================================================
Shuttle's default tracing subscriber is initialized!
To disable the subscriber and use your own,
turn off the default features for shuttle-runtime:

shuttle-runtime = { version = "...", default-features = false }
===============================================================
 INFO shuttle_deployer::persistence: Got no resources from resource-recorder
 INFO shuttle_deployer::persistence: {resources="Ok([])"} Local resources
 INFO shuttle_deployer::deployment::run: successfully loaded service
 INFO shuttle_deployer::persistence: Uploading resources to resource-recorder
 INFO shuttle_deployer::deployment::run: stopping old deployment (id 6705b576-c957-4e3c-af73-5c6197e40559)
 INFO Entering Running state
 INFO Starting service
Starting on <IP_ADDRESS>:8000
 INFO shuttle_deployer::deployment::run: Runtime started successully
No resources are linked to this service

Service Name:  hello-world-rocket-app
Deployment ID: e61942f0-ee66-4ed0-8161-352a789aa791
Status:        running
Last Updated:  2024-03-02T04:58:10Z
URI:           https://hello-world-rocket-app.unstable.shuttleapp.rs

run
cargo run -p cargo-shuttle -- --wd shuttle-examples/rocket/hello-world run --raw

shuttle-runtime executable started (version 0.39.0)
===============================================================
Shuttle's default tracing subscriber is initialized!
To disable the subscriber and use your own,
turn off the default features for shuttle-runtime:
shuttle-runtime = { version = "...", default-features = false }
===============================================================
loading alpha service at /Users/****/examples/axum/hello-world

    Starting hello-world-axum-app on http://<IP_ADDRESS>:8080

Starting on <IP_ADDRESS>:8080

I tried to see what happens when I look at the logs in json format.
One problem: the important line of the LogItem was operating on a simple string, which was not easy to transfer to a JSON format. So, I gave up on this PR. For example, it may be possible to use T: Serialize of line to operate it as a generic string. (However, I read the source code and found truncate to adjust the size, so there is much to consider.)

Trying json
// cargo-shuttle/src/args.rs
#[derive(ValueEnum, Clone, Debug, strum::Display, strum::EnumIter)]
#[strum(serialize_all = "kebab-case")]
pub enum LogFormat {
    /// Don't display timestamps and log origin tags
    Raw,
    Json
}

// cargo-shuttle/src/lib.rs
            for log in logs.into_iter() {
                match &args.format {
                    Some(LogFormat::Raw) => println!("{}", log.get_raw_line()),
                    Some(LogFormat::Json) => println!("{}", serde_json::to_string(&log)?),
                    None => println!("{log}"),
                }
            }

cargo run -p cargo-shuttle -- --wd shuttle-examples/rocket/hello-world logs -F json | jq

{
  "id": "d282df4b-a264-4839-9dca-dbfb42169867",
  "internal_origin": "Deployer",
  "timestamp": "2024-03-02T05:40:55.996918Z",
  "line": "\u001b[38;5;10m INFO\u001b[39m \u001b[38;5;12mget_deployment\u001b[39m"
}
{
  "id": "d282df4b-a264-4839-9dca-dbfb42169867",
  "internal_origin": "Deployer",
  "timestamp": "2024-03-02T05:48:35.786590Z",
  "line": "\u001b[38;5;10m INFO\u001b[39m \u001b[38;5;12mget_logs\u001b[39m"
}


[WIP] Minor Improvements and Doc Fixes

Reference Issues/PRs
Adds updates and improvements to project documentation.
A few assorted fixes identified during doc improvement.

Delaunay Triangulation computed over all atoms by default. Adds an option to restrict it to certain atom types.
Adds plotly-based visualisation for PPI Graphs
Minor fixes to stability of RNA Graph Plotting

What does this implement/fix? Explain your changes
What testing did you do to verify the changes in this PR?

Codecov Report

Merging #119 (e7d9df4) into master (8123f42) will increase coverage by 1.84%.
The diff coverage is 32.50%.

@@            Coverage Diff             @@
##           master     #119      +/-   ##
==========================================
+ Coverage   40.27%   42.11%   +1.84%
==========================================
  Files          48       51       +3
  Lines        2811     3279     +468
==========================================
+ Hits         1132     1381     +249
- Misses       1679     1898     +219

Impacted Files
Coverage Δ

graphein/ppi/visualisation.py
0.00% <0.00%> (ø)

graphein/protein/analysis.py
0.00% <0.00%> (ø)

graphein/rna/visualisation.py
0.00% <0.00%> (ø)

graphein/protein/visualisation.py
12.93% <9.67%> (-3.29%)
:arrow_down:

graphein/protein/features/nodes/amino_acid.py
84.48% <60.00%> (+0.76%)
:arrow_up:

graphein/protein/graphs.py
74.21% <66.66%> (+2.51%)
:arrow_up:

graphein/protein/edges/distance.py
91.85% <69.23%> (+10.16%)
:arrow_up:

graphein/protein/utils.py
68.00% <73.33%> (+16.78%)
:arrow_up:

graphein/protein/subgraphs.py
73.64% <73.64%> (ø)

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

... and 17 more

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 0b5a7c1...e7d9df4. Read the comment docs.


Solution for Issue #556 - Current logging implementation has limitations

PR to resolve the above issue in a later version of hazelcast C++ client with the provision of a LoggerCallback interface. This consists just of the code changes to implement the logging callback.
Please let me know if more changes are required or samples are needed for this case, documentation changes will also be required, so will be happy to provide necessary text.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Hello @sbrown-uhd Thanks for the PR.
I need to do a few things before we can verify this PR. I need to upgrade the compiler versions of the build environments (Linux, Windows and Mac) to support the C++11 (which we did not upgrade to stay binary compatible (ABI compatibility) to the oldest possible users. After this I will submit a PR to use the C++11 or later complier in cmake config. And then we can run your PR. This may take some time since environment upgrade may take time and we are very focused on 4.0 release of Java side as well. I will try to find some time to give this a priority. I will update you when ready and we can see how it works.
Meanwhile, in order to merge your pull request, we need you to sign Hazelcast Contributor Agreement. Can you do that? You can just email the signed form.

Hello @ihsandemir
No problem at all, we have what we need working locally here (based on my PR) anyway, so as long as we know that at some point it will probably be merged to an official future version that's great. I understand this isn't simply a drop in solution given the current constraints of compiler versions etc.
I'll get the contributor agreement signed and returned shortly.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Hello @sbrown-uhd We changed the logging config and impl significantly, can you double check if your PR still applies and if so update your PR? Thanks.

Hello @sbrown-uhd We changed the logging config and impl significantly, can you double check if your PR still applies and if so update your PR? Thanks.

Closing this PR since the issue was solved with the new logger implementation. Please re-open it if anything is missing. thanks.


change label "alibabacloud.com/xxxx" into a more common name?

I notice there are several labels prefixed with the name "alibabacloud.com", e.g. "alibabacloud.com/is-edge-worker", maybe something like "openyurt.com/xxx" is better.

@feilengcui008 thank you for filing the issue.
@charleszheng44 maybe we can fix these specific labels by using compile settings. and modify alibabacloud.com prefix to openyurt.io


Update Landing page with New UI

Here you have to update home page ( landing page) with the help of code

should i want work on this sir?

I want to work on this under jwoc

i want to work on this issue under Jwoc

i want to work on this issue

Hello sir I want to contribute please assign me the issue

I want to work on this issue under JWOC

I want to contribute to this issue , please assign me under JWOC.

hey @codervivek5  could you please assign me this issue  under JWOC.

@Atul-8115 any update?

@Code1705 wait til tomorrow....assign person did not give any reply then I will assign it to you

i have committed changes and created a pr , please merge it , in the PR page its showing review is blocked , could you check please?

I approved your PR. kindly share any screen shot so that I can see your changes

above given are the screenshot of the preview of  the changes , now could you pease merge my PR?

kindly show me output....how can review it with these screenshot
share output or change screenshot....if you make any changes

Kindly make text color dark

I would like to work on this under JWOC

I resolved it , its showing merging is blocked , could you check and review it?


SoundCloud Implementation

I am trying to use mediaelement as the player for souncloud url but could not and the recommended URI: https://api.soundcloud.com/tracks/XXX/stream?client_id=XXX
is no longer available on SoundCloud.
Using the src found below
<iframe width="100%" height="166" scrolling="no" frameborder="no"
  src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/293&{ ADD YOUR PARAMETERS HERE }">
</iframe>

like this
<audio src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/445858110"></audio>

produces a couple of errors both on the player and in the console.
below is a link to reproduce the above issues:
test url
how do I proceed?

As I understand from your question you will need to do grab the client ID manually from your SoundCloud Tracks.
From this Answer:

Go to any tracks that you can download on Soundcloud, press f12 and look at networks tab, click download and it will show you something like
https://api.soundcloud.com/tracks/322109493/download?client_id=2t9loNQH90kzJcsFCODdigxfp325aq4z&oauth_token=2-274121-85658-y9KQYyZ6qG9oT2uvPq
Grab that client_id, and replace it.

So the Soundcloud URL you provide in your question will look something like:
https://api.soundcloud.com/tracks/445858110/stream?client_id=95f22ed54a5c297b1c41f72d713623ef
Now you can play it with Mediaelement player.
Hope this helps.

@rafa8626 Hi rafa isn't the soundcloud_iframe renderer supposed to take the same source as the widget API per the documentation bypassing the need for a client_id?
I also tried streaming the m3u8 soundcloud links directly but there seems to be a problem with hls.js and soundcloud.


adding appProtocol as an option in listeners admin configurations

All kudos goes to lemonprogis. I couldn't push to his fork to solve git history and conflicts https://github.com/redpanda-data/helm-charts/pull/1472.

thank you guys for taking this across the finish line! cheers!


Return character in ip allow list field generating an error

Hello,
while testing the option "IP allow list".
I noticed that if there are one or more "return character (\r)" in the string, it comes to errors in "SecurityHelper->isIpOnAllowList".
This leads to the fact that Captcha cannot be loaded in the form.
In order to fix this I have replaced explode(PHP_EOL, $ipAllowList) with preg_split('/\r\n|\r|\n/', $ipAllowList)
replaced.
See explanation why: https://stackoverflow.com/a/29471912
Additionally it was not considered that Factory::parseAddressString and Subnet::parseString can return a "null" value.
My initial error:
Uncaught Error: Call to a member function getAddressType() on null {"exception":"[object] (Error(code: 0): Call to a member function getAddressType() on null at /var/www/htdocs/src/Helper/SecurityHelper.php:71)"} []

For this reason I have created a pull request that contains all the necessary changes: #55

Hi @Digi92
Awesome! Thank you very much for reporting this issue and providing the pull request.
The changes make absolute sense and are perfect.
I merged the pull request, and we will release a new version in the following days.
Kind regards,
zepich


= 1.0.102 wasm build breaks

https://github.com/rust-lang/cc-rs/pull/1114 conflates wasm with wasi targets. While wasi targets should change the sysroot to the wasi-sdk-provided one, the non-wasi target wasm32-unknown-unknown should probably keep the default sysroot.
https://github.com/rust-lang/cc-rs/pull/1105 extended the disabling of wasm exceptions from just wasm32-wasip1 to all wasi wasm targets. While this is technically correct, I am building a wasip1 module with exceptions (by stubbing some functions), which broke after upgrading cc. Perhaps cc could somehow allow a build-script to opt out of disabling the exceptions?
Thank you for your help!

the non-wasi target wasm32-unknown-unknown should probably keep the default sysroot.

Thanks, so looks like we need to special case it.

While this is technically correct, I am building a wasip1 module with exceptions (by stubbing some functions), which broke after upgrading cc.

Maybe CRATE_CC_NO_DEFAULTS could help here?

While this is technically correct, I am building a wasip1 module with exceptions (by stubbing some functions), which broke after upgrading cc.

Maybe CRATE_CC_NO_DEFAULTS could help here?

Thanks for the suggestion! Setting CRATE_CC_NO_DEFAULTS=1 did get me closer to a solution, though I had to manually set some flags, e.g. -O3, myself to regain the previous behavior. This is good enough for me right now :)


How to pass local path to SOURCE of main.tf! BIG-TEAM workflow

Hi,
This is a question that I tried to find in the docs and other issues here but I failed.
What I want to achieve here is.
I have terragrunt live infra that use a terragrunt module that module has dependencies of other modules I don't want to copy and paste the same variables (DRY) for two diferent modules you might be asking yourself why you need to break your service in two modules the reason behind is that in my organization networking team does network on our DC's and also in the cloud too if I want to make my company use terragrunt need to break DB, Network in different modules for the same services.
So I want my module to depend in another module that uses the same variables so my service module (asg, launch configs, ec2 instance) will depend on the network module (elb, security groups).
I had this working in a production environment when the path relies on git repo but for development is painful this is my example.

Live   live/stage/web -> terraform.tfvars (this is live)

terraform {
    # local path just for development
    source = "../modules/asg-service/"
  }

aws_region   = "xxxxx"
name         = "xxxx"
server_port = "8080"
elb_port = "8080"

.
.
.
all good here

this is my main module that has another module dependency /modules/ags-service/main.tf
.

here I put my dependencies to the network modules I already knew that terragrunt will have a hard time finding the relative path if I use a local path if I use git path everything works perfectly for me
but makes development really painful

provider "aws" {
  region = "${var.aws_region}"
}

module "project_network" {
  #source = "git@github.com:something/terraform-test.git?ref=v0.0.16//network/project_network"
  source = "../network/project_network/" .  ----> **NOT WORK**

  aws_region   = "${var.aws_region}"
  name         = "${var.name}"

  server_port = "${var.server_port}"
  elb_port = "${var.elb_port}"

}

# CREATE THE ASG
resource "aws_autoscaling_group" "webserver_example" {
.
.

if I use the git path all good but if I try to put a local path in the SOURCE of main.tf terragrunt doesn't know about that path and I can't use the build-in function is there a way to pass the relative path the source in main.tf? for development purposes that would make development not painful

module.project_network
Getting source "../network/project_network/"
Error downloading modules: Error loading modules: error downloading

or any suggestions?

Use a double-slash in the source path. See: https://github.com/gruntwork-io/terragrunt#working-locally

Oh my bad, Thanks man you are the best :) :)

Docs moved to: https://terragrunt.gruntwork.io/docs/features/keep-your-terraform-code-dry/#working-locally


Input events are difficult to handle in a Stream

This code by @Kagami doesn't work:
let (mut stream, mut device, factory) = {
    let window = WindowBuilder::new()
        .with_dimensions(640, 480)
        .with_title(format!("gfx_text example"))
        .with_gl(GL_CORE)
        .build()
        .unwrap();
    gfxw::init(window)
};
let mut normal_text = gfx_text::new(factory.clone()).unwrap();
for event in stream.out.window.wait_events() {
    match event {
            Event::Closed => break,
            Event::KeyboardInput(_, _, Some(VirtualKeyCode::Escape)) => break,
            _ => {},
        }
    }
    stream.clear(gfx::ClearData {color: WHITE, depth: 1.0, stencil: 0});
    normal_text.add("The quick brown fox jumps over the lazy dog", [10, 10], BROWN);
    normal_text.draw(&mut stream).unwrap();
    stream.present(&mut device);
}

It fails because wait_events() holds the stream and doesn't allow mutable borrows for the rendering operations.

Stream is gone, input is all yours now.


[SR-8692] Type aliases in stdlib protocol extensions not considered in generic constraints

Previous ID
SR-8692

Radar
None

Original Reporter
@AnthonyLatsis

Type
Bug

Environment
Xcode 9.4.1 (9F2000)

Additional Detail from JIRA

Votes
0

Component/s
Compiler

Labels
Bug

Assignee
None

Priority
Medium

md5: c318547b7dea44e767266078f5c0a83d

Issue Description:
extension Collection {
  typealias R = Element
}

func foo<U: Collection, T>(_ arg: U) where U.R == T {}
// 'U' does not have a member type named 'R'; did you mean 'R'?

protocol P {
  associatedtype Foo: Collection
}
extension P { typealias Element = Foo.Element }

func foo<U: P, T>(_ arg: U) where U.Element == T {} // Ok

Fixed on main:
x.swift:5:46: error: 'R' was defined in extension of protocol 'Collection' and cannot be referenced from a 'where' clause
func foo<U: Collection, T>(_ arg: U) where U.R == T {}
                                             ^
x.swift:5:25: error: generic parameter 'T' is not used in function signature
func foo<U: Collection, T>(_ arg: U) where U.R == T {}
                        ^
x.swift:13:37: error: 'Element' was defined in extension of protocol 'P' and cannot be referenced from a 'where' clause
func foo<U: P, T>(_ arg: U) where U.Element == T {} // Ok
                                    ^
x.swift:11:25: note: consider moving 'Element' into the definition of protocol 'P'
extension P { typealias Element = Foo.Element }
                        ^
x.swift:13:16: error: generic parameter 'T' is not used in function signature
func foo<U: P, T>(_ arg: U) where U.Element == T {} // Ok


odd text

Was this written correctly?
From this article, it says:
Starting with Windows 10, version 1709, "Windows Update for Business" was changed to correctly reflect its association to "Windows Update for Business"..
So, Starting Windows 10, WUFb was changed to reflect its association with, itself?
That's an odd statement.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2056993d-a700-fba6-8982-e645b182eeea
Version Independent ID: fb38a86a-cdf6-6fc2-8eb6-fd54f1599f55
Content: Deploy updates using Windows Update for Business (Windows 10)
Content Source: windows/deployment/update/waas-manage-updates-wufb.md
Product: w10
GitHub Login: @jaimeo
Microsoft Alias: jaimeo

@Tdiwestyguy - Thank you for submitting this feedback.
From our understanding the issue has been resolved. If you feel it hasn't been resolved please re-open this issue.

@AndreaBarr - This issue can be closed. Thank you.


Integration error

this error comes when i follow your command
zein@zein-HP-Pavilion-All-in-One-Desktop-27-ca2xxx:/media/zein/Data/PhasiHunter$ phasiHunter integration -io phase_o.txt -ia phase_a.txt -an oryza_sativa_gdna.gff3 -g y -o integration_o.txt -a integration_a.txt -s integration_s.txt -po integration_p.txt -j 1 -pn 4 -pl 21 -pv 0.001 -il 5
Start run integration.py at 2024-01-05-11-18-15
Threads: 1
Traceback (most recent call last):
File "/home/zein/PhasiHunter/bin/integration.py", line 273, in
main1()
File "/home/zein/PhasiHunter/bin/integration.py", line 166, in main1
fo_intergration_tmp = open(tmp_fo_intergration, 'w')
FileNotFoundError: [Errno 2] No such file or directory: '/2024-01-05-11-18-15_tmpfolder/integration_s.txt_2024-01-05-11-18-15_integration'
and after removing -s option
zein@zein-HP-Pavilion-All-in-One-Desktop-27-ca2xxx:/media/zein/Data/PhasiHunter$ phasiHunter integration -io phase_o.txt -ia phase_a.txt -an oryza_sativa_gdna.gff3 -g y -o integration_o.txt -a integration_a.txt -po integration_p.txt -j 1 -pn 4 -pl 21 -pv 0.001 -il 5
Start run integration.py at 2024-01-05-11-19-10
Threads: 1
Loading data
Merging phasiRNA clusters
Annotating phasiRNA clusters
Deduplication & Classification
Traceback (most recent call last):
File "/home/zein/PhasiHunter/bin/integration.py", line 273, in
main1()
File "/home/zein/PhasiHunter/bin/integration.py", line 225, in main1
tmp_intergration = Write_new(hout, pout, hanno, panno, p_phasiRNA_cluster, fo_phasiRNA, fo_allsiRNA, transcriptAnno, flnc_anno_dic)
File "/home/zein/PhasiHunter/bin/integrationFunction.py", line 1384, in Write_new
annotation = feature + ":" + gene
TypeError: unsupported operand type(s) for +: 'collections.defaultdict' and 'str'
how can i use it ?

The first bug occurred due to a relative path loading error.
The second bug arose from an error in parsing the ensemble reference, as PhasiHunter was primarily developed based on the NCBI reference in earlier versions.
Recently, I rewrite the code and fixed the aforementioned bugs.
Update information can be found at this link.
I apologize for the delayed reply.


Fix End of Life process values.

There's was a small mistake due to some numbers being rounded (ex: 1.43e-11 -> 0)

Differences still exist after this fix but  I don't have the time to investigate right now

Closing as this has been stale for more than a month.


Reorganize into standard Python package structure and add CI

Please advise on some of the setup.py metatdata, namely author and author email.

Addresses #2

I am preparing a PR in which a new Python file is added for testing whether duality relations $\mathcal{E}_d(\bar\rho)=\overline{\mathcal{D}_d(\rho)}$, $\mathcal{D}_d(\bar\rho)=\overline{\mathcal{E}_d(\rho)}$, $\mathcal{O}_d(\bar\rho)=\overline{\mathcal{C}_d(\rho)}$, and $\mathcal{C}_d(\bar\rho)=\overline{\mathcal{O}_d(\rho)}$ hold strictly. Therefore, imageruler will have two Python files for tests. Perhaps a new folder tests should be created for them. Should I put tests inside or outside the folder imageruler?
Another relevant issue is that the two Python test files and examples.ipynb need to import regular_shapes.py. To organize the files properly, should I put regular_shapes.py in the tests folder, or create a new folder examples that contains both examples.ipynb and regular_shapes.py? I prefer the second option because those regular shapes are also examples of shapes.

If the new test case(s) are testing the functions in ruler.py, I would just add them to the existing test_ruler.py. Rationale is that for each <module_name>.py, you have a corresponding test_<module_name>.py which provides the primary test coverage for that module.

If the new test case(s) are testing the functions in ruler.py, I would just add them to the existing test_ruler.py.

Yes, the new test cases are testing morphological functions in ruler.py (which will be renamed as imageruler.py), but the new and old test cases focus on different aspects.

Rationale is that for each <module_name>.py, you have a corresponding test_<module_name>.py which provides the primary test coverage for that module.

This makes sense to me, but I also saw other packages use different test files to test different features of the same module, e.g., grcwa (in which test_kbloch.py and test_rcwa.py exist) and perhaps meep (in which several test_adjoint_<feature_name>.py files exist). Which is more suitable for imageruler?

Which is more suitable for imageruler?

Up to you, ultimately. There are certainly many possibilities. Another option is to create additional classes within a single test_<module>.py file to aide with organization. e.g. we currently have TestRuler and you could add a TestDuality class with additional cases. Any class with a Test at the beginning of its name will be treated as a test.


Revert "Yarn2 migration"

Reverts SAP/cloud-sdk-js#1043

As the fix is still in progress, I would revert it as discussed.


Test callbacks on macOS

Other platforms will follow.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 56.66%. Comparing base (89355a1) to head (3527750).
Report is 72 commits behind head on main.

:exclamation:  There is a different number of reports uploaded between BASE (89355a1) and HEAD (3527750). Click for more details.
HEAD has 11 uploads less than BASE

Flag
BASE (89355a1)
HEAD (3527750)

pytest
12
1

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #186       +/-   ##
===========================================
- Coverage   74.74%   56.66%   -18.09%
===========================================
  Files           9       10        +1
  Lines         891      900        +9
===========================================
- Hits          666      510      -156
- Misses        225      390      +165

Flag
Coverage Δ

pytest
56.66% <ø> (-18.09%)
:arrow_down:

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

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


Update skype to latest

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

This URL downloads Skype Preview, not the current stable version of Skype.

I think I must have hit a CDN issue, I was being served the old skype website when I reviewed this. Apologies, reopened.


Telepath: Backend tests for structural block types

Merged in dcd2322fc8f22f0498d8c4707866cce22a2923b6. (Along the way I noticed that TestStreamBlock.test_adapt had got cut off somehow, but I filled in the gap...


Update italian translation

hi @secuflag could you fix the merge conflicts in your PR so it can get merged? Maybe also change the entry to an "- Update italian translation" since we dont need all the details in there ;-) Thx in advance

Looks good to me, why did you close the PR @secuflag ?

Sorry, I made a mess.
I'll send a new PR again later.

Well, I cant tell if the translation themselves are a mess but the PR looked fine. But do as you think is best.


Problem with building emulator / firmware

Description
I cannot build the emulator or the firmware. The issue has hit me two seperate times, both of which I will describe here.
Reproduction Steps

The compilation would throw a bunch of warnings from the project, before treating one or more of them as a fatal error and stopping the build. I was able to fix this by going into the makefile and removing -Werror=all from the CFLAGS_WARNINGS variable.

After I fixed the previous issue, I tried building the emulator again and ran into a different problem. At first, it gave me an error that said x86_64-w64-mingw32-gcc.exe couldn't be found, so I tried reinstalling msys2 based on the guide. That led me to my current issue, which now gives me no actual errors. It just seems to stop after the first gcc command, and I don't see what's breaking it.

What do you get when you run x86_64-w64-mingw32-gcc.exe --version? For reference, my output is below. If you get something different, that'd be a good lead. Also make sure the order of paths in your PATH variable matches the guide (specifically the python and msys ones)
x86_64-w64-mingw32-gcc.exe (Rev3, Built by MSYS2 project) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I don't see the error in your second screenshot either. Maybe try running make clean and make all as separate steps? Just for kicks, you can try running make all a second time too.
As a sidebar, it's better to suppress a specific warning with something like -Wno-error=stringop-overflow rather than turn them all off with -Werror=all

My output for gcc is the same as yours, and my path setup is exactly as you have it in the guide too. And yeah, I don't see an error either, that's where I'm stuck. It just shows the first command and then stops. running make clean and make all seperately did the same thing.

My best guess is it's not making the .o file, but I don't know why or how that broke.

You can check if it's building that object file. It would be generated at ./emulator/obj/emulator/src/emu_main.o. I suspect you're right that it isn't.
It's strange that your compiler and path would match, but still have this issue. You can try running the compile command outside the makefile with this long line. If there is an error message that make is hiding, maybe this will expose it.
x86_64-w64-mingw32-gcc.exe -c -g -static-libgcc -static-libstdc++ -fdiagnostics-color=always -ffunction-sections -fdata-sections -gdwarf-4 -ggdb -O2 -fstrict-volatile-bitfields -fno-jump-tables -fno-tree-switch-conversion -finline-functions -std=gnu17 -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -Wno-enum-conversion -Wno-error=unused-but-set-variable -Wno-old-style-declaration -Wundef -Wformat=2 -Winvalid-pch -Wlogical-op -Wmissing-format-attribute -Wmissing-include-dirs -Wpointer-arith -Wunused-local-typedefs -Wuninitialized -Wshadow -Wredundant-decls -Wjump-misses-init -Wswitch -Wcast-align -Wformat-nonliteral -Wno-switch-default -Wunused -Wunused-macros -Wmissing-declarations -Wmissing-prototypes -Wcast-qual -Wno-switch -Wunused-result   -DCONFIG_IDF_TARGET_ESP32S2=y  -DSOC_RMT_CHANNELS_PER_GROUP=4  -DSOC_TOUCH_SENSOR_NUM=15  -DSOC_ULP_SUPPORTED=y  -DSOC_PM_SUPPORT_EXT_WAKEUP=y  -DSOC_GPIO_SUPPORT_SLP_SWITCH=y  -DSOC_TIMER_GROUP_TIMERS_PER_GROUP=2  -DSOC_TIMER_GROUPS=2  -DSOC_I2C_NUM=2  -DSOC_I2C_SUPPORT_SLAVE=y  -DSOC_LEDC_CHANNEL_NUM=8  -DSOC_UART_NUM=2  -DSOC_ADC_DIGI_RESULT_BYTES=2  -DCONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD=0  -DCONFIG_LOG_MAXIMUM_LEVEL=3  -DCONFIG_GC9307_240x280=y  -DCONFIG_TFT_MAX_BRIGHTNESS=200  -DCONFIG_TFT_MIN_BRIGHTNESS=10  -DCONFIG_NUM_LEDS=8  -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1  -D_GNU_SOURCE  -DIDF_VER="v5.1.1"  -DESP_PLATFORM  -D_POSIX_READER_WRITER_LOCKS  -DCFG_TUSB_MCU=OPT_MCU_ESP32S2  -DEMULATOR=1  -DGIT_SHA1=\"8c48c63\"  -DHAS_XINERAMA=1  -DFULL_SCREEN_STEAL_FOCUS=1  -Iemulator  -Iemulator/idf-inc  -Iemulator/idf-inc/class  -Iemulator/idf-inc/class/hid  -Iemulator/idf-inc/driver  -Iemulator/idf-inc/freertos  -Iemulator/idf-inc/hal  -Iemulator/idf-inc/rom  -Iemulator/idf-inc/rom/usb  -Iemulator/idf-inc/soc  -Iemulator/obj  -Iemulator/obj/emulator  -Iemulator/obj/emulator/src  -Iemulator/obj/emulator/src/components  -Iemulator/obj/emulator/src/components/crashwrap  -Iemulator/obj/emulator/src/components/hdw-battmon  -Iemulator/obj/emulator/src/components/hdw-btn  -Iemulator/obj/emulator/src/components/hdw-bzr  -Iemulator/obj/emulator/src/components/hdw-esp-now  -Iemulator/obj/emulator/src/components/hdw-imu  -Iemulator/obj/emulator/src/components/hdw-led  -Iemulator/obj/emulator/src/components/hdw-mic  -Iemulator/obj/emulator/src/components/hdw-nvs  -Iemulator/obj/emulator/src/components/hdw-spiffs  -Iemulator/obj/emulator/src/components/hdw-temperature  -Iemulator/obj/emulator/src/components/hdw-tft  -Iemulator/obj/emulator/src/components/hdw-usb  -Iemulator/obj/emulator/src/extensions  -Iemulator/obj/emulator/src/extensions/fuzzer  -Iemulator/obj/emulator/src/extensions/keymap  -Iemulator/obj/emulator/src/extensions/leds  -Iemulator/obj/emulator/src/extensions/modes  -Iemulator/obj/emulator/src/extensions/replay  -Iemulator/obj/emulator/src/extensions/touch  -Iemulator/obj/emulator/src/idf  -Iemulator/obj/emulator/src/sound  -Iemulator/obj/main  -Iemulator/obj/main/asset_loaders  -Iemulator/obj/main/asset_loaders/common  -Iemulator/obj/main/colorchord  -Iemulator/obj/main/display  -Iemulator/obj/main/menu  -Iemulator/obj/main/modes  -Iemulator/obj/main/modes/accelTest  -Iemulator/obj/main/modes/breakout  -Iemulator/obj/main/modes/colorchord  -Iemulator/obj/main/modes/credits  -Iemulator/obj/main/modes/dance  -Iemulator/obj/main/modes/demo  -Iemulator/obj/main/modes/factoryTest  -Iemulator/obj/main/modes/flight  -Iemulator/obj/main/modes/gamepad  -Iemulator/obj/main/modes/jukebox  -Iemulator/obj/main/modes/lumberjack  -Iemulator/obj/main/modes/mainMenu  -Iemulator/obj/main/modes/mfpaint  -Iemulator/obj/main/modes/platformer  -Iemulator/obj/main/modes/pushy  -Iemulator/obj/main/modes/quickSettings  -Iemulator/obj/main/modes/ray  -Iemulator/obj/main/modes/ray/enemies  -Iemulator/obj/main/modes/slideWhistle  -Iemulator/obj/main/modes/timer  -Iemulator/obj/main/modes/touchTest  -Iemulator/obj/main/modes/tunernome  -Iemulator/obj/main/utils  -Iemulator/src  -Iemulator/src/components  -Iemulator/src/components/crashwrap  -Iemulator/src/components/hdw-battmon  -Iemulator/src/components/hdw-btn  -Iemulator/src/components/hdw-bzr  -Iemulator/src/components/hdw-esp-now  -Iemulator/src/components/hdw-imu  -Iemulator/src/components/hdw-led  -Iemulator/src/components/hdw-mic  -Iemulator/src/components/hdw-nvs  -Iemulator/src/components/hdw-spiffs  -Iemulator/src/components/hdw-temperature  -Iemulator/src/components/hdw-tft  -Iemulator/src/components/hdw-usb  -Iemulator/src/extensions  -Iemulator/src/extensions/fuzzer  -Iemulator/src/extensions/keymap  -Iemulator/src/extensions/leds  -Iemulator/src/extensions/modes  -Iemulator/src/extensions/replay  -Iemulator/src/extensions/touch  -Iemulator/src/idf  -Iemulator/src/sound  -Imain  -Imain/asset_loaders  -Imain/asset_loaders/common  -Imain/colorchord  -Imain/display  -Imain/menu  -Imain/modes  -Imain/modes/accelTest  -Imain/modes/breakout  -Imain/modes/colorchord  -Imain/modes/credits  -Imain/modes/dance  -Imain/modes/demo  -Imain/modes/factoryTest  -Imain/modes/flight  -Imain/modes/gamepad  -Imain/modes/jukebox  -Imain/modes/lumberjack  -Imain/modes/mainMenu  -Imain/modes/mfpaint  -Imain/modes/platformer  -Imain/modes/pushy  -Imain/modes/quickSettings  -Imain/modes/ray  -Imain/modes/ray/enemies  -Imain/modes/slideWhistle  -Imain/modes/timer  -Imain/modes/touchTest  -Imain/modes/tunernome  -Imain/utils  -Icomponents/crashwrap/include  -Icomponents/hdw-battmon/include  -Icomponents/hdw-btn/include  -Icomponents/hdw-bzr/include  -Icomponents/hdw-esp-now/include  -Icomponents/hdw-imu/include  -Icomponents/hdw-led/include  -Icomponents/hdw-mic/include  -Icomponents/hdw-nvs/include  -Icomponents/hdw-spiffs/include  -Icomponents/hdw-temperature/include  -Icomponents/hdw-tft/include  -Icomponents/hdw-usb/include emulator/src/emu_main.c -o emulator/obj/emulator/src/emu_main.o

It wasn't making the object file, even with the seperate command. However, I decided to try and update my entire msys2 install, and that seems to have fixed the issue. Took me a bit to realize because I had been able to compile the build once, but I may have updated x86_64-w64-mingw32-gcc.exe after that, and the mismatch of versions between that and msys2 as a whole might have been what broke stuff.

Huh, glad you sorted it out. Happy hacking!


Task/axdd components 1.0.6

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
594

Relevant Lines:
1009

💛  - Coveralls


use parameter in waybar/config for  custom module ?

i use waybar in dwl with (https://codeberg.org/fauxmight/waybar-dwl/src/branch/main/waybar-dwl.sh).
the script use waybar custom modules;
the problem is , the script hardcodes the file name /path/to/waybar-dwl.sh in ~/.config/waybar/config.
If i run multiple instances of dwl, i need multiple ~/.cache/dwltags file name, for example, i may use the pid of waybar in filename: ~/.cache/dwltags_waybarPID.
So, in ~/.config/waybar/config, i need to pass something like PID to  /path/to/waybar-dwl.sh, is it possible to do this? how ?

Same problem. I need to have the PID of the launched script available in the config.


Query param accessors

This adds a couple of query parameters accessors to abstract away their actual values to users. Namely, instead of looking at a given query parameter names, users should call the accessor with the redirect IRI as an input. The accessors are async, because the VCs for access request and access grant are expected to be exchanged as IRIs, and the accessors dereference these in order to return the VC value.
Note that these changes are backwards-compatible: for explicitness, the query params names are different if the VC is passed as a value (e.g. accessGrant) or as an IRI (e.g. accessGrantUrl). The accessors currently work with both, and removing support for the legacy approach can be done in a future major release.
Checklist

[X] All acceptance criteria are met.
[X] Relevant documentation, if any, has been written/updated.
[X] The changelog has been updated, if applicable.
[X] New functions/types have been exported in index.ts, if applicable.
[X] Commits in this PR are minimal and have descriptive commit messages.

Regarding the VC dereferencing, you're right, I wasn't sure to do it as part of this PR but it should be factored out. Actually, I even thing it should be implemented by the VC library, and merely reused here. I'll implement this and update the PR accordingly.

I converted this to draft until https://github.com/inrupt/solid-client-vc-js/pull/284 is reviewed, merged and released.


Add photos for blue zend

Add photos requested in issue #2

Thanks @ojalehto could you please update the images - see https://github.com/philipsharp/afieldguidetoelephpants/blob/master/CONTRIBUTING.md

Hmm, what do you mean? Local images are in the correct path with requested size. If link would be absent then local images would be wrapped in an empty links in generated page.

You're right. Sry i missread the line :)
Am Samstag, 27. Februar 2016 schrieb Aki Ojalehto :

Hmm, what do you mean? Local images are in the correct path with requested
size. If link would be absent then local images would be wrapped in an
empty links in generated page.
—
Reply to this email directly or view it on GitHub
https://github.com/philipsharp/afieldguidetoelephpants/pull/39#issuecomment-189675867
.

--

Marco Rieger
Flachsstraße 16
32369 Rahden
Germany
0171-5540818
https://racecore.de http://racecore.de/

You're right. Sry i missread the line :)

Ok :)

Thanks. I was beginning to think these didn't exist. There are very few pictures of them.


signuprouter analytics initialized too early

FS and Mautic are not detected in global scope

will remove from GTM and include them inline

@sirpy FS is true only for NEXTorg env


not fully typescript .d.ts

❤ I will look at this this weekend. Though I do not have merge permissions I'd be happy to code review. should address #178

https://github.com/ekalinin/sitemap.js/pull/183

@ekalinin depending on whether you are ok with typescript you should merge either this or #183. Skip this if you are ok with typescript.

Closing in favor of the now merged full conversion


Explain all supported operators in Entities Search Filter

See https://doc.cuba-platform.com/restapi-7.1/#rest_api_v2_ex_search_filter

Copy from https://github.com/cuba-platform/documentation/issues/517


flask-sock in docker-gunicorn environment always returns 404

Hi Miguel,
i have an issue with flask-sock in an containerized application. As I tested my app in a local environment, everything works as expected, the javascript in my html-doc connects properly and the communication runs continuously.
But now I switched to an containerized environment using gunicorn as webserver started by supervisor and now the server returns always a 404 as the html doc calls the websocket. I tried several configs to figure out what's happening, but I have no more ideas what to do.
Here are the crucial parts of code, config and log:
app.py
...
app = flask.Flask(
    __name__,
    static_folder = '/www/static'
)

ws = flask_sock.Sock()
...

def create_app():
    ...
    app.config['SOCK_SERVER_OPTIONS'] = {
        'ping_interval' : 5
    }
    ...
    ws.init_app(app)
    ...
    from .views import default
    ...
    return app

default.py
@ws.route('/api/ws')
def wsapi(ws):
    app.logger.info('ws call')
    while True:
        time.sleep(1)
        ws.send('Hello')
        app.logger.info('ws cycle')

index.html
            const ws = new WebSocket('ws://'+location.host+'/api/ws');

            ws.addEventListener('open', ev => {
                console.log('WS OPENED!');
            });

            ws.addEventListener('close', ev => {
                console.log('WS CLOSED!');
            });

            ws.addEventListener('message', ev => {
                console.log(ev.data)
            });

supervisord.conf
...
[program:gunicorn]
command=/www/venv/bin/gunicorn wsgi:app -b :80 --reload -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker --workers 4 --threads 100
directory=/www/app
user=www-data
group=www-data
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
...

log (generated with app.before_request & app.after_request)
[2022-05-12 08:23:59,915] INFO in app: <Request 'http://<IP_ADDRESS>:9500/api/ws' [GET]>
[2022-05-12 08:23:59,917] INFO in app: <Response streamed [404 NOT FOUND]>

Maybe you have some hints for me, how to use your flask-extension properly.
Cheers, Carsten

I connect through port 9500, as this is the host port of my docker test node:
docker run -d -p 9500:80 -p 9501:22 --restart=always -v static:/www/static:ro -v app:/www/app:ro --name kimgui kimgui:latest
In this development env I also run an ssh server and this 2 services were started with supervisor:
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D -o ListenAddress=<IP_ADDRESS>
[program:gunicorn]
command=/www/venv/bin/gunicorn wsgi:app -b :80 --reload -k geventwebsocket.gunicorn.workers.GeventWebSocketWorker --workers 4 --threads 100
directory=/www/app
user=www-data
group=www-data
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

Try moving the import of your default module outside of the factory function, or at least move it above the ws.init_app() call.

Strange! As the ws.route is registered to the blueprint, the endpoint never appears in the url_map of the flask-app. As I pass the app as a constructor arg to the Sock-class, everything works as expected...

Yeah, you were doing things in a strange order that this extension does not currently support. I'll look into making things work for this use case.

This should work, indirectly after 3bfacdee99006a6db170d12b2988d41f4376e210 was introduced a while ago.


Routine Error: Operation Payload

Im trying to add the Routines. However one of them gives me the Operation Payload Error:
{"@type":"com.amazon.alexa.behaviors.model.Automation",
"automationId":"amzn1.alexa.automation.XXX",
"name":null,
"triggers":[{"payload":{"customerId":"XXX","utterance":"Stimmungslicht","locale":"de-DE","marketplaceId":"XXX"},"id":"amzn1.alexa.trigger.XXXX","type":"CustomUtterance","timeLapse":null}],
"sequence":{"@type":"com.amazon.alexa.behaviors.model.Sequence","sequenceId":"amzn1.alexa.sequence.XXX",
"startNode":{"@type":"com.amazon.alexa.behaviors.model.SerialNode","name":null,
"nodesToExecute":[{"@type":"com.amazon.alexa.behaviors.model.ParallelNode","name":null,
"nodesToExecute":[{"@type":"com.amazon.alexa.behaviors.model.SerialNode","name":null,
"nodesToExecute":[{"@type":"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode","type":"sceneActivate","operationPayload":{"customerId":"XXX","operationId":"sceneActivate","target":"XXXX"},"name":null}]},{"@type":"com.amazon.alexa.behaviors.model.SerialNode","name":null,
"nodesToExecute":[{"@type":"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode","type":"sceneActivate","operationPayload":{"customerId":"XXXX","operationId":"sceneActivate","target":"XXXX"},"name":null}]},

Im on the latest version for both Hassio and the Custom Component. Running Hassio on a NUC. Using the German Alexa Server.
EDIT: Formatting json

To confirm, this is a scene activation routine?

Yes correct. A Hue scene


Linking failure with OpenSSL 1.1.0

Linux 4.10.8 (Arch Linux)
GCC 6.3.1
OpenSSL 1.1.0e  16 Feb 2017

Currently when attempting to link stdlib.o I get the following undefined reference errors:
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'SSL_load_error_strings'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'SSL_library_init'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'CRYPTO_num_locks'
./stdlib.o:stdlib:function ssl__SSLInit_box__init_o: error: undefined reference to 'CRYPTO_set_locking_callback'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'SSL_load_error_strings'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'SSL_library_init'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'CRYPTO_num_locks'
./stdlib.o:stdlib:function ssl__SSLInit_val__init_o: error: undefined reference to 'CRYPTO_set_locking_callback'
./stdlib.o:stdlib:function crypto_Digest_ref_sha512_o: error: undefined reference to 'EVP_MD_CTX_create'
./stdlib.o:stdlib:function crypto_Digest_ref_final_o: error: undefined reference to 'EVP_MD_CTX_cleanup'
./stdlib.o:stdlib:function crypto_Digest_ref_md5_o: error: undefined reference to 'EVP_MD_CTX_create'
collect2: error: ld returned 1 exit status
Error:
unable to link: cc -o ./stdlib -O3 -march=native -mcx16 -fuse-ld=gold ./stdlib.o -L"/home/earnest/build/pkgbuilds/ponyc-git/src/ponyc/build/release/" -Wl,-rpath,"/home/earnest/build/pkgbuilds/ponyc-git/src/ponyc/build/release/" -L"/home/earnest/build/pkgbuilds/ponyc-git/src/ponyc/build/release/../../packages" -Wl,-rpath,"/home/earnest/build/pkgbuilds/ponyc-git/src/ponyc/build/release/../../packages" -L"/usr/local/lib" -Wl,-rpath,"/usr/local/lib" -Wl,--start-group -l"rt" -l"crypto" -l"pcre2-8" -l"ssl" -Wl,--end-group  -lponyrt -lpthread -ldl -lm -Wl,--export-dynamic-symbol=__DescTable -Wl,--export-dynamic-symbol=__DescTableSize
make: *** [Makefile:752: test] Error 255

This is notably due to changes in OpenSSL 1.1.0 and its deprecation of these functions.  For example SSL_library_init is now OPENSSL_init_ssl.
Perhaps this mailing list post and its referenced links might be of use when figuring this out<EMAIL_ADDRESS>

Yop I have exactly the same problem on Arch too. Since I'm only a beginner in Pony I don't need all that net stuff so I just removed it from the stdlib by commenting lines here and there, and It's working fine now. My /usr/lib/pony/0.13.1/packages/stdlib/_test.pony file looks like this currently :
`
"""
Pony Standard Library
This package represents the test suite for the Pony standard library.
For every new package, please add a Main actor and tests to the package in a
file called 'test.pony'. Then add a corresponding use directive and a line to
the main actor constructor of this package to invoke those tests.
All tests can be run by compiling and running packages/stdlib.
"""
// Include ALL standard library packages here, even if they don't have tests.
// That way stdlib can be used to type check the whole standard library,
// generate docs for it, etc.
use "ponytest"
use assert = "assert"
use base64 = "encode/base64"
use builtin_test = "builtin_test"
use buffered = "buffered"
use bureaucracy = "bureaucracy"
use capsicum = "capsicum"
use collections = "collections"
use collections_persistent = "collections/persistent"
//use crypto = "crypto"
use debug = "debug"
use files = "files"
use glob = "glob"
//use http = "net/http"
use ini = "ini"
use json = "json"
use logger = "logger"
use math = "math"
//use net = "net"
use options = "options"
use ponybench = "ponybench"
use promises = "promises"
use process = "process"
use random = "random"
use regex = "regex"
use signals = "signals"
//use ssl = "net/ssl"
use strings = "strings"
use term = "term"
use time = "time"
use itertools = "itertools"
use serialise = "serialise"
actor Main is TestList
new create(env: Env) => PonyTest(env, this)
new make() => None
fun tag tests(test: PonyTest) =>
base64.Main.make().tests(test)
builtin_test.Main.make().tests(test)
buffered.Main.make().tests(test)
bureaucracy.Main.make().tests(test)
collections.Main.make().tests(test)
collections_persistent.Main.make().tests(test)
//   crypto.Main.make().tests(test)
files.Main.make().tests(test)
ifdef not windows then
  // The glob tests are currently very broken on Windows, so ignore them.
  glob.Main.make().tests(test)
end

//   http.Main.make().tests(test)
ini.Main.make().tests(test)
json.Main.make().tests(test)
logger.Main.make().tests(test)
//    net.Main.make().tests(test)
options.Main.make().tests(test)
ponybench.Main.make().tests(test)
promises.Main.make().tests(test)
ifdef posix then
  // The process package currently only supports posix
  process.Main.make().tests(test)
end

regex.Main.make().tests(test)

ifdef not windows then
  // The signals tests currently abort the process on Windows, so ignore
  // them.
  signals.Main.make().tests(test)
end

strings.Main.make().tests(test)
time.Main.make().tests(test)
itertools.Main.make().tests(test)
serialise.Main.make().tests(test)

`

OpenSSL 1.1.0 is currently unsupported. You'd need an older, supported version.

the changes to use openssl 1.1 are actually very few, however that code won't work with 1.0
we cant exactly ifdef on OPENSSL_VERSION_NUMBER in pony source files

I ran into this while running the complete test suite. The SSL API changes are documented here: https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes

I make no claims this is correct and it may erase all of the data on your computer, but it looks to have worked for me.
I came up with the change after looking at https://wiki.openssl.org/index.php/Library_Initialization and /usr/include/openssl/ssl.h crypto.h and evp.h.
---- Passed: 274

Now that there is experimental support for 4.0.1 and 5.0.0 on master it would be nice to get openssl 1.1 support in also, expecially for Arch Linux which is using it as the default. So I need some advice on how to proceed. My current change, test-openssl1.1, is "working" for openssl 1.1.0 so I think the next step is to get it to work for openssl 1.0.2.
What I think is needed is have some type of conditional compiliation. So maybe something like the following could be done in the effected packages. Here's what it might look like for packages/net/ssl/ssl_context.pony:
@@ -18,11 +18,15 @@ class val SSLContext

   new create() =>
     """
     Create an SSL context.
     """
-    _ctx = @SSL_CTX_new[Pointer[_SSLContext]](@SSLv23_method[Pointer[None]]())
+    ifdef OPENSSL_API_COMPAT_1_1_0
+      _ctx = @SSL_CTX_new[Pointer[_SSLContext]](@TLS_method[Pointer[None]]())
+    else
+      _ctx = @SSL_CTX_new[Pointer[_SSLContext]](@SSLv23_method[Pointer[None]]())
+    end

     // set SSL_OP_NO_SSLv2
     @SSL_CTX_ctrl(_ctx, 32, 0x01000000, Pointer[None])

     // set SSL_OP_NO_SSLv3

The problem is I'm not sure how to modify the Makefile to pass "-DOPENSSL_API_COMPAT_1_1_0" when compiling the modified files.
Of course this maybe the totally wrong direction, so suggestions and other ideas welcome!

@winksaville - do you need the conditional compilation to be resolved at compile time of the ponyc/libponyrt binaries, or at compile time of the pony program (when ponyc is run)?

Needs to be done at compile time.
On Tue, Nov 28, 2017, 1:56 PM Joe Eli McIlvain<EMAIL_ADDRESS>wrote:

@winksaville https://github.com/winksaville - do you need the
conditional compilation to be resolved at compile time of the ponyc/
libponyrt binaries, or at compile time of the pony program (when ponyc is
run)?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-347676802,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHE3KSYlgeLnFdRHc1ClkoLBPeG9zks5s7IGVgaJpZM4M7_II
.

@winksaville - sorry, which of the two compile times that I mentioned? :smile:

Sorry miss read your question. When the files in my change are compiled:
https://github.com/winksaville/ponyc/commit/34535cffab3280efc6f6646c7926f57eaea7f20c
packages/crypto
packages/net/ssl
On Tue, Nov 28, 2017, 9:17 PM Joe Eli McIlvain<EMAIL_ADDRESS>wrote:

@winksaville https://github.com/winksaville - sorry, which of the two
compile times that I mentioned? 😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-347755788,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHCx3F0KZhYfGsYZ8ibcobEQCL7fOks5s7Oj5gaJpZM4M7_II
.

@winksaville - I don't think modifying the ponyc Makefile is what you want. The -D argument is going to have to be passed every time the user runs ponyc to compiler their program, based on which is available.
If you want to have it decided forever when running make for ponyc (the compile time of ponyc), then you'd need to add some ponyint_* functions in the C source for ponyc to wrap the incompatible calls in a C-level #ifdef block.

Its not so much what I want, I'm just trying to allow a programmer to use
the pony crypto and ssl packages on systems that have openssl 1.1.
I think I need some more education about pony packages. I just realized
that it looks like packages are distributed as sources as I see on my Arch
Linux system /usr/lib/pony/0.20.0-4003.0b2a2d2/packages:
wink@wink-desktop:/usr/lib/pony/0.20.0-4003.0b2a2d2/packages
$ ls crypto
constant_time_compare.pony  crypto.pony  digest.pony  hash_fn.pony
_test.pony
wink@wink-desktop:/usr/lib/pony/0.20.0-4003.0b2a2d2/packages
$ ls net/ssl
ssl_connection.pony  ssl_context.pony  _ssl_init.pony  ssl.pony  x509.pony
Is it correct that packages are distributed as sources?
In any case a short term problem I see is how to build and test pony on
systems that have openssl 1.1 such as Arch Linux? Right now you can build
ponyc on Arch Linux but the stdlib tests fail to link because
packages/net/ssl and packages/crypto expect openssl 1.0.0. So one solution
might be to use something like the my modifcations to the Makefile and pass
-DOPENSSL_API_COMPAT_X_X_X to the places where packages/stdlib is compiled.
So maybe something like below and then modifiy packages/crypto and
packages/net/ssl with appropriate "ifdef's" with the default path if
nothing is defined to assume openssl 1.0.0.
test: all
@$(PONY_BUILD_DIR)/libponyc.tests
@$(PONY_BUILD_DIR)/libponyrt.tests
@$(PONY_BUILD_DIR)/ponyc -D$(OPENSSL_API_COMPAT) -d -s --checktree --verify
packages/stdlib
@./stdlib --sequential
@rm stdlib
test-examples: all
@PONYPATH=. $(PONY_BUILD_DIR)/ponyc -D$(OPENSSL_API_COMPAT) -d -s
--checktree --verify examples
@./examples1
@rm examples1
test-ci: all
@$(PONY_BUILD_DIR)/ponyc --version
@$(PONY_BUILD_DIR)/libponyc.tests
@$(PONY_BUILD_DIR)/libponyrt.tests
@$(PONY_BUILD_DIR)/ponyc -D$(OPENSSL_API_COMPAT) -d -s --checktree --verify
packages/stdlib
@./stdlib --sequential
@rm stdlib
@$(PONY_BUILD_DIR)/ponyc -D$(OPENSSL_API_COMPAT) --checktree --verify
packages/stdlib
@./stdlib --sequential
@rm stdlib
@PONYPATH=. $(PONY_BUILD_DIR)/ponyc --D$(OPENSSL_API_COMPAT) d -s
--checktree --verify examples
@./examples1
@rm examples1
@$(PONY_BUILD_DIR)/ponyc --antlr > pony.g.new
@diff pony.g pony.g.new
@rm pony.g.new
docs: all
$(SILENT)$(PONY_BUILD_DIR)/ponyc packages/stdlib
-D$(OPENSSL_API_COMPAT) --docs --pass expr
$(SILENT)cp .docs/extra.js stdlib-docs/docs/
What do you think?
On Wed, Nov 29, 2017 at 8:03 AM Joe Eli McIlvain<EMAIL_ADDRESS>wrote:

@winksaville https://github.com/winksaville - I don't think modifying
the ponyc Makefile is what you want. The -D argument is going to have to
be passed every time the user runs ponyc to compiler their program, based
on which is available.
If you want to have it decided forever when running make for ponyc (the
compile time of ponyc), then you'd need to add some ponyint_* functions
in the C source for ponyc to wrap the incompatible calls in a C-level
#ifdef block.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-347907414,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHAq5EM8OLVicFUHKT1-pubV1bt7Xks5s7YBYgaJpZM4M7_II
.

Is it correct that packages are distributed as sources?

Yeah, I think this is the key point - pony doesn't have any concept of a compiled package - only a compiled program. Packages are distributed as source code, and then the Pony compiler looks at all the source files at once and compiles the whole program.
So every time you use the net/ssl package in your program, it will be compiled, and any Pony-level ifdefs will be resolved at that time. So you'd need to include the relevant -D flag when compiling your program. The Makefile in this repo doesn't play any role in that process - it would have to be in the invocation used by the user.  Many Pony projects include their own Makefile for passing any relevant flags to the Pony compiler, and generally having more repeatable control over compilation.

Hmm,
I modified the Makefile locally adding test-stdlib target where added
passing the -DOPENSSL_API_COMPAT_1_1_0:
test-stdlib: all
$(SILENT)$(PONY_BUILD_DIR)/ponyc -D$(OPENSSL_API_COMPAT) -d -s --checktree
--verify packages/stdlib
$(SILENT)./stdlib --sequential
$(SILENT)rm stdlib
And got a "not a valid platform flag":
Error:
/home/wink/prgs/pony/ponyc/packages/net/ssl/ssl_context.pony:23:11:
"OPENSSL_API_COMPAT_1_1_0" is not a valid platform flag
ifdef OPENSSL_API_COMPAT_1_1_0 then
      ^

So I can't have arbitrary "defines" or did I do something wrong?
On Wed, Nov 29, 2017 at 11:14 AM Joe Eli McIlvain<EMAIL_ADDRESS>wrote:

Is it correct that packages are distributed as sources?
Yeah, I think this is the key point - pony doesn't have any concept of a
compiled package - only a compiled program. Packages are distributed as
source code, and then the Pony compiler looks at all the source files at
once and compiles the whole program.
So every time you use the net/ssl package in your program, it will be
compiled, and any Pony-level ifdefs will be resolved at that time. So
you'd need to include the relevant -D flag when compiling your program.
The Makefile in this repo doesn't play any role in that process - it
would have to be in the invocation used by the user. Many Pony projects
include their own Makefile for passing any relevant flags to the Pony
compiler, and generally having more repeatable control over compilation.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-347965463,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHMQlwmsWTVnA5Yi6eCYEYu1sFx1nks5s7a0mgaJpZM4M7_II
.

I'm not sure it the correct solution but it works if the ifdef expression is a string:
[code]
ifdef "OPENSSL_API_COMPAT_1_1_0" then
_ctx = @SSL_CTX_newPointer[_SSLContext]
else
_ctx = @SSL_CTX_newPointer[_SSLContext]
end
[/code]

With my latest change I've successfully compiled ponyc and tested on both an Arch Linux system running openssl 1.1 and a Ubuntu 17.10 system running openssl 1.0.0

While i really like being able to compile pony programs against openssl 1.1.0 i dont like having to specify the flag everytime.
Would it be possible to use https://www.openssl.org/docs/man1.1.0/crypto/OpenSSL_version.html to let ponyc create some builtin defines for the underlying libssl and/or libcrypto on which we can do the ifdef without having to specify it manually? The same as we have windows, linux etc. But i guess those are baked into the compiler at its own compile-time while the ssl version can only be determined at pony-program compile -time. And ponyc shouldnt need to link against openssl. This leaves us with what @jemc mentioned above, which is wrapping incompatible apis in C code in libponyrt which is called from the net/ssl and crypto packages and does the switch. While this is some big effort, it enables us to also work with other ssl libs like BoringSSL or LibreSSL or s2n which is a nice advantage imho.

Just FYI, Windows currently uses LibreSSL 2.6.1.

@mfelsche, just to be clear a -DOPENSSL_API_COMPAT_X_X_X is not need unless you need/want to use openssl 1.1. At the moment I'm unclear how wrapping in C code actually helps, it still seems there's a requirement for some compile time switchs be it in pony or in C code. I must be missing something.
One thing I don't like about my code is in the constructors of digest.pony I duplicated the same code 7 times:
-    _ctx = @EVP_MD_CTX_new[Pointer[_EVPCTX]]()
+    ifdef "OPENSSL_API_COMPAT_1_1_0" then
+      _ctx = @EVP_MD_CTX_new[Pointer[_EVPCTX]]()
+    else
+      _ctx = @EVP_MD_CTX_create[Pointer[_EVPCTX]]()
+    end

I couldn't figure out how to create a method that I could call from a constructor, any suggestions?

you can call methods from constructors once every field has been initialized.

Ideally, this kind of issue would be handled by a better FFI, which would be able to parse C headers and conditionally compile code based on the defines in those headers.
Until we have such an FFI (which is one of my mid-long term goals) I'm not sure what the right solution is.

One option would be to simply not support the older version of OpenSSL.

Given that the “older version” is widely available on many distros such as RedHat, not supporting it isn’t a user friendly choice and greatly reduces our reach.

Quick update, I looked around and I couldn't find any tests of the network stuff. I then tried to run examples/net and added some additional output and found that it wasn't working because the file paths were incorrect. I then verified that examples/net work on the master and against my changes. I've created a PR #2395 with a the changes to examples/net.

What is “the network stuff” that you refer to having no tests?

My mistake, there are obviously tests for packages/net. I was looking for
them in tests, but I now see the tests for packages are "local" and use
PonyTest.
Anyway, I don't see any tests for packages/net/ssl, did I miss them too?
On Fri, Dec 1, 2017, 4:44 AM Sean T Allen<EMAIL_ADDRESS>wrote:

What is “the network stuff” that you refer to having no tests?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-348485729,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHDW8Jh1rxzLwPnHVFLBsnJvCoVY_ks5s7_SkgaJpZM4M7_II
.

There are no SSL tests at this time. There's a PR to be able to make SSL tests with PonyTest easier but its blocked.
https://github.com/ponylang/ponyc/pull/1510

QQ: how hard would it be to have the .pem data in the source and the write
the to tmp/ or elsewhere to unblock an ssl test?
On Fri, Dec 1, 2017, 12:34 PM Sean T Allen<EMAIL_ADDRESS>wrote:

There are no SSL tests at this time. There's a PR to be able to make SSL
tests with PonyTest easier but its blocked.
#1510 https://github.com/ponylang/ponyc/pull/1510
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-348607666,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHAVlbKvIWblQsY3LJBjoZbbHnwGYks5s8GLtgaJpZM4M7_II
.

Seems plausible, if you can make it work.

The basic issue that emerged with OpenSSL 1.1.0 is that the current FFI is not yet able to differentiate between libraries of different versions. As there are some incompatibilities between OpenSSL 1.0.X and 1.1.X we need to wrap the FFI calls in some conditional compilation statements and only use the 1.1.X API if we know we have it available.
#2415 is fixing this problem for openssl 1.0.0 and 1.1.0 while introducing the burden on the application developer to define "OPENSSL_COMPAT_1_1_0" everytime when compiling his program in order to use the correct openssl version. The goal here should be to do the detection of the openssl version in the compiler, not the Makefile of the compiler only, in order to have such a conditional compilation but without the need to specify anything manually.
There are some possible other solutions to this problem:

Have a use "lib:LIBRARY_NAME" statement that makes the library version available to the code where it is used, maybe as an ifdef variable
Improve the FFI to be able to read out #DEFINEs from C header files and use them in pony code (in this case OPENSSL_VERSION_NUMBER)
create an ifdef variable that is exposing which openssl is available (e.b. openssl_1_0_0 and openssl_1_1_0). Here it should be made so that pony applications that do not use ssl or crypto packages do not need to link against libssl or libcrypto just for having this ifdef variable.

Just a clarification, defining OPENSSL_API_COMPAT_1_1_0 is only needed to
support 1.1.0. To support the current 1.0.0 API's no define is needed. In
the future it would be deseriable to allow OPENSSL_API_COMPAT to be
assigned a value and then used in expressions based on "==" or comparisions
such as ">=". For instance OPENSSL_API_COMPAT=0x010100 for 1.1.0 or
OPENSSL_API_COMPAT=0x010000 for 1.0.0 API's. And then you should be able to
write code like "ifdef OPENSSL_API_COMPAT >= 0x010100 then ... end"
On Wed, Dec 27, 2017 at 2:11 PM Matthias Wahl<EMAIL_ADDRESS>wrote:

The basic issue that emerged with OpenSSL 1.1.0 is that the current FFI is
not yet able to differentiate between libraries of different versions. As
there are some incompatibilities between OpenSSL 1.0.X and 1.1.X we need to
wrap the FFI calls in some conditional compilation statements and only use
the 1.1.X API if we know we have it available.
#2415 https://github.com/ponylang/ponyc/pull/2415 is fixing this
problem for openssl 1.0.0 and 1.1.0 while introducing the burden on the
application developer to define "OPENSSL_COMPAT_1_1_0" everytime when
compiling his program in order to use the correct openssl version. The goal
here should be to do the detection of the openssl version in the compiler,
not the Makefile of the compiler only, in order to have such a conditional
compilation but without the need to specify anything manually.
There are some possible other solutions to this problem:

Have a use "lib:LIBRARY_NAME" statement that makes the library
version available to the code where it is used, maybe as an ifdef variable
Improve the FFI to be able to read out #DEFINEs from C header files
and use them in pony code (in this case OPENSSL_VERSION_NUMBER)
create an ifdef variable that is exposing which openssl is available
(e.b. openssl_1_0_0 and openssl_1_1_0). Here it should be made so that pony
applications that do not use ssl or crypto packages do not need to link
against libssl or libcrypto just for having this ifdef variable.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ponylang/ponyc/issues/1838#issuecomment-354185182,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-hHJ_SCfQaAe4K78TWZa28zB1yQSxfks5tEsCOgaJpZM4M7_II
.


There is a plan to sign the assembly?

In order to use the library we had to remove the digital signature from our services, do you have plan to add the digital signature to the library?

Consider using auto-signing tool that signs all output dlls right after building.

@MonDeveloper Are you really sure you need to sign?  Please read https://www.pedrolamas.com/2016/03/01/still-strong-naming-your-assemblies-you-do-know-its-2016-right/

@igitur Thanks for the interesting link, I'm not 100% agree but there are many ideas to let the re-evaluation process starts.
Specifically, I disagree to use the "unsigned" methodology to solve the dependency issue while the new csproj structure teamed with the semver-based nuget are a perfect combo to obtain all the libraries dependency graph under control.
A Good point is that the strong name doesn't provide a bit of real security.

I will sign the assembly in the next release

Should be fixed in v<IP_ADDRESS>


WIP: Refresh customer OFAC searches

Issue: https://github.com/moov-io/paygate/issues/326

Codecov Report

Merging #327 into master will decrease coverage by 4.86%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #327      +/-   ##
==========================================
- Coverage   61.22%   56.36%   -4.87%
==========================================
  Files          48       49       +1
  Lines        5241     5287      +46
==========================================
- Hits         3209     2980     -229
- Misses       1430     1738     +308
+ Partials      602      569      -33

Impacted Files
Coverage Δ

cmd/server/main.go
18.67% <0%> (-0.95%)
:arrow_down:

internal/customers/test_client.go
22.22% <0%> (-6.35%)
:arrow_down:

internal/customers/refresh.go
0% <0%> (ø)

internal/customers/client.go
15.84% <0%> (-63.47%)
:arrow_down:

internal/accounts.go
10.66% <0%> (-69.34%)
:arrow_down:

internal/database/mysql.go
10.66% <0%> (-50.67%)
:arrow_down:

internal/filetransfer/sftp.go
30.27% <0%> (-42.17%)
:arrow_down:

internal/microDeposits.go
63.67% <0%> (-1.38%)
:arrow_down:

internal/filetransfer/config.go
70.98% <0%> (-0.42%)
:arrow_down:

... and 1 more

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 189ba79...b292745. Read the comment docs.


Silverlight Trace methods could output using Console.WriteLine or Debug.WriteLine

Silverlight doesn't currently support the concept of tracing, which leaves the Trace methods a little lacking, as you know. Perhaps Trace could in the Silverlight implementation could use Console.WriteLine or Debug.WriteLine or both so that we have some pseudo-tracing.

Originally reported on Google Code with ID 19
Reported by jeffmagic on 2009-03-12 13:32:45

Silverlight support has been sunset since 4e6fc40854f5e0837c7722960f409393c312a396


[SR-16054] False-positive stored property isolation warning

Previous ID
SR-16054

Radar
None

Original Reporter
tarbayev-n (JIRA User)

Type
Bug

Environment
Xcode 13.3 / Swift 5.6

Additional Detail from JIRA

Votes
0

Component/s

Labels
Bug, Concurrency

Assignee
None

Priority
Medium

md5: 2b1a759ad8817da82c5d325fcc354d4d

Issue Description:
Given the following code example:
@MainActor
func globalBar() -> Void {}

@MainActor
struct Bar {
    let bar: @MainActor () -> Void = {
        globalBar()
     // ^~~~~~~~~~~ warning: expression requiring global actor 'MainActor' cannot appear in default-value expression of property 'bar'; this is an error in Swift 6
    }
}

The produced warning has nothing to do with the initialization code, as globalBar is not called during Bar initialization.
Also assigning the function directly to the property does not produce any warning:
@MainActor
struct Bar {
    let bar: @MainActor () -> Void = globalBar // No warning
}

Note that the second example is essentially equivalent to the first one in terms of concurrency.

The example compiles warning-free under -strict-concurrency=complete in Swift 5.10.