Add Docker and Docker Compose recipe

Docker and Docker Compose provide a convenient way for developers to get started on a project. Compose can reduce a multi-page “developer getting started guide” to a single machine readable Compose file and a few commands.
More info: Docker Docker Compose
Files

Dockerfile: Contains the recipe to build the docker image (NodeJS, gulp, bower).
docker-compose.yml: Document and configure all of the application’s service dependencies (MongoDB and NodeJS).

Requirements

Docker and Docker Compose

Prerequisites

Modify the .env file

MONGOHQ_URL=mongodb://mongo:27017/freecodecamp

Usage
$ docker-compose up # Start containers
$ docker-compose stop # Stop containers
$ docker-compose build # Build/Rebuild containers

@nemesiscodex updated the pull request.

@nemesiscodex updated the pull request.

Is there any other change I need to do?

@nemesiscodex I'm not super familiar with Docker. Could you explain what the benefit of having this in our repo is?

I appreciate your enthusiasm for this tool and contribution, but I'm going to close this. Getting up and running with Docker is time consuming and error prone (on anything but Linux, which only a minority of contributors use) and if we start encouraging contributors to use Docker that adds another tool for our team to support. It also (on Mac atleast) takes 2GB of ram to run FCC in Docker vs 300MB without it, which isn't a practical resource burden for us to put on contributors.
However, I'd encourage you to make a wiki article on how to get FCC up and running with Docker (with examples of what these files should look like), since I'm sure there will be others who are curious about the process!

Getting up and running with Docker is time consuming and error prone (on anything but Linux, which only a minority of contributors use)

I disagree, and I wouldn't say linux contributors (or potential contributors) are a minority in the open source community (Linux user here), but I can see your point since my goal was to make it easy to contributors (whatever platform they use) and this won't be as easy as to put two files on a repo and expect people to use it.

However, I'd encourage you to make a wiki article on how to get FCC up and running with Docker (with examples of what these files should look like), since I'm sure there will be others who are curious about the process!

Sure, also here is a good article about docker A Beginner-Friendly Introduction to Containers, VMs and Docker


Totsugeki process is ended before GGST opens up

Totsugeki process is ended before GGST opens up
I see the Totsugeki cmd prompt opens up when I double click the .EXE file, but right before GGST opens up, it closes and I don't see it in my Task Manager's Processes or Details tabs.
I tried booting up the game, with and without Totsugeki, and I get around 2 minutes and 40 seconds of login time either way.
Does this issue happen when you don't use Totsugeki?
No.
Totsugeki Version and logs
Totsugeki v1.0.0 and GGST 1.07. Since the terminal is being closed I don't have access to any logs.
Version:
Steps to Reproduce

Double click Totsugeki.exe
After GGST opens up, check if the Totsugeki cmd prompt is open or not

EDIT:
As mentioned by @oryxcallotis, opening Totsugeki.exe as an admin made it stay open and reduced my login time from 2 minutes and 40 seconds to about 48 seconds.

Thanks @oryxcallotis, it worked now as you said. I wonder why it behaves like that on some machines then...

If you try running it from a command line it might show an error message before it closes that could help debug this.

Yeah, you don't need admin permissions ; what might be happening here is your firewall may not like it.

Happens with me, have to launch totsugeki as admin.

This should generally not be the case unless you're running Steam or GGST as admin.
I'll have to look into why the error messages don't pop up a window.

Happens with me, have to launch totsugeki as admin.

This should generally not be the case unless you're running Steam or GGST as admin.
I'll have to look into why the error messages don't pop up a window.

Yeah, I run it as an admin to be able to run some games that don't natively support controllers via the "Add non-steam games" feature.
I'll try to run it from cmd and adding it to the firewall.

I added the Firewall permissions to Totsugeki.exe, removed the "Run as admin" from the Compatibility window, and ran the file using the cmd but it got "access denied"

Then I ran cmd as admin and it worked.

Yeah, I run Steam as an admin to be able to run some games that don't natively support controllers via the "Add non-steam games" feature.

This is expected. If you run Steam or GGST as admin you will need to run Totsugeki as admin, otherwise you will get access denied. Non-admin programs cannot access admin level programs, so in your case you'll either have to check "Run as Admin" in the compatability screen, or run it in an administrator command promt.
I'll leave this issue open to track why error messages don't pop up a window.

Try out the new build here: https://github.com/optix2000/totsugeki/releases/tag/v1.1.1
Should properly throw an error when GGST is running as Administrator and Totsugeki is not.


python-libraries/nanover-ase/tests/openmm_ase/test_ase_runner.py::test_default fails

The python-libraries/nanover-ase/tests/openmm_ase/test_ase_runner.py::test_default test fails systematically, complaining it cannot open the default port because it is already in use.
Here is a failing job: https://github.com/IRL2/nanover-protocol/actions/runs/8377610877/job/22970507856
The relevant error happen in the setup and is:
E0322 08:52:01.397173664    6017 chttp2_server.cc:1060]                UNKNOWN:No address added out of total 1 resolved for '[::]:38801' {created_time:"2024-03-22T08:52:01.397072597+00:00", children:[UNKNOWN:Failed to add any wildcard listeners {created_time:"2024-03-22T08:52:01.397060414+00:00", children:[UNKNOWN:Unable to configure socket {created_time:"2024-03-22T08:52:01.396999481+00:00", fd:17, children:[UNKNOWN:Address already in use {syscall:"bind", os_error:"Address already in use", errno:98, created_time:"2024-03-22T08:52:01.396963303+00:00"}]}, UNKNOWN:Unable to configure socket {fd:17, created_time:"2024-03-22T08:52:01.397055394+00:00", children:[UNKNOWN:Address already in use {created_time:"2024-03-22T08:52:01.397046328+00:00", errno:98, os_error:"Address already in use", syscall:"bind"}]}]}]}

This would indicate that another test doesn't cleanup as it should and does not free the port, or not quickly enough.

@Ragzouken I temporary marked the test as xfail so we can keep going. We still need to fix it, though.


ignore jps JVM for runtime attach

When using runtime attach, especially the --continuous option, the JVM that is running the jps process is always listed, and makes agent output an error message with stack trace because this short-lived JVM is already terminated.
This PR makes JVMs running jps ignored when listing, which makes it behave slightly differently than the jps -lv command (which always includes itself). Also, it resolves path to jps binary using JAVA_HOME environment variable in case it's not available in PATH.

:broken_heart: Tests Failed

Expand to view the summary

Build stats

Build Cause: [Pull request #1205 updated]

Start Time: 2020-05-27T12:38:41.697+0000

Duration: 18 min 58 sec

Test stats :test_tube:

Test
Results

Failed
1

Passed
1043

Skipped
1

Total
1045

Test errors
Expand to view the tests failures

Name: Tests / Smoke Tests 02 / testQueueSendReceiveOnNonTracedThread[BrokerFacade=co.elastic.apm.agent.jms.ActiveMqFacade@abf688e] – co.elastic.apm.agent.jms.JmsInstrumentationIT

Age: 1
Duration: 0.188
Error Details:
Expecting actual not to be null

Steps errors
Expand to view the steps failures

Name: Shell Script

Description: ./scripts/jenkins/smoketests-02.sh

Duration: 6 min 44 sec

Start Time: 2020-05-27T12:50:38.791+0000

log

Log output
Expand to view the last 100 lines of log output

[2020-05-27T12:56:35.791Z] [INFO] Codecov: Getting branch ref...
[2020-05-27T12:56:35.828Z] Masking supported pattern matches of $GITHUB_TOKEN
[2020-05-27T12:56:36.127Z] [INFO] Codecov: Sending data...
[2020-05-27T12:56:36.254Z] + curl -sSLo codecov.sh https://codecov.io/bash
[2020-05-27T12:56:36.254Z] + bash codecov.sh
[2020-05-27T12:56:36.254Z]
[2020-05-27T12:56:36.254Z]   _____          _
[2020-05-27T12:56:36.254Z]  / ____|        | |
[2020-05-27T12:56:36.254Z] | |     ___   __| | ___  ___ _____   __
[2020-05-27T12:56:36.254Z] | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
[2020-05-27T12:56:36.254Z] | |___| (_) | (_| |  __/ (_| (_) \ V /
[2020-05-27T12:56:36.254Z]  \_____\___/ \__,_|\___|\___\___/ \_/
[2020-05-27T12:56:36.254Z]                               Bash-20200430-d757c17
[2020-05-27T12:56:36.254Z]
[2020-05-27T12:56:36.254Z]
[2020-05-27T12:56:36.511Z] + curl -sSLo codecov.sh https://codecov.io/bash
[2020-05-27T12:56:36.511Z] + bash codecov.sh
[2020-05-27T12:56:36.511Z]
[2020-05-27T12:56:36.511Z]   _____          _
[2020-05-27T12:56:36.511Z]  / ____|        | |
[2020-05-27T12:56:36.511Z] | |     ___   __| | ___  ___ _____   __
[2020-05-27T12:56:36.511Z] | |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
[2020-05-27T12:56:36.511Z] | |___| (_) | (_| |  __/ (_| (_) \ V /
[2020-05-27T12:56:36.511Z]  \_____\___/ \__,_|\___|\___\___/ \_/
[2020-05-27T12:56:36.511Z]                               Bash-20200430-d757c17
[2020-05-27T12:56:36.511Z]
[2020-05-27T12:56:36.511Z]
[2020-05-27T12:56:36.511Z] ==> Jenkins CI detected.
[2020-05-27T12:56:36.514Z] ==> Jenkins CI detected.
[2020-05-27T12:56:36.514Z]     project root: .
[2020-05-27T12:56:36.514Z] --> token set from env
[2020-05-27T12:56:36.514Z]     Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
[2020-05-27T12:56:36.514Z] ==> Running gcov in . (disable via -X gcov)
[2020-05-27T12:56:36.514Z] ==> Python coveragepy not found
[2020-05-27T12:56:36.515Z] ==> Searching for coverage reports in:
[2020-05-27T12:56:36.515Z]     + .
[2020-05-27T12:56:36.772Z]     project root: .
[2020-05-27T12:56:36.772Z] --> token set from env
[2020-05-27T12:56:36.772Z]     Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
[2020-05-27T12:56:36.772Z] ==> Running gcov in . (disable via -X gcov)
[2020-05-27T12:56:36.772Z] ==> Python coveragepy not found
[2020-05-27T12:56:36.772Z] ==> Searching for coverage reports in:
[2020-05-27T12:56:36.772Z]     + .
[2020-05-27T12:56:37.083Z]     -> Found 28 reports
[2020-05-27T12:56:37.083Z] ==> Detecting git/mercurial file structure
[2020-05-27T12:56:37.083Z] ==> Reading reports
[2020-05-27T12:56:37.083Z]     + ./apm-agent-core/target/site/jacoco/jacoco.xml bytes=1043762
[2020-05-27T12:56:37.083Z]     + ./apm-agent-plugins/apm-jmx-plugin/target/site/jacoco/jacoco.xml bytes=40668
[2020-05-27T12:56:37.083Z]     + ./apm-agent-plugins/apm-servlet-plugin/target/site/jacoco/jacoco.xml bytes=81263
[2020-05-27T12:56:37.083Z]     + ./apm-agent-plugins/apm-jdbc-plugin/target/site/jacoco/jacoco.xml bytes=92239
[2020-05-27T12:56:37.083Z]     + ./apm-agent-plugins/apm-api-plugin/target/site/jacoco/jacoco.xml bytes=83170
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-error-logging-plugin/target/site/jacoco/jacoco.xml bytes=10841
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-java-concurrent-plugin/target/site/jacoco/jacoco.xml bytes=9173
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-log-correlation-plugin/target/site/jacoco/jacoco.xml bytes=14069
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-asynchttpclient-plugin/target/site/jacoco/jacoco.xml bytes=17673
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-6_4/target/site/jacoco/jacoco.xml bytes=9248
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-es-restclient-plugin/apm-es-restclient-plugin-common/target/site/jacoco/jacoco.xml bytes=13247
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-log-shipper-plugin/target/site/jacoco/jacoco.xml bytes=35865
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-jaxrs-plugin/target/site/jacoco/jacoco.xml bytes=18877
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-grpc/apm-grpc-plugin/target/site/jacoco/jacoco.xml bytes=47457
[2020-05-27T12:56:37.084Z]     + ./apm-agent-plugins/apm-jaxws-plugin/target/site/jacoco/jacoco.xml bytes=4575
[2020-05-27T12:56:37.344Z] --> No coverage report found.
[2020-05-27T12:56:37.345Z]     Please visit http://docs.codecov.io/docs/supported-languages
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-spring-resttemplate-plugin/target/site/jacoco/jacoco.xml bytes=7713
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-mongoclient-plugin/target/site/jacoco/jacoco.xml bytes=12681
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-okhttp-plugin/target/site/jacoco/jacoco.xml bytes=36388
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-apache-httpclient-plugin/target/site/jacoco/jacoco.xml bytes=41392
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-redis-common/target/site/jacoco/jacoco.xml bytes=3102
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-jedis-plugin/target/site/jacoco/jacoco.xml bytes=7365
[2020-05-27T12:56:37.345Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-redisson-plugin/target/site/jacoco/jacoco.xml bytes=4672
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-redis-plugin/apm-lettuce-plugin/target/site/jacoco/jacoco.xml bytes=24314
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-httpclient-core/target/site/jacoco/jacoco.xml bytes=5071
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-profiling-plugin/target/site/jacoco/jacoco.xml bytes=333101
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-5_x/target/site/jacoco/jacoco.xml bytes=6020
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-hibernate-search-plugin/apm-hibernate-search-plugin-6_x/target/site/jacoco/jacoco.xml bytes=5918
[2020-05-27T12:56:37.346Z]     + ./apm-agent-plugins/apm-jms-plugin/target/site/jacoco/jacoco.xml bytes=44717
[2020-05-27T12:56:37.346Z] ==> Appending adjustments
[2020-05-27T12:56:37.346Z]     https://docs.codecov.io/docs/fixing-reports
[2020-05-27T12:56:37.483Z] Failed in branch Smoke Tests 01
[2020-05-27T12:56:37.914Z]     -> No adjustments found
[2020-05-27T12:56:37.914Z] ==> Gzipping contents
[2020-05-27T12:56:37.914Z] ==> Uploading reports
[2020-05-27T12:56:37.914Z]     url: https://codecov.io
[2020-05-27T12:56:37.914Z]     query: branch=SylvainJuge%2Fignore-jps-on-runtime-attach&commit=9eee0d42204c9d53da14e2cf9bf30114184a709f&build=2&build_url=https%3A%2F%2Fapm-ci.elastic.co%2Fjob%2Fapm-agent-java%2Fjob%2Fapm-agent-java-mbp%2Fjob%2FPR-1205%2F2%2F&name=&tag=&slug=elastic%2Fapm-agent-java&service=jenkins&flags=&pr=1205&job=
[2020-05-27T12:56:37.914Z]     -> Pinging Codecov
[2020-05-27T12:56:37.914Z] https://codecov.io/upload/v4?package=bash-20200430-d757c17&token=secret&branch=SylvainJuge%2Fignore-jps-on-runtime-attach&commit=9eee0d42204c9d53da14e2cf9bf30114184a709f&build=2&build_url=https%3A%2F%2Fapm-ci.elastic.co%2Fjob%2Fapm-agent-java%2Fjob%2Fapm-agent-java-mbp%2Fjob%2FPR-1205%2F2%2F&name=&tag=&slug=elastic%2Fapm-agent-java&service=jenkins&flags=&pr=1205&job=
[2020-05-27T12:56:38.482Z]     -> Uploading
[2020-05-27T12:56:38.482Z]     -> View reports at https://codecov.io/github/elastic/apm-agent-java/commit/9eee0d42204c9d53da14e2cf9bf30114184a709f
[2020-05-27T12:56:38.600Z] Failed in branch Unit Tests
[2020-05-27T12:56:38.688Z] Stage "Integration Tests" skipped due to earlier failure(s)
[2020-05-27T12:56:38.722Z] Stage "AfterRelease" skipped due to earlier failure(s)
[2020-05-27T12:56:38.739Z] Stage "AfterRelease" skipped due to earlier failure(s)
[2020-05-27T12:56:38.777Z] Stage "AfterRelease" skipped due to earlier failure(s)
[2020-05-27T12:56:39.452Z] Running on Jenkins in /var/lib/jenkins/workspace/_java_apm-agent-java-mbp_PR-1205@2
[2020-05-27T12:56:39.494Z] [INFO] getVaultSecret: Getting secrets
[2020-05-27T12:56:39.558Z] Masking supported pattern matches of $VAULT_ADDR or $VAULT_ROLE_ID or $VAULT_SECRET_ID
[2020-05-27T12:56:40.173Z] + chmod 755 generate-build-data.sh
[2020-05-27T12:56:40.173Z] + ./generate-build-data.sh https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1205/ https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1205/runs/2 FAILURE 1078214
[2020-05-27T12:56:40.724Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1205/runs/2/steps/?limit=10000 -o steps-info.json
[2020-05-27T12:56:41.275Z] INFO: curl https://apm-ci.elastic.co/blue/rest/organizations/jenkins/pipelines/apm-agent-java/apm-agent-java-mbp/PR-1205/runs/2/tests/?status=FAILED -o tests-errors.json

Codecov Report

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

@@             Coverage Diff              @@
##             master    #1205      +/-   ##
============================================
+ Coverage     59.36%   63.66%   +4.29%
- Complexity       86     2881    +2795
============================================
  Files           339      278      -61
  Lines         16149    14216    -1933
  Branches       2267     1963     -304
============================================
- Hits           9587     9050     -537
+ Misses         5919     4546    -1373
+ Partials        643      620      -23

Impacted Files
Coverage Δ
Complexity Δ

...a/co/elastic/apm/agent/report/ApmServerClient.java
83.48% <0.00%> (-5.58%)
30.00% <0.00%> (+30.00%)
:arrow_down:

...ic/apm/agent/profiler/collections/LongHashSet.java
17.06% <0.00%> (-2.39%)
12.00% <0.00%> (+12.00%)
:arrow_down:

...lastic/apm/agent/impl/ElasticApmTracerBuilder.java
73.56% <0.00%> (-2.20%)
17.00% <0.00%> (+17.00%)
:arrow_down:

...o/elastic/apm/agent/profiler/SamplingProfiler.java
72.08% <0.00%> (-0.77%)
48.00% <0.00%> (+48.00%)
:arrow_down:

.../elastic/apm/agent/grpc/helper/GrpcHelperImpl.java
0.00% <0.00%> (ø)
0.00% <0.00%> (ø%)

...stic/apm/agent/kafka/helper/ElasticHeaderImpl.java

...spring/webmvc/ExceptionHandlerInstrumentation.java

...apm/agent/process/ProcessStartInstrumentation.java

...tic/apm/agent/jsf/JsfLifecycleInstrumentation.java

.../opentracing/impl/ScopeManagerInstrumentation.java

... and 60 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 2d28d00...9eee0d4. Read the comment docs.


Fix body prose false positive

The replace() method does not replace all. Use replaceall() to resolve issue #134 .

Amazing investigative work! Will review tomorrow.


Display call index and thread on failing calls

Adds call index and thread id to the error message displayed when the returned value does not match the original one

CI gfxreconstruct build queued with queue ID 45491.

CI gfxreconstruct build # 3208 running.

CI gfxreconstruct build # 3208 passed.

CI gfxreconstruct build queued with queue ID 46074.

CI gfxreconstruct build # 3221 running.

LGTM, Thanks!


Update circe-core, circe-generic, ... to 0.14.4

Updates

io.circe:circe-core
io.circe:circe-generic
io.circe:circe-parser

from 0.14.1 to 0.14.4.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.circe" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "io.circe" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, version-scheme:early-semver, commit-count:1

Superseded by #438.


[Bug]

Describe the bug
It is possible to unlock renounced ownership (if it has been previously locked)
To Reproduce
Steps to reproduce the behavior:

lock ownership via the lock function
renounce ownership via the renounceOwnership function
unlock ownership via the unlock function
provided the "unlock" timer has expired, the ownership should be unlocked (returned) to the previous owner

Expected behavior
Once ownership is renounced is should not be possible to get it back

There is an easy fix ... simply add _renounced check , e.g.
abstract contract Ownable is Context {
    bool private _renounced;
    // ...
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
        _renounced = true;
    }
    // ...
    function unlock() public virtual {
        require(_previousOwner == msg.sender, "Only the previous owner can unlock onwership");
        require(_renounced == false, "Cannot unlock renounced ownership");
        require(block.timestamp > _lockTime , "The contract is still locked");
        emit OwnershipTransferred(_owner, _previousOwner);
        _owner = _previousOwner;
    }
}

Has this been merged?

Thanks for this @0f0crypto


Allow to select multiple remote nodes at runtime

Closes #93628.
Screencast_20241125_111648.webm
Features Implemented

Multi selection of multiple nodes, even if from different types. The properties shown in the inspector will be the ones shared by all the ones selected, like how MultiNodeEdit works.
Region selection for Node2D/Control nodes.
Additive selection: holding Shift will add/remove items to the selection group instead of overriding it.

Things Missing

Region selection of 3D nodes: I can't get the frustum math to work. Help wanted.

Sponsored By: 🐺 Lone Wolf Technology / 🍀 W4 Games.

I want some feedback on how to handle limiting selection of too many nodes, because that carries the risk of encoding of the data failing and no selection occurring.

What the default limit should be? 10-ish or so?
Should it be a hard limit, not allowing to select further nodes? Or a soft one, only printing a warning when the limit is exceeded?

Maybe hard limit with warning?
How many nodes can be selected before it breaks?

@KoBeWi Missed your message, sorry.
It depends on the data size of the objects. On my end for example, selecting more than 30 Button nodes starts to break things.

So limit it to 20-25, if someone tries to select more nodes pop a warning toaster. The limit can be configurable in editor settings. Personally I rarely select more than 5 nodes; most often it's to move them in the scene, which is not something you can do in Remote tree.

The selection limit has been implemented.


get the distance between two callbacks

hello , i need to get the distance between the old position and the new position so is this is integrated on this plugin or should i calculate it manually ?
thanks

Hi, you have to do it yourself.

hello thanks for your reply

do you have any idea how to calculate the distance because my function it not exact i have always 5% to 7% of error in the distance here is my code :
`function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
var R = 6371; // Radius of the earth in km
var dLat = deg2rad(lat2-lat1);  // deg2rad below
var dLon = deg2rad(lon2-lon1);
var a =
Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon/2) * Math.sin(dLon/2)
;
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; // Distance in km
return d
}
function deg2rad(deg) {
return deg * (Math.PI/180)
}`

Yes, you can do it on client side as @hatimox is suggesting.


Midje doesn't support Clojure-1.5

Because of record? which was introduced in Clojure-1.6.

Sorry for the delayed reply.
I've made an explicit decision to abandon old versions of clojure as new ones have arrived. What I found is that supporting old versions was a constant drag because I'd implement new things, run the compatibility tests, and discovered that I'd implemented something in a way that wouldn't work in old versions.
Do you have a specific need for Clojure 1.5? I hate to abandon people stuck with old versions of infrastructure. (I supported Clojure 1.2 for a ridiculously long time, until I realized I was adding work to myself for the benefit of no known users.)

No, I have no need to have support for 1.5, I just noticed continuing to test with it caused the travis build to fail so I raised a PR to remove support for it.  The name for the PR wasn't well chosen but the diff should make it clear I hope.

Ah. It happens I fixed this when I noticed exactly what you did. Thanks for the notice.


✨ add VersionTemplate support for HelmChartProxy

This PR introduces a new field called VersionTemplate in the HelmChartProxy CRD.

Background
Most apps that provide Helm Charts include a version compatibility matrix as part of their versioning policy. For example, see the Descheduler and KEDA documentation. Given this, it's important to offer a way to override or set the Helm Chart version by comparing values against cluster metadata (such as version, region, data center, etc.). This ensures that the desired Helm Chart version is installed based on specific requirements.
Motivation
As early adopters of this Helm provider, we've found that adjusting the Helm Chart version based on metadata can be difficult and often requires workarounds. This negatively impacts the overall developer experience when encountering such cases. Currently, there is no straightforward method for managing chart versions effectively.
Current Workarounds

Use #@ tags

In your HelmChartProxy.yaml file, put the following values on top of the file:
#@ load("@ytt:data", "data")
#@ version = data.values.k8s_version
#@ chart_version = ""
#@ if version.startswith("v1.26"):
#@   chart_version = "2.12.1"
#@ elif version.startswith("v1.23"):
#@   chart_version = "2.9.4"
#@ elif version.startswith("v1.20"):
#@   chart_version = "2.8.4"
#@ else:
#@   chart_version = "unsupported"
#@ end

Then pass version: #@ chart_version

Separate kustomization directories by versions

Example:
├── metrics-server-k8s-not-v1.16
│   ├── base
│   │   ├── helmchartproxy.yml
│   │   └── kustomization.yml
│   ├── kustomization.yml
│   └── overlays
│       ├── staging
│       │   ├── kustomization.yml
│       │   └── kustomization.yml
│       └── production
│           ├── kustomization.yml
│           └── patch-helmchartproxy.yml
├── metrics-server-k8s-v1.16
│   ├── base
│   │   ...
│   ├── kustomization.yml
│   └── overlays
│       ...

And then, you will need to set clusterSelector.matchExpressions to add:
- key: version
  operator: <OP>
  values:
   - v1.16

The <OP> should be set to In for metrics-server-k8s-v1.16 and NotIn for metrics-server-k8s-not-v1.16.
Current Limitation
If you manage a flat mono-repo structure for kustomization manifests and need to upgrade a Helm Chart, but some clusters must rely on an older version of the chart, you'll have to completely restructure your folders and kustomization setup to accommodate this. This would create additional complexity and effort in maintaining the repository and HelmChartProxies.
Proposal
This PR introduces a new field to HelmChartProxy CRD, and its called VersionTemplate:
// VersionTemplate is an inline Go template representing the version for the Helm chart. This template supports Go templating
// to reference fields from each selected workload Cluster and programatically create and set the version.
// If the Version is specified, VersionTemplate will take precedence.
// +optional
VersionTemplate string `json:"versionTemplate,omitempty"`

It's quite similar to ValuesTemplate. By leveraging Go templates, we can gain greater control over the current version field.

You don't need to deal with #@ tags
No need to re-structure of your repository
No breaking changes
Pretty basic implementation

Use Cases

Set the Helm Chart version based on specific conditions in your metadata values.
I have an API that manages the metadata labels for the Cluster CR, allowing full automation of which Helm Chart version should be installed on each Kubernetes version. This enables dynamically retrieving the desired version based on the given labels by the API.
Both version and values are core Helm flags that are typically set dynamically during the initial installation of an app, so they shouldn't be static fields. To get align with ValuesTemplate.

/kind feature
What this PR does / why we need it:
See above.
Which issue(s) this PR fixes
-
/cc @developer-guy @melikeiremguler

/ok-to-test

Thanks for the contribution! This is definitely an interesting idea. I'm wondering, however, if we can simplify this. If all we need is to map the compatibility matrix of K8s versions to Helm chart versions, it would be pretty complicated to have a ton of statements like {{ if eq .Cluster.metadata.labels.version "1.26" }}v2{{ else }}v1{{ end }}. Instead, I think we might be better off creating a map, and looking up the K8s version of the cluster from the field .ControlPlane.spec.version, something like this:
spec:
  versionMap:
    v1.27: v0.27
    v1.26: v0.26
    v1.25: v0.25

Do you have any use case where we would need to look up any field other than the K8s version to determine which Helm chart version to install?

@mboersma @jackfrancis Any thoughts?

Thanks @Jont828 for the versionMap idea! Some questions:

Wouldn't we be dependent only on the 'version' if we applied this method? What if I want to make it more dynamic based on zone info, custom label, environment, etc?
How would you handle version ranges with this method? For example, less than 1.26 but greater than or equal to 1.23?

My thinking was that if our goal is to only support the compatibility matrix like the one linked for Descheduler, we might want to a design a scoped solution around that use-case. For ranges, my thinking was that we could try to leverage the semver package, which supports Compare(). We could then take the K8s version and compare it to the values in a map like this by iterating through the chart versions and seeing if the K8s version either is a direct match or falls in the inclusive range.
versionMap:
- v0.10: v1.17+
- v0.9: v1.9-v1.16
- v0.4: v1.8
- v0.3: v1.7

This is, however, just some brainstorming and the idea would need to be fleshed out if we wanted to implement something similar.

I think if we need information other than just the K8s value, however, we should use a more generic approach like yours. Is it possible to use semver the valuesTemplate field you propose to handle ranges? I think it would be nice to leverage that package to handle the version validation and comparison.

Sure thing. I'm thinking that because of how Go templates work, it can get pretty long to try to encode the version selection logic. Also, since there aren't that many functions available, we would be limited on what we can express. For example, in your use case here, we only have the function eq to compare the versions and would be unable to use the startswith (unless there's a way I don't know about).
#@ load("@ytt:data", "data")
#@ version = data.values.k8s_version
#@ chart_version = ""
#@ if version.startswith("v1.26"):
#@   chart_version = "2.12.1"
#@ elif version.startswith("v1.23"):
#@   chart_version = "2.9.4"
#@ elif version.startswith("v1.20"):
#@   chart_version = "2.8.4"
#@ else:
#@   chart_version = "unsupported"
#@ end

Also, it's not very easy to handle version ranges. It would be nice to be able to do something like this, but that would require us defining new functions since the basic geq wouldn't work on semver.
{{ if versionGeq .ControlPlane.spec.version "1.30" }}
v2.5
{{ else if versionGe .ControlPlane.spec.version "1.30" and versionLeq .ControlPlane.spec.version "1.26"}}
v2
{{ else }}
v1
{{ end }}

@Dentrax Are you still interested in working on this? If so, I'm happy to chat more about potential solutions, and if not I could try to take over the PR or issue for you.

Hello. A mechanism like that would help us a lot as well as we have hit similar limitations with various gitOps approaches.
In our use-case up-to-now we only care about the k8s version(not region,dc,...) to determine the chart version to use.
So the versionMap approach suggested above would work for us.
Would really like to see this landing on caaph.


Drag&drop of files from the file explorer into VS Code is broken

Did you update to the new Insiders today? That fixed DND for VSIXes which I reported on Friday.

https://github.com/microsoft/vscode/issues/230536


Insecure Storage: Lacking Data Protection

On line 385 of MultipartFormData.swift, the method writeEncodedData:to:() writes data to a file lacking sufficient encryption settings.The identified method writes data to a file lacking sufficient encryption settings.

Data protection is enabled by the app.
In the future, please research these issues and, if they're legitimate (this one is not), report it to<EMAIL_ADDRESS>


Update audit-premium-setup.md

Made changes to step referenced
fixes#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/11103

@JohanFreelancer9 Please copy review

Closing - asked MS contact to follow the requested process to open an internal ADO request for content updates.


support std::pmr in MacOS

https://github.com/luk036/ckpttn-cpp/blob/9b51b55bdb683bd1fe2dfb61638bda733a738b62/include/ckpttn/bpqueue.hpp#L32-L32

Replaced std::pmr with boost::container::pmr.


Cherry-pick changes from llvm.org for LLDBStandalone.cmake

I want these changes for the following reasons:

They help reduce the diff between llvm.org and swift.org (and thus reduce merge conflicts for upstream-with-swift).
They allow you to run the swift-lldb test suite on Windows
They allow you to build lldb-server for android from swift-lldb

One of these commits relies on https://github.com/apple/swift-llvm/pull/150, which has been merged for a few days. I think this is probably safe at this point.
If I understand correctly, merging this into swift-5.1-branch means it will get automerged into stable. Seems like the right thing to do to prevent merge conflicts between swift-5.1-branch and stable.

cc @adrian-prantl @JDevlieghere @dcci @weliveindetail

cc @compnerd

@xiaobai One of the commits claims that standalone builds are broken, but that's how we build swift-lldb all the time (build-script uses separate cmake builds for clang, swift and swift-lldb) . Care to explain a little more?

@fredriss Sure! The context around that claim is that building and testing lldb standalone against an install tree of LLVM/Clang didn't have the correct values of LLVM_MAIN_INCLUDE_DIR, LLVM_LIBRARY_DIR, and LLVM_BINARY_DIR. They were using LLVM_BUILD_* values, which are only set if you build against an LLVM/Clang build tree. My understanding is that when swift-lldb is built using build-script, swift-lldb is built against an llvm/clang build tree instead of an install tree. I think that saying standalone builds are broken lacks nuance, but I didn't author that commit and I didn't want to needlessly modify it.

Makes sense. If this passes PR testing, I'm fine with it.

@swift-ci test and merge


The option add_missing_builtin of the class  LanguageDefinition doesn't add PYTHON3

Background

This option adds the default definition for languages which are not implemented by the flavor.
The bug is caused by the following list, which simply misses PYTHON3

https://github.com/exasol/script-languages-container-tool/blob/8aa7493f9b8a17a293790d638148a4a62887c249/exasol_script_languages_container_tool/lib/tasks/upload/language_definition.py#L37
Acceptance Criteria

The class LanguageDefinition adds PYTHON3 if add_missing_builtin is true

blocked by https://github.com/exasol/script-languages-container-tool/issues/175


Provide clarity on how attributes are set upon creation

These docs are not clear that attributes are set based on the config values at the time of EmailList creation. This caused me a lot of trouble, so I'm hoping this docs change provides clarity for others.
To me, it would be more intuitive for the app to use the config values on the EmailList and leave the attributes set to null. I would only set this value if the user chose to override the default. By setting these values on the creation of every EmailList, that means if have a large number of lists and want to change my mailer for all of them, I have to change the attribute on each list instead of just changing my config value.

Thanks, we'll improve on this in the next major version of the package.


I added the .env and corrected a little grammatical error

I added <require('dotenv').config() // to use the .env file> on index.js so as to use MongoDB from my localhost. I also main one grammatical error correction.


leptosfmt generates incorrect HTML

For example,

(Note the y"> before Loading)
To repro, run leptosfmt in https://github.com/juspay/nix-browser/blob/07f1b187fea776f0ea9a22224aab5f5d5960c280/src/app.rs

most likely caused by: https://github.com/dtolnay/proc-macro2/issues/410


Functions to encode/decode secret

Hello @AlexXanderGrib
I came across your project and I have to say that it deserves far more love and consideration. Most of otp projects are unmaintained or bad designed, when yours is fast, efficient and clean. I'll start to use it soon in a production app.
If I open this post, apart from congratulating you, is that I would like to see functions to encode/decode the secret generated from generateKey.
Currently the process is pretty simple, we generate a key with generateKey, create the totp URL with getKeyUri (and in this process I believe that you convert the Uint8Array bytes from generateKey to the string secret we can see in the built URL).
For now I JSON.stringify the result of generateKey to get a storable secret to keep it linked to the user, and then I reconstruct the Uint8Array from an iterable function when I need it, it works pretty well but I find it ugly. I'd like to be able to go from the bytes generated by generateKey to the string secret in the totp URL and back to the Uint8Array.
It would be cleaner I think to store the secret as it is in the URL and then be able to challenge the code given by the user from this string secret.
Again congratulations for this project, I wish you the best !
Regards,

Hello, there is exported functions just for making key transferable:
function importKey(base32text: string): SecretKey
function exportKey(key: SecretKey): string

Hope this helps

Thank you, I didn't know of these functions! It surely helps.


URL issue

I see there has been an issue with a broken URL for the past week - unfortunately this lined up with the only week I was on leave... Will fix later today

Fixed with latest commit - was a slight change in online deaths url


New Controls TeamPicker / TeamChannel Picker, Update TSC to 3.7 and FluentUI to 7.165

Q
A

| New sample?      | [ X]
What's in this Pull Request?

Updated TSC to 3.7
Updated FluentUI to 7.165
Update FluentUI react-northstar to 0.53
New Controls SelectTeamPicker, SelectTeamChannelPicker

Close this PR, this will be applied on the next version of Controls

Close this PR, this will be applied on the next version of Controls


Refactor unit conversion for measurements

Look into refactoring the switch statement that includes all the math to a simplified form. Easy to do, just need to do it.

Implemented in last release but forgot to close issue.


run tests, linter, and formatter in TravisCI

run tests, linter, and formatter in TravisCI

fixed in https://github.com/visjs-community/visjs-network/pull/18


New topic for dashboard overview

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the maintainers.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Preview environment: https://ci.pr.harness.io/pr-556

Preview environment: https://ci.pr.harness.io/pr-556

Preview environment: https://ci.pr.harness.io/pr-556


Pass serializer context to virtual model

Hello!
Sometimes, I need to make more complex queries that involve values that are not available in the current object of virtual model and I could pass them using serializer context. But, I can not do this in the current version because the only value that goes from the serializer to the virtual model is the request user.

Thanks for the attention!

Hi @jackson541 , thanks for the input. For now, you can override this method to provide additional parameters at line 77. I suggest you to make your own base class and use it instead of the default VirtualModelSerializerMixin or VirtualModelSerializer. For now, that's the fastest solution. But if you can open a PR to include the serializer context at line 77, I'm happy to merge it. Please include tests.


Supporting delete api for different storage options

This PR adds support to delete Pinot segments in different storage systems using the delete api.
We use PinotFS methods in order to do so.

Codecov Report

Merging #3370 into master will increase coverage by <.01%.
The diff coverage is 60.97%.

@@             Coverage Diff              @@
##             master    #3370      +/-   ##
============================================
+ Coverage     70.66%   70.66%   +<.01%
  Complexity        4        4
============================================
  Files           986      986
  Lines         45444    45459      +15
  Branches       6098     6099       +1
============================================
+ Hits          32112    32123      +11
- Misses        11204    11212       +8
+ Partials       2128     2124       -4

Impacted Files
Coverage Δ
Complexity Δ

.../com/linkedin/pinot/controller/ControllerConf.java
40.93% <44.44%> (+0.22%)
0 <0> (ø)
:arrow_down:

.../controller/helix/core/SegmentDeletionManager.java
77.86% <65.51%> (+1.14%)
0 <0> (ø)
:arrow_down:

...ntroller/helix/core/PinotHelixResourceManager.java
59.76% <66.66%> (ø)
0 <0> (ø)
:arrow_down:

...egation/function/customobject/MinMaxRangePair.java
75.86% <0%> (-24.14%)
0% <0%> (ø)

...lix/EmptyBrokerOnlineOfflineStateModelFactory.java
86.66% <0%> (-13.34%)
0% <0%> (ø)

.../impl/dictionary/LongOffHeapMutableDictionary.java
81.81% <0%> (-5.46%)
0% <0%> (ø)

...impl/dictionary/FloatOffHeapMutableDictionary.java
87.27% <0%> (-5.46%)
0% <0%> (ø)

...nsport/netty/PooledNettyClientResourceManager.java
85.41% <0%> (-4.17%)
0% <0%> (ø)

...om/linkedin/pinot/transport/netty/NettyServer.java
80% <0%> (-4%)
0% <0%> (ø)

.../impl/dictionary/FloatOnHeapMutableDictionary.java
91.11% <0%> (-2.23%)
0% <0%> (ø)

... and 14 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 b498aed...b33de0d. Read the comment docs.


Deprecate the logoUrl field of the DeviceTypeJson.DeviceType type

Resolves: #1188
Change-type: patch
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>
Resolves: #
HQ:
See:
Depends-on:
Change-type: major|minor|patch

Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

@balena-ci I self-certify!


consider ASSUME_ALWAYS_YES environment variable

pkg considers the ASSUME_ALWAYS_YES and the DEFAULT_ALWAYS_YES environment variables.
For automation (e.g. cronjobs) it would be great if synth also considered these.
e.g. when initiating a cronjob which builds some ports or which logs a synth status, the output wouldn't halt on some y/n question (e.g. regenerate flavor index) and we could avoid the cpu overhead of yes | synth status
yes on wikipedia:

Yes can be used as an easy way of generating CPU load, for example in 2006, the yes command received publicity for being a means to test whether or not a user's MacBook is affected by the "Intermittent Shutdown Syndrome" bug, where a MacBook would randomly shut off without any user input. By running the yes command indefinitely twice via Terminal under Mac OS X, users were able to max out their computer's CPU, and thus see if the failure was heat related.[1][2]

Interactive ports were removed years ago (the only ones to ask questions).
Are you sure someone brought one back?
Plus you can always add it yourself with a environment profile. Finally
"always yes" is a bad idea. Ports having interaction is a last resort so
the question really should be answered thoughtfully.
Example of this interactive port is? Link please.
On Thu, Feb 6, 2020, 02:39 basbebe<EMAIL_ADDRESS>wrote:

pkg considers the ASSUME_ALWAYS_YES and the DEFAULT_ALWAYS_YES
environment variables.
For automation (e.g. cronjobs) it would be great if synth also considered
these.
e.g. when initiating a cronjob which builds some ports or which logs a
synth status, the output wouldn't halt on some y/n question (e.g.
regenerate flavor index) and we could avoid the cpu overhead of yes |
synth status
yes on wikipedia https://en.wikipedia.org/wiki/Yes_(Unix):
Yes can be used as an easy way of generating CPU load, for example in
2006, the yes command received publicity for being a means to test whether
or not a user's MacBook is affected by the "Intermittent Shutdown Syndrome"
bug, where a MacBook would randomly shut off without any user input. By
running the yes command indefinitely twice via Terminal under Mac OS X,
users were able to max out their computer's CPU, and thus see if the
failure was heat related.[1][2]
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jrmarino/synth/issues/171?email_source=notifications&email_token=AAISZ5WTWJKPNN3WAJCBSODRBPECNA5CNFSM4KQYWIIKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ILOALVQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAISZ5TYEKX2VAHIBVNMLELRBPECNANCNFSM4KQYWIIA
.

I wasn't thinking of interactive ports but of synth's own prompts.
But I think I made a mistake here: I assume that synth uses the TERM=dumb environment variable and then doesn't prompt?

If I remember correctly, that's right.  If the TERM isn't set, then it
won't prompt at all so that it can be used by cron.
On Thu, Feb 6, 2020 at 7:50 AM basbebe<EMAIL_ADDRESS>wrote:

I wasn't thinking of interactive ports but of synth's own prompts.
But I think I made a mistake here: I assume that synth uses the TERM=dumb
environment variable and then doesn't prompt?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jrmarino/synth/issues/171?email_source=notifications&email_token=AAISZ5WOO4OMSFDCUPKK7ZTRBQIRXA5CNFSM4KQYWIIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK7I72Q#issuecomment-582914026,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAISZ5RNDTOKVF3MGUMDZHLRBQIRXANCNFSM4KQYWIIA
.


protected void logSupportedParameters() {

package io.dropwizard.jetty;
We print out Supported protocols & Supported cipher suites but not the ones at INFO level that have been configured. I found this a little misleading.
Would be nice to also log the actual ones configured.

THANK YOU.
I found that so confusing when I was working on which ciphers my instance
was actually using a while back.
On Sat, Dec 27, 2014 at 8:22 AM, Jochen Schalanda<EMAIL_ADDRESS>wrote:

Makes sense. Thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/dropwizard/dropwizard/issues/807#issuecomment-68178409
.


[RELEASE 2.4.2] merge release 2.4.2 to master

Codecov Report

Merging #2807 (1303800) into master (c7a76ea) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #2807   +/-   ##
=========================================
  Coverage     60.27%   60.27%
+ Complexity     4474     4470    -4
=========================================
  Files           692      692
  Lines         19956    19956
  Branches       1783     1783
=========================================
  Hits          12029    12029
  Misses         6911     6911
  Partials       1016     1016

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 c7a76ea...1303800. Read the comment docs.


square connect API is no longer supported, upgrade to square-php-sdk is needed

Hello,
The current square integration is running on square connect API which has stopped working, so upgrade to the php-sdk is needed to be able to use square.
I have used the square-php-sdk directly for now in a project as the one used by omipay is not working.
Currently used square connect repo: https://github.com/square/connect-php-sdk
Latest square repo: https://github.com/square/square-php-sdk

@fhdalikhan I'd recommend using  blasttech/omnipay-square instead, which does use the Connect API
The transportersio/omnipay-square repository seems abandoned to me

Any ides on how to generate a Nonce value to send when using the $gateway->purchase() method?


⚠ GitLab Server has degraded performance

In d4f6edc, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 9528 ms

Resolved: GitLab Server performance has improved in 59608f2.


v2.138 roboto-hinted.zip not fully hinted, missing Condensed-Medium

The roboto-hinted.zip release for version 2.138 seems to be incomplete on two counts:

It is missing the Condensed Medium and Condensed Medium Italic styles that are present in roboto-unhinted.zip.
Only ~30% of the glyphs in each style contain any instructions.

@codeman38 The Condensed Medium and Condensed Medium Italic do not have any VTT sources, https://github.com/google/roboto/tree/master/src/hinted.

The first point is as intended since those styles aren't hinted. The zip
could be updated with info about this in the readme, though.
The second, is that a regression from the previous release?
On Aug 3, 2017 11:33 AM, "Cody Boisclair"<EMAIL_ADDRESS>wrote:
The roboto-hinted.zip release for version 2.138 seems to be incomplete on
two counts:

It is missing the Condensed Medium and Condensed Medium Italic styles
that are present in roboto-unhinted.zip.
Only ~30% of the glyphs in each style contain any instructions.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/roboto/issues/261, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y0uxXH5QdSFDg1e3S9IhPsaMqMbdks5sUegVgaJpZM4OsnTM
.
On Aug 3, 2017 11:33 AM, "Cody Boisclair"<EMAIL_ADDRESS>wrote:
The roboto-hinted.zip release for version 2.138 seems to be incomplete on
two counts:

It is missing the Condensed Medium and Condensed Medium Italic styles
that are present in roboto-unhinted.zip.
Only ~30% of the glyphs in each style contain any instructions.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/roboto/issues/261, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y0uxXH5QdSFDg1e3S9IhPsaMqMbdks5sUegVgaJpZM4OsnTM
.
On Aug 3, 2017 11:33 AM, "Cody Boisclair"<EMAIL_ADDRESS>wrote:
The roboto-hinted.zip release for version 2.138 seems to be incomplete on
two counts:

It is missing the Condensed Medium and Condensed Medium Italic styles
that are present in roboto-unhinted.zip.
Only ~30% of the glyphs in each style contain any instructions.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/roboto/issues/261, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y0uxXH5QdSFDg1e3S9IhPsaMqMbdks5sUegVgaJpZM4OsnTM
.
On Aug 3, 2017 11:33 AM, "Cody Boisclair"<EMAIL_ADDRESS>wrote:
The roboto-hinted.zip release for version 2.138 seems to be incomplete on
two counts:

It is missing the Condensed Medium and Condensed Medium Italic styles
that are present in roboto-unhinted.zip.
Only ~30% of the glyphs in each style contain any instructions.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/roboto/issues/261, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAP9y0uxXH5QdSFDg1e3S9IhPsaMqMbdks5sUegVgaJpZM4OsnTM
.

@davelab6 I think both his queries relate to  the v2.138 roboto-hinted.zip.

I'm assuming roboto-hinted.zip for each of your releases comes from, https://github.com/google/roboto/blob/master/Makefile#L45-L57?

Actually, from https://github.com/google/roboto/blob/master/Makefile#L59-L72.
The "android from hinted" target probably should be removed as it
actually stripped hints from the hinted sources to create binaries
from android (now the regular android target should work just as
well).

@jamesgk thanks for the rapid response.
I'm not entirely sure the previous roboto-hinted.zip archives have come from the lines you've quoted in the makeFile. When you run make web, the web fonts are subsetted (1,284 glyphs) whilst the files in the previous hinted zips are not (3,387 glyphs). Perhaps it was run with https://github.com/google/roboto/blob/master/Makefile#L70 commented out?
Apologies, I'm not trying to point fingers. I just need to make sure this gets updated correctly.
In any case we should remove the roboto-hinted.zip archive from the v2.138 release now.
cc @davelab6

remove the roboto-hinted.zip archive from the v2.138 release now.

done

I'm not entirely sure the previous roboto-hinted.zip archives have come from
the lines you've quoted in the makeFile. When you run make web, the web
fonts are subsetted (1,284 glyphs) whilst the files in the previous hinted
zips are not (3,387 glyphs). Perhaps it was run with
https://github.com/google/roboto/blob/master/Makefile#L70 commented out?

I think you're right! Maybe separate "hinted" and "web" targets should
be made, like we have with the "crunch" and "android" targets. Though
most other touchup steps would be generally important for the hinted
output I think.

Thank you for your help James! I hope all is well with your new venture as well!
I'll add a hinted option to the Makefile, if dropping the subsetting script works.

If you add a new option to the Makefile:
hinted:
	mkdir -p out/hinted
	for source in src/hinted/*.ttf; do \
		basename=$$(basename $$source); \
		case $$source in \
			src/hinted/Roboto-*) unhinted=out/RobotoTTF/$$basename ;; \
			*) unhinted=out/RobotoCondensedTTF/$$basename ;; \
		esac; \
		touched=$$(mktemp); \
		final=out/hinted/$$(basename $$source); \
		python scripts/touchup_for_web.py $$source $$unhinted $$final Roboto && \
		rm $$touched; \
	done

It will create a new dir ./out/hinted which contains a new set of fonts which have web fixes applied and no subsetting. If you archive these files, the zip is approx 5.2mb which is more inline with the v2.136 release. I'm not 100% sure this is the final solution so I will spend some time finding it tomorrow.
Thanks again @codeman38
@davelab6 I'll dedicate some time to this tomorrow.

After adding my snippet to the Makefile, it will now generate the hinted ttfs. I'll get this added as a pr after a few more checks and a small tidy up.

The only major difference is the removal of duplicate glyphs in GDEF > MarkGlyphSetsDef which was introduced in https://github.com/google/roboto/pull/254/commits/e2c5a2f14fcdf5f9464ee59d0dddad683ea057a1

I don't know where the hinting stands on Roboto, but I can tell you the webfont version that Google is now using across the Gmail main page has little or no hinting.  I mean, look at this:

The 'i' has a line segment one pixel wide, but a splotch of a dot 3 pixels wide.  The 'u' has different widths for its left and right vertical segments.  The spaces between letters vary from 1 to 4 pixels.
It looks horrible on standard-DPI laptop screens.  What's going on?

@balazer which OS and Browser are you using?

Hi, @m4rc1e .  I'm in Windows 7 and I have font smoothing disabled.  I've tried Chrome and Firefox with very similar results.
The above image was in Firefox with display scaling at 149%.  It's from Gmail's inbox, which has letter-spacing of 0.2px, so the irregular gaps between the letters are bigger compared to the default letter-spacing.
Here's a screenshot of https://fonts.google.com/specimen/Roboto in Chrome 69 in Windows 7, with display scaling at 125% (the default) and font smoothing disabled, so this should be easily reproducible:

The fifth sample line of "Communications" is the regular style, and lines up pretty well with my Gmail/Firefox sample above, differences in letter-spacing aside.
You get different artifacts in the rendering depending on the font size.  At 17px I got the 'u' and 'i' to look that way with the unbalanced vertical segments and the irregularly shaped dot.  At other sizes, you can get artifacts in other characters.  Arial seems to have none of these problems under the same conditions.

2.138 incompletely hinted release was removed on August 2017.
It is the end of April 2019 now and some of us are still waiting.


Adding Portworx to upstream community operator list

Signed-off-by: Piyush Nimbalkar<EMAIL_ADDRESS>

/lgtm


How to calculate the average speed of the drone?

Hey all,
I would like to know how I can calculate the average speed of the drone.
I do use the ARCOMMANDS_Decoder_SetARDrone3PilotingStateSpeedChangedCallback method to get to know the x-as speed. But with that callback method you do get the speed at that moment.
My problem is that I would like to know the average speed after 2-3 seconds of flying. How can I calculate that?
At first I tried to counte all received speed and i diveded the total speed by x (times there has been a speed added to the total sum). But this isn't correct.
Thnx in advance!

Hi,
Although my reply is not what you really want, it goes:
Maybe you could get a resultant speed from the 3-axis using an operation like below:
final_speedy = sqrt(speedy_x^2 + speedy_y^2 + speedy_z^2);
Create a MovingAverage class that (you can find it on google) and feed it with the final_speedy value every time it updates. MovingAverage window of 2~3 seconds can be worked out inside this class, where if no new final_speedy is fed for a few milliseconds, you just add zero to it..
Regards,
sirvo


Allow setting user-agent

At the moment it seems like user-agent is being set in handshake(). It would be really useful if a user of the library could set its own user-agent string.
Two ideas I have:

Either creating new parameter to the connect function, or
Allowing extra_headers to override the default user-agent header

I think I can provide PR for either of these. Will you be open to any of these ideas?
Thanks!

Yes, you can make this line execute only if User-Agent isn't set after processing extra_headers (which happens just above).

Awesome! I'll provide a PR

Could you confirm the use case? Hiding information about the server software to increase security?
I'm just curious if there's another reason I missed when I hardcoded the user agent.

I use websockets to develop an alternative client for an internal API at work. Having the ability to set the user-agent lets my client identify itself property.
Note I'm concerned about the user-agent of the client, not the server (I don't think the server uses connect(), right?)

Ah, right, we're talking about the client side here.
If you could make the same change for the server side while you're there — search for set_header('Server', USER_AGENT) in websockets/server.py — that would be perfect.

This will be configurable with an environment variable in version 13.0: https://github.com/python-websockets/websockets/commit/bbb316155a5aeb719f262873a5b29a98c19b25d9.
Please be aware that, if you are currently monkey-patching USER_AGENT, that will break in version 13.0. You will have to set the WEBSOCKETS_SERVER or WEBSOCKETS_USER_AGENT environment variable instead.


Add FileNameField option to file input

Description of Changes
Adds file_name_field argument to the file input plugin. This sets a field to just the basename of the path, which is more useful in some cases like tags than the full path, which would otherwise have to be parsed with regex.
It appears that path_field was removed at some point, so this also adds that back in.
Please check that the PR fulfills these requirements

[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)
[x] Add a changelog entry (for non-trivial bug fixes / features)
[ ] CI passes

Log Files
Logs / Second
CPU Average (%)
Memory Average (MB)

1
1000
2.4828446
26.668373

1
5000
5.9312196
34.175377

1
10000
9.172614
42.64709

1
50000
35.466393
127.87069

1
100000
62.637474
243.82974

10
100
4.0173626
25.771687

10
500
6.7242827
33.283405

10
1000
11.103695
42.78879

10
5000
42.380024
91.50404

10
10000
70.94912
193.44046


Remove RN peer dependency

React Native is not needed since this lib also works for React JS (Web), so it shouldn't be listed as a peer dependency.

I know that it shows annoying npm warnings but it's there intentionally. I would either remove both react-dom and react-native from peer deps or keep both of them. The issue is that npm does not support OR relations of deps for use cases like this.

Basically, the react-native folks get the same annoying behavior the other way around. (They get warnings about missing react-dom).

I think we can remove both then, people need one or the other anyway to have their code work...

I am getting back to this, sorry for the long pause

I removed react-dom and react-native from the peer dependencies in v6.1.3, it makes more sense this way. Thanks for the issue.


Create new "terraform-ibm-ease" module

Description
Create new "terraform-ibm-ease" module
New  module
new "terraform-ibm-ease" module

By submitting this issue, you agree to follow our Code of Conduct

We added our code to the dev branch: https://github.com/terraform-ibm-modules/terraform-ibm-enterprise-app-java/pull/15
And the DA team continued the required work in the draft_da branch using our initial code changes: https://github.com/terraform-ibm-modules/terraform-ibm-enterprise-app-java/pull/17


chore(2578): add type annotation to fastapi BaseContext.__init__

Description

Types of Changes

[ ] Core
[x] Bugfix (in a wider sense - just fixing a mypy issue)
[ ] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR
closes #2578
Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Thanks for contributing to Strawberry! 🎉 You've been invited to join
the Strawberry GraphQL organisation 😊
You can also request a free sticker by filling this form: https://forms.gle/dmnfQUPoY5gZbVT67
And don't forget to join our discord server: https://strawberry.rocks/discord 🔥


fix: vulneratilities, eslint 'fetch' error

Motivation

https://github.com/aerogear/mobile-client-service/network/dependencies
Eslint error: [eslint] 'fetch' is not defined. (no-undef)

Pull Request Test Coverage Report for Build 499

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 74.678%

Totals

Change from base Build 493:
0.0%

Covered Lines:
348

Relevant Lines:
466

💛  - Coveralls

Is it possible the build_ui check failed because of node version you used to change the package-lock? In circle-ci node 8 is used.

@jhellar I also tried with v8.11.4, npm run build still failing.

@jhellar fixed with npm audit fix (in node v10).
Tested with node v8 & v10


When interacting with a child component's html, should it be treated in the whole rendered context?

I noticed something.
When I have a form and a component containing a submit button....

When I render the outer component, find the html button and click, the submit is fired.
When I render the outer component, locate the inner component and fire the button, click, the click is only bubbled within it's own rendered html of the sub-component, hence no submit is ever triggered.

Is this by design? Or is it easy to implement, or consider for V2

Thanks for the issue. I will have a look into it.

I am not sure the conclusion is exactly correct. The problem should not be related to the code you quote from TestRenderer, the initial call to RenderComponent will make sure the entire component tree is rendered at that point.
However, when we issue a FindComponent we are creating a new RenderedComponent<InnerSubmitForm>, whose Markup property will be empty and thus regenerated from the point of view of the InnerSubmitForm, which does not include the part of the parent's components HTML, cut.Markup. So the component tree is intact, but the markup is separate.
There is no straightforward fix for this.

The efforts around creating an AngleSharpRenderer would be one approach to solving it.
A custom tree-based string structure used to represent cut.Markup could also be a possibility, where each leaf in the tree represents the markup produced by a component. That would enable us similarly track which part of the AngleSharp DOM tree belongs to which component and keep one source of truth and a single share DOM/Markup for the entire component tree.

Either way its not an easy thing to do, and probably not something that we can jump into immidiately.

I understand, it is just a strange thing a colleague of mine ran into and he struggled with it for a while. Then I started to help, look at the code and it made sense, but from his test code it was not immediately obvious what was happening as one button click would work, and the other button would not. (The latter being a submit button)

@JelleHissink, no it's an unfortunate and annoying limitation we currently have.

This is another issue that would be solved by #48.


Update SDK form

Signed-off-by: Miranda Carter<EMAIL_ADDRESS>

@jpadams are you able to push this to production?


Feature: bob sync (and sync_version_file_path config)

#80
Using bob sync will try to read a version stored at the configured sync_version_file_path. This is useful when using version control to track local configurations, where one might want to document when the version of neovim was changed (and to what version).
Note that this does not replace the used file in the downloads directory, used is regarded as the truth on the current installed neovim version, whereas sync_version_file_path can have any content, regardless of the current installed version.

I think the name of used_version_file_path should change to something else, can be confused with the original used file.
Maybe sync_version_file_path or something idk for sure.

Sounds good to me, I renamed all instances to sync_version_file_path

also another point add this sync path thingy to the env var handler here: https://github.com/MordechaiHadad/bob/pull/78/files#diff-42cb6807ad74b3e201c5a7ca98b911c5fa08380e942be6e4ac5807f8377f87fcR54

Done, note that the current env var implementation will crash when the config doesn't have an env var as I commented

btw check this review thingy i opened so i can merge this sooner.

oh shit it closed this PR when i merged the previous PR

I rebased over the latest main, let me know if you have any more comments

I rebased over the latest main, let me know if you have any more comments

Only need you to address the review and you are practically done, i think.

I rebased over the latest main, let me know if you have any more comments

Only need you to address the review and you are practically done, i think.

I addressed everything you mentioned, renaming it to sync_version_file_path and supporting env vars in the config, have I missed anything else?

weird... can't you  see this review i have opened?

weird... can't you see this review i have opened?

No.
See that your comment is marked as pending, you need to submit the review in the "Files Changed" tab at the top right


Investigate an easy way to publish container images

look at https://github.com/threefoldfoundation/tft-stellar where docker images are pushed to the github container registry when publishing a release.


Modified genReqId with quick, small performance boost.

…estId is faster than modulus by 7x on my Macbook Pro

I'm not seeing any perf boost on pino-http benchmarks. What version of Node are you using?

Maybe we can expose the genReqId method on the file so we can test & benchmark it directly.

I mean, I'm fine with the change. I'm more interested if this boost things up here. I'm 100% sure it's faster, I would just like to have a bench attached to the PR before landing.

oh this is really cool - @gmcnaught can you share your node version and OS so we can reproduce your findings - since @mcollina isn't seeing the same thing it might relate to a specific conditions.
We'll want to check the conditions to see which approach is most future-proof

Of course!
First of all, I'm not sure where I pulled 7x out of in my commit message that's just plain wrong - its more like 10% increase in performance for the function, and without knowing how you are benchmarking the full pino-http I can't speak to actual, real world, perf improvement for the whole app.
Risks:
Modulus just works, no matter what the maxInt in genReqId is, whereas using a mask only works if that maxInt is (2^n)-1; Javascript spec actually calls for all numbers to be a double, so you could increase maxInt up to (2^52)-1 and still have an extra bit to cause rollover, but if someone just picks a very large number at some point in the future, this will start to fail and it might not be immediately obvious why it is failing.
Specs: I'm running a 2015 Macbook Pro, nodejs 6.9.1
Results of just testing genReqID:
modulus x 87,768,064 ops/sec ±1.02% (90 runs sampled)
mask x 97,243,797 ops/sec ±1.28% (90 runs sampled)
Fastest is mask by 10.7963%

I originally just compared the time elapsed with process.hrtime() between running both 10,000x but the below code seemed better suited for a PR
The actual benchmark code I used to generate these results:
var Benchmark = require('benchmark');

var req = {};
var maxInt =<PHONE_NUMBER>;
var nextReqId = 0;
var suite = new Benchmark.Suite;

suite.add('modulus',function(){
  return req.id || (nextReqId = (nextReqId % maxInt) + 1)
});

suite.add('mask',function(){
  return req.id || (nextReqId = (nextReqId + 1) & maxInt)
});

// add listeners
suite.on('cycle', function(event) {
  console.log(String(event.target));
});
suite.on('complete', function() {
  //console.log(this);
   var fastest = this.filter('fastest').map('hz');
  var slowest = this.filter('slowest').map('hz');

  var diff = ((fastest - slowest)/slowest * 100).toFixed(4);
  console.log('Fastest is ' + this.filter('fastest').map('name') + ' by '+diff+'%');

});

suite.run();

awesome work. Is it faster in practice over http? How did you find out that this was a problem? I'm trying to bench over HTTP, and I get very similar results before and after.

@gmcnaught this is really good info, the way we bench pino-http isn't super obvious (we should doc this as it's not the first time that question has come up) - basically run benchmarks/pino-server and use http://npm.im/autocannon (defaults are fine) to load test

I would say this change would fall under "premature optimizations born out of curiosity".
When I saw that request IDs were integers, I looked in pino-http to verify it did indeed roll-over at some point, so I knew before I put something in production I wouldn't start getting negative request IDs... and then just tried using bitmask instead of
The original method at ~11 nanoseconds per operation and the new method at ~10 nanoseconds per operation.. 1 nanosecond per operation in an http request with a total of 10ms isn't going to even show up on any meaningful graph of improvement :)

Awesome, I love it.


How to find sigs?

If you can do simple explain on how to find sig's i could prob make a pr.

There are guides on unknowncheats you could look at. Anyways, I don't think any sigs actually broke in the most recent update.


reshuffle_each_iteration=False ignored on validation (tf.dataset + Keras)

When using .shuffle on some tf.Dataset.from_generator, it appears that the reshuffle_each_iteration=False is ignored by Keras.
If you run the following example, you would expect to see the train_set and val_set buffer filling at the start of the session, and then you would no longer see it between each epoch. The buffers are large enough to cover more than one epoch and can be refilled in parallel during the epoch.
However, what seems to happen is that the val_set shuffle buffer is filled at the end of each epoch.
The terminal shows "Filling shuffle buffer" at the end of each epoch.
You can see that it is specifically the val_set buffer by removing the shuffle on val_set. Doing so, you will no longer see a "Filling shuffle" at each epoch, only at the start of the session.
Additionally, issue 35100 will spam the terminal on this example, with or without shuffle.
Seen on Win10, with tensorflow 2.10.
Code to reproduce the problem:
import tensorflow as tf
import numpy as np
import time

def random_gen():
    while True:
        time.sleep(0.01)
        yield (np.random.rand(1,), np.random.rand(1,))

dataset = tf.data.Dataset.from_generator(
        random_gen,
        (tf.float32, tf.float32),
        (tf.TensorShape((None,)), tf.TensorShape((None,))),
    )

train_set =   (dataset
               .shuffle(2000, reshuffle_each_iteration=False)
               .batch(32))
val_set =    (dataset
               .shuffle(2000, reshuffle_each_iteration=False) # Problem is here
               .batch(32))

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(3))
model.compile(loss='mse', optimizer='adam')

model.fit(x=train_set,
          epochs= 5,
          steps_per_epoch= 10,
          validation_data= val_set,
          validation_steps= 5,
)

@Kerybas
I have tried on colab with TF version 2.1.0 on val_set with reshuffle_each_iteration=False and reshuffle_each_iteration=True. Please, find the gist here. Is this the expected behavior? Thanks!

@ravikyram
The issue won't show up on a Notebook. I don't know why but Notebooks do not show the buffer filling outputs that you get in the terminal.

Hi, I'm facing the same issue when I'm running my training module via terminal. Even though the reshuffle_each_iteration=False, In each epoch, it starts filling the shuffle buffer due to which training time is getting highly affected. Any update on this to how to overcome this?

Hi, I'm facing the same issue when I'm running my training module via terminal. Even though the reshuffle_each_iteration=False, In each epoch, it starts filling the shuffle buffer due to which training time is getting highly affected. Any update on this to how to overcome this?

reshuffle_each_iteration does not control whether to shuffle each iteration or not. It controls whether different order of shuffling should be used.
If your input pipeline contains shuffle, then each epoch will perform shuffling. If you wish to overlap filling up of shuffle buffer with computation, you should put repeat after shuffle. This will result in the filling up of the shuffle buffer needed for the 2nd epoch to be amortized over the 1st epoch (as opposed to happening at the beginning of each epoch) and so on. You might also want to put prefetch at the end of your input pipeline to overlap training computation with preprocessing computation (see tf.data performance guide for more details).

I'm also experiencing this issue.
I'm training a keras model with model.fit and steps_per_epoch argument set to a way lower value than the actual size of the dataset, and the dataset gets shuffled at each model epoch (while reshuffle_each_iteration = False). I can see that because when I'm using a large shuffle buffer size, a message is printed in the terminal stating that the buffer is currently being filled (and that it may take a while ...). Also I'm already using repeat(-1) and prefetch when I create the dataset.
On my side, it seems to be the training dataset that gets shuffled and not the validation one as it is cached.
I would need the dataset to be reshuffled only when it has been completely iterated through and not when I'm starting a new model epoch (that I defined to be n steps with steps_per_epoch).
Is there a way to do this and still use model.fit ? If it is not the case, I think it would be a very useful feature to have, to be able to disconnect "dataset epochs" (when the dataset have completely iterated through) and "model epochs" (after n_steps_per_epoch in model.fit), to be able to shuffle only after each "dataset epochs" .
The only solution I see now is to abandon model.fit and create a custom training loop receiving data from an iterator on the tf.Dataset.
In case it is needed, I'm using tensorflow 2.2.0 installed with anaconda (build: gpu_py37h1a511ff_0) on Ubuntu 20.04.

While reproducing your issue in Tf Nightly, faced different error, please find the gist here. Thanks!


Query subscription doesn't return a CloudKit.Notification

I successfully save a subscription. Then I call addNotificationListener, whose argument is a function which takes a CloudKit.Notification. But instead of that, I'm seeing an object that looks like this:
{
    aps
    {
        content - available: 1
    },
    ck:
    {
        aux:
        {},
        ce: 2,
        cid: "<MY ID>",
        ckuserid: "<MY USER ID>",
        met:
        {
            dbs: 1,
            sid: com.apple.coredata.cloudkit.private.subscription",
            zid: "com.apple.coredata.cloudkit.zone",
            zoid: "_85bc87478f3f4b2674583752b91e8249"
        },
        nid: "4a65fb63-98ea-4710-a41e-6d479c63aa41"
    }
}

I have a CloudkitService, which contains the Container. So I'm calling it like this
  this.cloudKitService.container?.addNotificationListener(
    (notification: CloudKit.Notification) => {
      this.onNotificationListener(notification);
    }
  );

But notification is the above object, not a CloudKit.Notification.

This looks like a silent notification. I do not know, if they are supported in CloudKit JS. Did you created the subscription in CloudKit JS or over regular CloudKit?

Created in JS. interestingly I removed the zone id from the subscription and then I got a valid Cloudkit notification but I still get these weird ones.

I hate resolutions like this, but after returning to this project, I've noticed it's suddenly working again. Not really sure what was causing this, but I'm going to close this.

Thank you for the update. Glad to hear that this part is working.
The issue might have been triggered by a mixup of authentication tokens (a user has for each platform [iOS/macOS/JS] a different set, the container ID and Apple ID stay the same).
It is also possible that CloudKit had a bug that has been fixed in the meantime.
Anyway, it works now. 👍


Introduce Page parameters to SUI

Summary of the Pull Request
Navigating to pages in the Settings UI now passes in a state of the relevant settings at the time of navigation. Unfortunately, we can't use the constructor for this.
References
#1564 - Settings UI
Validation Steps Performed
Visited every page on the Settings UI.

Unfortunately

I think this is very fortunate! It lets us reuse objects at runtime!

Describe your solution design a little bit 💯


Manage symbolic links for JDKs to avoid the need for system restarts

Is your feature request related to a problem? Please describe.
Update Watcher doesn't understand the symbolic link I use to point at the latest JDK, so it thinks I have two copies of Java 8, plus it doesn't help me to keep the symlink up to date automatically. This leads to postponing upgrades.
After updating a JDK, I create a symlink from C:\Program Files\AdoptOpenJDK\jdk-8.0 to the new installation, eg C:\Program Files\AdoptOpenJDK\jdk-8.0.275.1-hotspot. The symlink path C:\Program Files\AdoptOpenJDK\jdk-8.0 is what I use for the environment variables JAVA_HOME and in PATH (and in IntelliJ IDEA).
This symlink scheme ensures that all new invocations of java or javac will automatically pick up the new JDK, without needing a restart to propagate changes in environment variables. But this scheme doesn't quite fit with Update Watcher yet.
I'm sure that it's not a 'known-not-a-bug'
See: https://github.com/tushev/aojdk-updatewatcher/wiki/Known-not-a-bugs
[X] Yes
Describe the solution you'd like
I would like Update Watcher to understand this symlink scheme, or implement a similar scheme.
Update Watcher would need to understand that the symlink (or junction) and the target directory represent the same JDK installation, and to update the symlink when a new JDK in the same "family" is installed. A family could be Java 8, most recent LTS, or most recent.
Describe alternatives you've considered
A slightly simpler solution: update any symlink which points to the old version of an updated JDK. This is essentially automating what I do manually.
If Update Watcher knows it has just installed an upgrade from version X.Y to X.Z, it could replace a symlink which points to X.Y and make it point to the new installation X.Z. This would probably require some way of registering symlinks (to opt them in for this management), but it might be simpler than managing the concept of JDK families. Any registered symlinks could then be ignored as installations, to avoid having them show up as duplicate installations.
Additional context
What I have with my symlink is basically a "junction directory approach" as mentioned in https://github.com/AdoptOpenJDK/openjdk-installer/issues/133, but I think Update Watcher is better placed to solve the problem, since it knows the old and new locations. Also Update Watcher shows all installations, which causes junctions and symlinks to show up as duplicates (at least if they are used in JAVA_HOME).

Hello,
Thank you for your suggestion. I agree that this is a good idea, but this kind of things ideally should be managed by installers themselves, alongside with Set JAVA_HOME and Associate .jar features. Maybe they should have more +1 requests there.

Update Watcher is better placed to solve the problem, since it knows the old and new locations.

Actually, the current updater knows absolutely nothing about new location (or even if the installation was successful). All it does is simply re-scan of windows registry to get the list of AdoptOpenJDK installations.
I suppose that the updater is a wrong place for this for two reasons: 1) I prefer UNIX philosophy - Make each program do one thing well. and 2) it will require some kind of tracking scheme, which is not easy to develop (see https://github.com/tushev/aojdk-updatewatcher/issues/1#issuecomment-700510346). Besides, what if user has specific requirements, like several installations (of the same branch, but different versions) installed simultaneously? What if something goes wrong with detection (https://github.com/AdoptOpenJDK/openjdk-build/issues/2236)?
Implementing this in updater would require a robust and universal solution, able to handle all possible cases, which is itself quite an effort. I do not want to take responsibility for it and solve all potential issues.

Instead, I've added post-install triggers, like this:

It may be used for many things, and automating junction directory management is one of them - since the end user knows his scheme and is able to handle all potential conflicts much better than I do.
This functionality will be included in the upcoming release, however, there's no due date yet.
Here a sample PowerShell script to start with:
$feature_branch = '8'
$adopt_registry = "Registry::HKLM\Software\AdoptOpenJDK"
# use the following line if you need 32-bit installations
$adopt_registry_x86 = "Registry::HKLM\Software\WOW6432Node\AdoptOpenJDK"

$image_types = Get-ChildItem -Path $adopt_registry
foreach ($type in $image_types) {
    $matching_installations = Get-ChildItem -Path $type.PSPath | Where Name -Like "*\$($feature_branch)*"

    $c = ''
    foreach ($inst in $matching_installations) {
        $c = (Get-ItemProperty (Get-ChildItem -Path $inst.PSPath -Recurse | Where Name -Like '*\MSI*').PSPath).Path
    }

    New-Variable -Force -Name "candidate_$($type.PSChildName)" -Value $c
    Write-Host "The most likely $($type.PSChildName) candidate for $($feature_branch) branch is $($c)"
}

It will give you two variables: candidate_JDK and candidate_JRE (not necessary the highest version ones, just the last encountered in the registry).

Also Update Watcher shows all installations, which causes junctions and symlinks to show up as duplicates (at least if they are used in JAVA_HOME).

As for this, normally this shouldn't be happening.
In your scheme, I suggest that you turn Registry Autodiscovery on and do not add JAVA_HOME instance or any other installation manually, it's redundant.
This way the updater will get only actual "end-point" installations (which should be checked for updates), and not the symlinks.

And if you don't need to check for updates for one of the auto-discovered installations - then (only) you should create a manual override to disable it: https://github.com/tushev/aojdk-updatewatcher/wiki/Types-of-installations#-usage-scenario-disable-updates-check-for-one-of-auto-discovered-installations

Just released https://github.com/tushev/aojdk-updatewatcher/releases/tag/<IP_ADDRESS>
It implements the post-install scripting functionality: https://github.com/tushev/aojdk-updatewatcher/wiki/Sample-postinstall-scripts and https://github.com/tushev/aojdk-updatewatcher/wiki/⚠-Advanced-configuration


"ChartHover" is spamming the console

In Chart.razor you are spamming the console when you hover a chart.
I guess it is some test code that is left behind.

Yes, you are right. I'm removing the debug messages.

With the version 6.0.15 this issue should be resolved. Please check and confirm.
Enrico

Sorry, I can't install this version.

OK, I think I found the issue. A new version is coming...

Version 6.0.16 is deployed. Please check and confirm.

Yes, it works


Add: MS/MS Feature List Builder

Added in pull request #46 and MSDK # 61 . Please note that the MS/MS feature list builder has been implemented differently than in MZmine 2. More information about this can be seen here: https://github.com/msdk/msdk/issues/31


How to protect token for backend

Hi,
I use this module mostly for generating frontend, so it is ok to be presend on the client, but I also have "admin" token intended only for backend API.
I expected that when I create second client used only on the server to protect its secret, but it will be exported to the frontend anyway.
I also tried to override graphql-client config in runtimeConfig.private, but it seems this module does not recognize it there.
Is there some other way how to use this client on the server, but protect secrets?

Aha, I just misunderstood what retainToken does. Sorry :-)


Disable AllowMainModulePseudoVersionComparison by default

To match Grype default behaviour, we need to set AllowMainModulePseudoVersionComparison to false.

Interesting test failure, cc: @cpanato. It seems unrelated to @hectorj2f's change, but I'm wondering if there's a hidden issue with our custom cmp diffing logic or something 🤔
=== RUN   TestCreate/creating_additional_advisory_for_package
    create_test.go:221: Update() mismatch (-want +got):
          v2.Document{
          	SchemaVersion: "2.0.2",
          	Package:       {Name: "brotli"},
          	Advisories: v2.Advisories{
        - 		{
        - 			ID:      "CGA-xoxo-xoxo-xoxo2",
        - 			Aliases: []string{"CVE-2023-1234"},
        - 			Events:  []v2.Event{{Timestamp: s"2022-09-26T00:00:00Z", Type: "detection", Data: v2.Detection{...}}},
        - 		},
          		{Aliases: {"CVE-2020-8927"}, Events: {{Timestamp: s"2022-09-15T02:40:18Z", Type: "fixed", Data: v2.Fixed{FixedVersion: "1.0.9-r0"}}}, ...},
        + 		{
        + 			ID:      "CGA-xr[44](https://github.com/wolfi-dev/wolfictl/actions/runs/9596890702/job/26464754752?pr=974#step:8:45)-c573-6rmw",
        + 			Aliases: []string{"CVE-2023-1234"},
        + 			Events:  []v2.Event{{Timestamp: s"2022-09-26T00:00:00Z", Type: "detection", Data: v2.Detection{...}}},
        + 		},
          	},
          }

I just ran the test locally and it passed.


feat(svelte-scoped): add sveltescoped useThemeFunction option

(draft)
This PR adds a  useThemeFunction option to allow for disabling the Svelte Scoped preprocessor theme() functionality. You may want to disable it when using the Tailwind theme() and don't want to use the UnoCSS one.
Fixes #4166
There are a few things I want to fix and some things I don't really understand (the test with ???) so marking this as draft for now.

Duplicated with https://github.com/unocss/unocss/pull/4171 I guess?

Yes, didn't see that!


otter-serial API feature requests from TW

[ ] Finalise serial event source for use in single-threaded app (only with updates to current implementation of otter-serial):

[x] Refactor otterParallel[Begin|End] -> otterThreads[Begin|End] (see https://github.com/Otter-Taskification/otter/commit/559d42d294a1bc18510c69875ee6d90e3c5b0015)
[x] Replace otterSynchroniseDescendantTasks[Begin|End] with macro/function barrier to synchronise child/descendant tasks
[x] Unify API to only use functions or macros, not both (see https://github.com/Otter-Taskification/otter/commit/559d42d294a1bc18510c69875ee6d90e3c5b0015)
[x] Fully document otter-serial API usage (see https://github.com/Otter-Taskification/otter/commit/e4342e5dc99aaee8a4db863e399911a26d1256ba)

cc @tobiasweinzierl

https://github.com/Otter-Taskification/otter/commit/c31e46eb7c7dc652c4ad6992bd51b4eb471eb90e replaces otterSynchroniseChildTasks with otterSynchroniseTasks
https://github.com/Otter-Taskification/otter/commit/c9cdddeb3ceaa233a641a8658071eb5b24559da8 adds documentation for otterSynchroniseTasks


[RFC] CLI localization story

Change Type

[ ] Feature
[ ] Chore
[ ] Bug Fix
[x] RFC / Hopefully a feature 😄

Change Level

[ ] major
[x] minor
[ ] patch

Further Information (screenshots, bug report links, etc.)
This PR is a request for comment/feedback for a CLI structure in relation to localization that I was thinking about for a few days. I was reflecting on this comment by @ceejbot and this issue: https://github.com/entropic-dev/entropic/issues/115
So the implementation in this PR tries to follow a few things metnioned in the linked comment and issue:

Moves translation strings out to configs so it's easier to integrate later with some fancy UI if needed
Clear structure: commands all have a corresponsing toml file with help (and any other metadata if we need this for something else), as toml files are named as commands, they are nicely sorted together is a file tree. Common translation strings used across commands are in one separate file
Easy to add translations
Easy (opinionated) to use translations in commands
Disconnected from the topic of how to run commands, can be used with anything that we decide on later
Minimal implementation, no new deps 😸

I moved all existing help files to the new setup, added Russian translations, and also added a few translated strings as an example of how it would look like
Why toml?
I was thinking about different file formats that we could use, toml seems like a good match for us:

We already use it in CLI
Allows for multi-line strings
Holds more structure than a .txt file
Allows for interesting ways to specify pretty readable (opinionated) translation structures (see cli/lib/localization.toml)

/cc @toddself because I changed your *.txt based implementation for help and would love to hear what you think about this, @ceejbot as I mostly based it on your feedback and I'm super interested how it aligns with it

I'm strongly against TOML format to store localization strings. It's not designed to store i18n information and supported by none of the translation platforms (like Crowdin, Lokalise etc).
Moreover, manually put strings for translation is tedious work. I woud suggestting keep strings in source code and mark them for translation. Extraction tool can automatically extract all string and messages for translation and upload it to a translation platform. I would suggest .po or .xliff as formats to store translations.

@fetis makes sense! I'm looking through tools that are helping to extract translation data from the source code, maybe you have some recommendations?
Reagrding the formats, I quickly browsed through po and xliff specs, po seems like a nice choice, feels more readable than xliff for me, I kinda want to try using it now. Do you have additional feedback on the format, like pros/cons, what would you prefer out of those two?

@gribnoysup .po is a relatively old format, introduced by Linux utility gettext.
XLIFF is an XML format and it's accepted as an industry standard.
I personally would prefer to have XLIFF export because of XML nature. You can transform and modify XML documents with XSLT transformations (in case we'll need this)


Complete event or similar on Timeline

If possible, it would be handy to be able to get an event when a Timeline has completed all its tweens.

Timeline now dispatches change and complete events.

@gskinner
I tried .on("complete", ...) with no luck and in documentation there is only change event. Did I missed somethting?

I also ran into the issue of the complete event not firing, any progress on this?


sort() method for trajGroup

Hi Melissa,
Would it be possible to include a sort() method to TrajectoryGroup which is sorting the trajectories based on their IDs in trajids?
The trajectory files that I have are named in a logical, unique way, e.g. YYYY-MM-DD-HH.txt. I thought of something like pandas DataFrame sorting function. An easy way would be to load trajectories and trajids in a DataFrame and apply its sort function. That would imply though to import pandas.  For now, when I create my TrajectoryGroup I use
import pysplit as pys
traj_dir = r'/my/directory/to/files/*'
trajGroup = pys.make_trajectorygroup(traj_dir)

which imports all trajectory files in that directory but in a random order. For plotting it would be cool to have the trajGroup in order.
Cheers,
Nic

It's been a while- if you have any ideas you've implemented I'd welcome a PR.  In my experience I have not noticed the trajectories imported in any order but either alphabetical or perhaps by date modified.


Start-Driver -Browser Edge throws an error

Hi gang!
I think this line:
https://github.com/adamdriscoll/selenium-powershell/blob/5e284992ea948d7c57c7a0acfd4d09ed642966f3/Public/Start-SeDriver.ps1#L111
... should be calling Start-SeEdgeDriver rather than just Start-EdgeDriver. In the 4.0 preview, I get this error when I try to start a (Chromium) Edge driver:
Start-EdgeDriver : The term 'Start-EdgeDriver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Program Files\WindowsPowerShell\Modules\selenium\4.0.0\Selenium.psm1:1802 char:32
+             'Edge' { $Driver = Start-EdgeDriver @PSBoundParameters; b ...
+                                ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Start-EdgeDriver:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Thanks.
Fixed for Preview2


[FEATURE] LangServe Integration

Hi @langchain4j 👋
Thanks for leading this amazing project 🙏
Have we planned for LangServe client at some point?
There are clients for Python and Javascript so maybe we can port it to Java?

Hi, what exact features are you looking for?

Hi, I'm talking about RemoteRunnable, a runnable that is executed on a remote server.

Do I understand correctly that you want to trigger the execution of python code deployed with langserve from LangChain4j?

Langchain (python) provides Java SDK for LangSmith, maybe they'll do the same for LangServe? Worth asking in their repo

No they don't. I've checked it. They only officially support Python. The only alternative they have in their docs is LangchainJS, built by the community.

I feel that this feature don't fit into the LC4j project, I would rather create a separate Java SDK/client for this

I agree it could be something like langserve4j but then the "langchain for Java" ecosystem will be fragmented which is not good for the community.
Can't it be an integration module inside langchain4j just like other integrations?
I think having langchain4j-langserve is not a bad option, given the JS community even added it to their langchain-core module.

Well, we can indeed include this as a separate module. Do you plan to maintain it?

Yes I can be a maintainer no problems 😺

Cool. Will do. Thank you 🙏

Hi @langchain4j
After careful consideration, we’ve decided to abandon this approach as it doesn’t align with the architecture of LangChain4j’s AI services. Thank you for your support and insights. We can close this issue now. 🙏


fixed NullPointerException in ConstraintFactory

Tests are failing

Codecov Report

Merging #152 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #152      +/-   ##
==========================================
+ Coverage   68.33%   68.34%   +<.01%
==========================================
  Files          44       44
  Lines        3894     3895       +1
  Branches      677      677
==========================================
+ Hits         2661     2662       +1
  Misses        987      987
  Partials      246      246

Impacted Files
Coverage Δ

...dson/plugins/performance/PerformancePublisher.java
83.84% <100%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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


Application error when adding new user

Description
A clear and concise description of what the issue is about.
Screenshots

Files
A list of relevant files for this issue. This will help people navigate the project and offer some clues of where to start.
To Reproduce
If this issue is describing a bug, include some steps to reproduce the behavior.
Tasks
Include specific tasks in the order they need to be done in. Include links to specific lines of code where the task should happen at.

[ ] Task 1
[ ] Task 2
[ ] Task 3

Remember to use helpful labels and milestones. If you use the "help wanted" label, Code for America will promote it widely.

Related to issue #252