Move type out of import clause

TypeScript 4.5 introduces inline type imports. But for anyone who uses typescript < 4.5 the build will fail.
There is no lint rule to disallow that, as it is a perfectly correct syntax. I will keep on checking for that.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14459/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14459/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14459/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14459/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14459/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14459/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14459/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14459/merge#BCU1XR#0

There is no lint rule to disallow that, as it is a perfectly correct syntax. I will keep on checking for that.

Would be great even if it is a custom one we add as I am pretty sure we will soon reintroduce it otherwise.


subtitle line remains stuck for 30 mins | awk script > 2mins length

05:14:41.490 --> 05:14:42.820
any possible chance

05:14:42.820 --> 05:46:50.320
this text remains for 32 mins in subs

05:46:50.320 --> 05:14:50.420
which is correct

05:14:50.420 --> 05:14:55.710
and transcription is correct

05:14:55.710 --> 05:14:57.460
but it runs over

05:14:57.460 --> 05:15:03.590
so gotta come up with a sed or awk script

05:15:03.590 --> 05:15:05.300
to detect if say subtitle duration

05:15:05.300 --> 05:15:11.220
exceeds 2 mins let's say

Had this happen yesterday also and found it think it was in a 48 hour audiobook I was doing.  This one just happened again today with a 10 hour audiobook. So what happens is
this text remains for 32 mins in subs
remains below constantly on for 32 mins and some of the new subtitles that is what can fit show just above it
Obviously to correct this just change
05:14:42.820 --> 05:46:50.320
to
05:14:42.820 --> 05:14:50.320
05:46:50.320 --> 05:14:50.420
to
05:14:50.320 --> 05:14:50.420
in both cases just changing the xx:46:xx.xxx to xx:14:xx.xxx
my current command to pipe wav max length 78 and split at word
for f in *.opus ; do ffmpeg -i "$f" -f wav -ar 16000 -ac 1 - | ~/whisper/whisper.cpp/./main -m ~/whisper/whisper.cpp/models/ggml-medium.en.bin - -ovtt -of "$f" -l en -ml 78 -sow -t 8 ; for f in *.vtt ; do sed -r -i .bak -e 's|Yellow|yellow|g' -e 's|blue|Blue|g' -e 's|Pink|pink|g' "$f" ; done && for i in *opus.vtt ; do mv -i -- "$i" "$(printf '%s\n' "$i" | sed '1s/.opus.vtt/.vtt/')" ; mkdir vttsubs/ ; mv *.vtt vttsubs/ ; done && rm *.bak ;  done
I'll try to figure out an awk script to see if it can automatically check duration on a subtitle line say exceeding 2 mins

testong


[Issue] azd init adds container but doesn't add requirements to next-steps.md

Added azd to the dev container and checked version is 1.50.
azd init - create ./infra that requires conainers (which is great - thank you!)
azd up fails because docker is missing.
next-steps.md doesn't say anything about needing docker cli - although I do understand why its needed, I just want to see that the the next steps file
I try to add the dev container feature for docker-in-docker and run into issue after issue.

Expected: have next-steps.com have a section on the requirements that the new infrastructure need for az up to work.

azd could suggest or even set the docker gh-feature.
The one used from azd-templates is
"ghcr.io/devcontainers/features/docker-in-docker:2": {
        },

You can see one example here: https://github.com/Azure-Samples/todo-python-mongo-aca/blob/main/.devcontainer/devcontainer.json#L5C9-L6C11
@savannahostrowski @weikanglim , I think this is good feedback for the easy-init.


Hex release not independently compilable

I'm trying to build a project using nix and a tool called mix2nix that compiles each dependency independently. Unfortunately, in this mode, phoenix_storybook as a dependency doesn't compile as config/config.exs is missing.
** (File.Error) could not read file "/home/jason/Development/bi/main/platform_umbrella/deps/phoenix_storybook/config/config.exs": no such file or directory
    (elixir 1.15.4) lib/file.ex:358: File.read!/1
    (elixir 1.15.4) lib/config/reader.ex:110: Config.Reader.read_imports!/2
    (mix 1.15.4) lib/mix/tasks/loadconfig.ex:54: Mix.Tasks.Loadconfig.load_compile/1
    (mix 1.15.4) lib/mix/task.ex:447: anonymous fn/3 in Mix.Task.run_task/5
    (mix 1.15.4) lib/mix/cli.ex:91: Mix.CLI.run_task/2
    /nix/store/2h8rz1qa4mv8pj5l79gx34nir2ffr8fx-elixir-1.15.4/bin/mix:2: (file)

It's possible to trigger this behavior with any project that has phoenix_storybook as a dependency by running mix deps.get && mix compile in the directory of the phoenix_storybook dependency. I also have a repo that demonstrates the full problem that we're having.
I'm relatively new to the elixir ecosystem so I'm not sure what the expected behavior is/should be. I'm also not sure why there's no issue when compiling all dependencies but does if you navigate into a single repo and try to compile. /shrug
As this is our only dependency that does this, I wonder if it'd be possible to just publish a/the config?
EDIT; as an example, livebook does publish its config folder.

I'd argue that the approach this is using is not what you want to do. Mix compiles dependendencies rather differently than it compiles root level projects. Trying to treat depedencies like root level projects sounds like an antipattern to me.


Have the ability to hide @RequestMapping endpoints that are meant to be used by forward scheme

Sometimes we want to have RequestMappings only to be used internally by the Gateway. For example when we create one fallback endpoint to be used by the HystrixGatewayFilterFactory or by using uri forward:/my-endpoint in another route. Right now even if a route is not declared in the RouteLocator is still reachable if that endpoint is declared by means of @RequestMapping. I think this should be configurable for people who want to have more control on which routes should be exposed in the Gateway and only want to made available the routes that were declared in the Gateway Configuration.

I can understand what you mean. We'll talk about possible solutions with the spring security team.

@aosorio1 can you explain me please how did you to resolver this problem?

Hi @spencergibb, could you tell me what was the solution for this topic?

I suspect something like this is possible with spring security. We'd need to set some kind of token in the ForwardRoutingFilter and then setup spring security to secure the internal only mappings to require a valid token. @rwinch, @jgrandja or @jzheaux does something like this exist in spring security already?

We do not have any concept of forwarding within Spring Security. To do this, you would need support within Spring WebFlux itself. I believe the currently recommended approach is to use ServerHttpRequest.mutate() and then pass the mutated request through the chain. However, I'm not sure how that works from within a controller.
cc @rstoyanchev

@rwinch sorry I wasn't clear. We already have support for forwarding. I was asking about creating a token that can be validated later. Then configuring spring security to validate the token.

Oops...my mistake. You can use ServerBearerExchangeFilterFunction to extract the token from the current AbstractOAuth2Token and then include it in the request from a WebClient instance. Does that help?

I think that is what is missing. There won't necessarily be an existing token. We would need to generate one before forwarding and then verifying on the other side.

How are you generating the token? Are you generating it using client credentials? If so, you could use ServerOAuth2AuthorizedClientExchangeFilterFunction. This obtains a token for the authorization server (if not found in storage), stores it for later, and then includes it in the request.

I'm not yet. There wouldn't be an auth server. This is strictly to protect a @RequestMapping to be requested from anywhere but a local forward. It may be better to chat than a long thread.


Assorted issues

looks good. my only comment is that in general when i fix bugs i like to write tests that fail before the fix and succeed after, and include the test with the commit. but this applies somewhat less to UI since there's just so much


Please update prometheus lib to 1.11.1 due to CVE-2022-21698

all older versions of the prometheus client_golang package have an vulnerability rated HIGH flagged by multiple security scanner for all apps using your library.
Can you please update the old 1.4.0 version to latest 1.11.1 and publish a new release for others to pick up?
Thanks in advance.
https://nvd.nist.gov/vuln/detail/CVE-2022-21698

:100:
please update to latest version:  github.com/prometheus/client_golang v1.12.1


netstat: Drop dependencies between status report iterations and simplify the data collection from the pod

What this PR does / why we need it:
The VMI interfaces status has been "leaking" between update iterations, dragging along data which has the potential to be outdated.
Therefore, the interfaces status is now overridden on each update with last known data from the pod. Further processing will override some of the properties with data from the domain and guest-agent (if available).
This change also includes some small simplifications of the code, regarding the expected data arriving from the pod interface cache.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Depends on #6781 , only the last 3 commits are relevant to this PR.
Release note:
NONE

/test all

/uncc zcahana

/test all

/sig network

/cc @AlonaKaplan

/retest

change: Rebase

/lgtm

change: Rebase

/retest

change: Rebase

Change: Changed inline comment per the review request.

/approve

/lgtm

/retest

/retest


How to make inference after training the model

I have achieved successful training by making modifications to the config file following the instructions provided in the Readme.MD file. However, I am currently uncertain about how to perform inference using the trained model. Could someone kindly assist me in understanding the process for making inferences?

Please refer to the Validation section of the README.md file.

I have gone through that section, but I'm uncertain about where it's storing the predicted results.
The output I'm seeing only displays the results of various metrics on the validation set, as shown below.


Add a simple golden-file test to package:integration_test.

Closes https://github.com/flutter/flutter/issues/72045.
Let's see if I wired this correctly and if Flutter Gold knows to check based on the files changed.

╔═╡ERROR #1╞════════════════════════════════════════════════════════════════════
║ /b/s/w/ir/x/w/flutter/packages/integration_test/test/golden_screenshot_test.dart: Files containing golden tests must be tagged using @Tags(<String>['reduced-test-set']) at the top of the file before import statements.
║ See: https://github.com/flutter/flutter/blob/main/docs/contributing/testing/Writing-a-golden-file-test-for-package-flutter.md
╚═══════════════════════════════════════════════════════════════════════════════

Mean.

if Flutter Gold knows to check based on the files changed.

The flutter-gold check from flutter/cocoon does not consider what files changed, it looks at what test shards are running. It may need to be informed of what test shards package:integration_test runs on for it to guard against PRs landing with images changes.
https://github.com/flutter/cocoon/blob/f12111463c23852d0f83049af985dc43f0f422a4/app_dart/lib/src/request_handlers/push_gold_status_to_github.dart#L126


redisvAppendCommand() sets always set "Out of memory" on format error

redisvFormatCommand() always returns -1 for various reasons, but:
    len = redisvFormatCommand(&cmd,format,ap);
    if (len == -1) {
        __redisSetError(c,REDIS_ERR_OOM,"Out of memory");
        return REDIS_ERR;
    }

We can end up having "Out of memory" set inside redisContext even though the error has nothing to do with the lack of memory.

Thanks for the report! Adding a fix for this in the next version.


IUA terminology alignment (Authorization token)

[Edit: Hmmm. In reading through section 3.72, I now realize that the workflows defined in the IUA document do not follow the assertion frameworks proposed in RFCs 7521-7523, and my earlier comment was based on the mistaken assumption that those workflows were being followed (as used in UDAP, for example) so I have deleted the earlier comment and replaced with the following.]
In the current IUA workflows, the entity that provides the signed assertions is called the Authorization Server, but this is not the way this term is generally used in the OAuth 2.0 arena. As this actor is providing the assertions that contain the authorization metadata needed to make authorization decisions, then this actor is associated with the client and not the resource server. Other frameworks would call this the Client Token Service or Assertion Provider or something similar, but not call it the Authorization Server.
The term Authorization Server should represent the entity associated with the resource server that evaluates the assertions provided by clients to determine if an access token should be granted. Instead, the authorization token is presented directly to the resource server without a separate access token, such that the role of the Authorization Server (in the OAuth 2.0 sense) has actually been rolled into the resource server.
I see that how the IUA workflow does parallel how XUA is used in SOAP transactions, but this is not the way that FHIR/OAuth environments generally work. For example, the IUA model has not OAuth 2.0 token endpoint.

I do not agree to your conclusions. OAuth was initially designed with only the resource owner role implicitly assuming, that the resource owner is the user. If you see how Google and facebook uses OAuth, you'll find this close to the initially concept: Coming from some 3rd party application a user is delegated to google or facebook, must authenticate with google or facebook and may give consent for the 3rd party application to access the users data on google or facebook.
In a health scenario (or many other business scenarios) the user typically is not the resource owner. If you have access to specific data us typically defined by the company or the patient, as we have in Swiss national EPR.
To my understanding the authorization is split: First, the user first has to give consent to allow the application to access data (classes) on behalf of the user. Second, the access to specific data is controlled by the backend (resource server) enforcing the company policies, or those defined by the patient.
To my understanding any attempt to handle both of the above steps in an OAuth like Authorization Server must fail, since in health scenarios the user typically is not the resource owner of the data stored in the Resource Server.

yes, the OAuth 2.0 term resource owner is outdated. I'd say this term should not be taken literally as the legal owner of the data. For healthcare workflows in the U.S., at least, the resource owner actor in the authorization code flow is commonly understood to be an end user who has the right to authorize the requested scopes for an authorization code grant.
This is inline with the discussions in IETF around this term. In fact, they've added a definition to the draft OAuth 2.1 spec to clarify exactly what resource owner means as this term was not actually defined in the OAuth 2.0 spec. I've excerpted the definition here -- note there is no mention of legal ownership of the data:
"resource owner":  An entity capable of granting access to a
protected resource.  When the resource owner is a person, it is
referred to as an end-user.  This is sometimes abbreviated as
"RO".
So, I would say that the user is typically the resource owner in the OAuth sense, if not the legal sense. Regardless, I'm not following why this matters for the consent/control split. Authorization Servers must understand what a user is permitted to authorize and communicate enough information to the resource server so that the resource server can enforce its policies. This can be accomplished in many ways, but is typically done via token introspection when the Authorization server and Resource server are not tightly linked.

If such must fail, how do you explain the fact that it has been implemented as described, in that the user is able to authorize apps on their behalf.
A tweet is a resource.  I have access to certain tweets, but I am not the owner of said tweets.  OAuth allows me to grant the same access I have to those tweets to an app acting on my behalf.  Resource ownership is not essential in OAuth, unless you perhaps include access rights as the resource “owned”, in which case, perhaps thats what is being granted authorisation to use.
The point is, it works, authorizations can and are granted by users to resources without ownership of resources being considered.
Keith

On Jun 11, 2020, at 6:56 AM, Martin Smock<EMAIL_ADDRESS>wrote:

I do not agree to your conclusions. OAuth was initially designed with only the resource owner role implicitly assuming, that the resource owner is the user. If you see how Google and facebook uses OAuth, you'll find this close to the initially concept: Coming from some 3rd party application a user is delegated to google or facebook, must authenticate with google or facebook and may give consent for the 3rd party application to access the users data on google or facebook.
In a health scenario (or many other business scenarios) the user typically is not the resource owner. If you have access to specific data us typically defined by the company or the patient, as we have in Swiss national EPR.
To my understanding the authorization is split: First, the user first has to give consent to allow the application to access data (classes) on behalf of the user. Second, the access to specific data is controlled by the backend (resource server) enforcing the company policies, or those defined by the patient.
To my understanding any attempt to handle both of the above steps in an OAuth like Authorization Server must fail, since in health scenarios the user typically is not the resource owner of the data stored in the Resource Server.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Seems to me we are in line on this topic, if we agree upon that in health scenario the user (e.g. a healthcare professional) is in most cases not the owner of the data (patient related documents) and the decision if he may access patient data may be granted by the Authorization Server, while the decision if she may access to a specifc document is done be the resource server based on other characteristics confidentiality code, role, etc.
Or using the tweet example: the user may grant access for an application to access tweets and display the tweets, but not to specific tweets in general, because that is typically done by other methods on server side.


When editing a query inside the quick access box, the cursor jumps to EOL if the edit changes the prefix to another search mode.

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.71.2
OS Version: Mac OS

Steps to Reproduce:

Open file search with CMD + P
Enter foo:bar (for instance copy and pasted from somewhere)
Go to the start of the line and delete 'foo' using the delete key
Once the ':' is at the front of the string, the mode switches to 'go to line' but this also causes the cursor to move to the end of the line making it hard to remove the prefix as intended. This happens for instance if you paste a URL and where planning to remove the http:// prefix.

https://user-images.githubusercontent.com/101328101/194491454-fe23d6ee-7f30-4b79-86b3-1ca5dd635996.mov

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.72.0. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

Issue repros at 1.72.0 as well.


CON-3221 add api-acceptance cukes for trusted proxy support

If I understand correctly, this relies on requests coming from localhost; which is to say, the tests would pass even without the trusted proxies patch. Am I missing something?

The tests rely on my trusted proxy changes being turned on, i.e. only localhost is regarded as a trusted proxy. We decided that this should be the default behavior.
Without these changes, the tests all fail, complaining that the request was forwarded for <IP_ADDRESS>, instead of the expected address.

I was under the impression that <IP_ADDRESS> is a trusted proxy by default, cf. https://github.com/rack/rack/blob/master/lib/rack/request.rb#L419 -- is there some more magic to activating it?

That's right, it is. But, if TRUSTED_PROXIES isn't set, you get the default rack behavior. Setting it to <IP_ADDRESS> turns on my changes, and ensures that all non-localhost IP addresses get used as-is.

Isn't the default rack behavior to trust <IP_ADDRESS>?
22 sie 2016 16:40 "apotterri"<EMAIL_ADDRESS>napisał(a):

That's right, it is. But, if TRUSTED_PROXIES isn't set, you get the
default rack behavior. Setting it to <IP_ADDRESS> turns on my changes, and
ensures that all non-localhost IP addresses get used as-is.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/conjurinc/cli-ruby/pull/154#issuecomment-241434548,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAyRVJ9jh59f-WgRRVGvkidbfNac_ZVmks5qibT1gaJpZM4Jn7Uv
.

No, the default rack behavior maps all non-routable IP addresses to localhost.


Add brilift integration to compile Bril to LLVM

https://capra.cs.cornell.edu/bril/tools/brilift.html
https://github.com/sampsyo/bril/tree/main/brilift

Hello, I was interested when I saw this issue. Is there a specific reason to be using brilift as opposed to brillvm for translating bril to llvm? Sorry, there might not be enough context for me to understand.

We plan to use both!

Ah, very cool. Good Luck!

Closed by #408.


Specify dep version, otherwise improper constraint error

Somehow, without this, helm dependency's upgrade fails with:
Error: dependency "basehub" has an invalid version/constraint format: improper constraint:
...Successfully got an update from the "https://dask.org/dask-gateway-helm-repo/" chart repository
Error: Process completed with exit code 1.

It was failing even before the logo modification deployment attempt and I tracked it down to this commit: https://github.com/2i2c-org/pilot-hubs/commit/d9d79370abe2f2ef046c510e502f1172903b7edd
It says that the version is obsolete, but I found this piece of info here (https://kb.novaordis.com/index.php/Helm_Dependencies):
Note that even if it seems unnecessary, as an unpacked chart can have just one and only one version, the "version" information in the dependent's chart is actually required, and it is matched against ../b/Chart.yaml.

If the dependency declaration does not contain version, helm dependency update fails with:

helm dependency update ./a
[...]
Saving 1 charts
Save error occurred:  dependency b has an invalid version/constraint format: improper constraint:
Deleting newly downloaded charts, restoring pre-update state
Error: dependency b has an invalid version/constraint format: improper constraint:

cc @consideRatio, @yuvipanda :sunflower:

Unfortunately this still doesn't fix the deploy... Only the dep upgrade.
When I tried to deploy the ccsf hub manually I got this:
Error: UPGRADE FAILED: parse error at (basehub/charts/jupyterhub/templates/hub/_helpers-passwords.tpl:35): function "dig" not defined

But maybe it's just because I have something outdated in my deployment setup?

function "dig" not defined

This is because of an outdated version of helm - install 3.5+ and this error goes away. I wonder if that is also why you required to have the version specified in Chart.yaml?

Thanks a lot for the info and guidance @consideRatio!
I managed to deploy the ccsf hub, yaaay :tada:

This is because of an outdated version of helm - install 3.5+ and this error goes away. I wonder if that is also why you required to have the version specified in Chart.yaml?

The dig error did indeed went away with the new helm version (v3.6.3) I installed :heart:
I re-tried to run helm dep up for the daskub chart without a version specified and it still threw the improper constraint error :(

nice catch @GeorgianaElena :-)

The dig error did indeed went away with the new helm version (v3.6.3) I installed

Should we add a note in https://pilot-hubs.2i2c.org/en/latest/reference/tools.html about the minimum version we suggest using?

@damianavila I think it will be quickly outdated advice. If we add docs about it, I suggest it mention that one can run into issues having outdated versions of the helm or kubectl CLI and it's good to update them from time to time quite. The helm version required for z2jh specifically is 3.5.0 currently as is documented in z2jh.jupyter.org's landing page, but that is just one of several charts in the end and just one of a few tools we use.


[p50] Ubuntu 20.04: launcher not showing apps

Cont'd from https://github.com/130s/hut_10sqft/issues/494#issuecomment-731333390

On a freshly installed 20.04 https://github.com/130s/hut_10sqft/issues/497 this is not an issue.

After rebooting, then hit a Window Manager issue https://github.com/130s/hut_10sqft/issues/504, which is resolved now. But this issue still exists.

In lightdm w/20.04 https://github.com/130s/hut_10sqft/issues/521, this is no longer an issue.


jaws run

If I understand it right, launching jaws run in an api folder performs an unit test according to the date provided in event.jsrather than running the lambda function.
IMO, jaws run should rather set up an http listener with the right endpoint.
With a little express app, there could be possible to both serve the static part out of the site folder (I would rather name it client) and set up all the api endpoints.
Any thoughts?
And last but not least: a great thanks for your work.

@remicastaing I don't know if  jaws run should be considered a unit test.
All jaws run does (currently) is emulate the AWS Lambda environment and run your code through it.  It does this by passing in the params that AWS Lambda passes into your function (event,context) and recreating the context.success(), context.fail(), context.done() methods that AWS Lambda requires you to call when your code has completed its run.
Your suggestion about setting up an http listener with an endpoint is interesting.  It's something I've been thinking about and I believe it's part of the greater "How do we version and define environments for this stuff" question I've been working on over the last few days.  As of right now, I don't think the express http auto-generation is the easiest solution.  It's already very easy to deploy Lambda functions and REST APIs via the API Gateway, so I'd rather allow people to simply deploy a test API that way.  It's also the real thing and that's where I prefer to do my testing.
Stay tuned.  I'm going to unveil some new stuff which will attempt to answer this!  And thank you for your support!

@ac360, thank you to taking the time to provide this long response.
You're probably right saying simply deploying a lambda function would be the easiest way. I'm accustomed to have local environment for development purpose, so I though about how to get one for the lambda+api+S3+dynamoDB stack.  It could also be possible setting up a local dynamoDB instance.

@remicastaing I'm moving this conversation to #35.  In that thread we'll settle on a way to handle multiple environments.


Friday additions

Coverage increased (+0.3%) to 47.662% when pulling b1ae7a4e9464c6eb578d6b0294b99663ce86a1b7 on gabrielburnworth:master into ccdbb511f6f48c649c3e48fd27b296a1fa9dd72e on FarmBot:master.

Coverage increased (+4.8%) to 52.173% when pulling a263cee9711f5ca0530c7204154e9309664740b5 on gabrielburnworth:master into ccdbb511f6f48c649c3e48fd27b296a1fa9dd72e on FarmBot:master.


DSL for Factories

I've written a simple DSL to allow defining simple factories with machine/2 and for separating factories in different modules with ExMachina.Factory and factory/2, i. e.
def SimpleFactory do
  use ExMachina

  machine :user do
    %{ name: "John", id: sequence("user-") }
  end
end

def FactoryA do
  use ExMachina.Factory

  factory :iron do
    %{ iron: true }
  end
end

def FactoryB do
  use ExMachina.Factory

  factory :copper do
    %{ copper: true }
  end
end

def Company do
  use ExMachina # Needed to define build and import machine

  use FactoryA
  use FactoryB

  machine :compound do
    %{ iron: build(:iron), copper: build(:copper) }
  end
end

# Local machines are defined also
FactoryB.build(:copper)
FactoryA.build(:iron)
Company.build(:compound)

The only point which I don't know how to handle is when you want to use local functions, with the actual solution you have to provide the function's full name in order to allow usage in factories.
def FactoryA do
  use ExMachina.Factory

  factory :paper do
    %{
      # Works because `sequence` is available here and when importing - if the user has imported ExMachina
      type: sequence("type-"),
      # We cannot use `color()` because when imported I'll not have `color/0` on target
      color: FactoryA.color()
    }
  end

  def color, do: "Black"
end

That is everything I've done so far while learning macros, maybe there is something wrong. Besides that, it was a wonderful experience, I've learned a lot of things. #first-contribution 😄

Macros are as evil as the lack of knowledge from the engineers and the poor disciplining of reading how things work.
I love this change! ❤

@paulcsmith man would you take this? This is really clean

I don't see the advantage over the current API.
The reason I like ex_machina is exactly because it doesn't use macros for what can be solved with functions.

For the machine/2 macro I agree that there isn't any advantage over using functions. But when separating the factories in different modules, I think that the factory/2 macro could save some typing by abstracting all that boilerplate for __using__/1.
Could you please explain in which place I could use imports instead of code injection?
As far as I know, an import wouldn't create the necessary functions inside the target module, i. e. whether I have FactoryA and FactoryB, by importing FactoryB into FactoryA wouldn't define the factories from B. If that wasn't your point, please let me know.
Thanks for the feedback 😄

I'm not sure what boilerplate you are referring to, can you show an example of it and how you solve it with factory?
Everytime you do use MyFactory you are copying the functions into that module, if you import functions they are not duplicated. It is an anti-pattern to do this kind of code injections.
Why do you need to create functions inside the target module? Instead create a __using__ macro inside FactoryA that import both FactoryA and FactoryB. When you want to use FactoryA, instead of doing import FactoryA do use FactoryA and you will both modules imported, achieving the same thing with less macros and less code duplication.

I've built the factory macro on top of the code example on README.md. Instead of writing the using macro you would call factory with your factory name. That code would be simplified to.
# test/support/factory.ex
defmodule MyApp.Factory do
  use ExMachina.Ecto, repo: MyApp.Repo
  use MyApp.ArticleFactory
end

# test/factories/article_factory.ex
defmodule MyApp.ArticleFactory do
  use ExMachina.Factory

  factory :article do
    %MyApp.Article{
      title: "My awesome article!",
      body: "Still working on it!"
    }
  end
end

That was the boilerplate I was talking about. Also with that you now could call MyApp.ArticleFactory.build(:article) and MyApp.Factory.build(:article). By just importing MyApp.ArticleFactory on MyApp.Factory I wouldn't have the ability to build one article, given that ExMachina uses MyApp.Factory functions, which makes necessary defining the function on the target module. If there is an alternative for that using import, could you please share a code snippet?

The readme has the same anti-pattern.
This is how you do it with imports:
# test/support/factory.ex
defmodule MyApp.Factory do
  import MyApp.ArticleFactory

  defmacro __using__(_) do
    quote do
      import MyApp.ArticleFactory
      import unquote(__MODULE__)
    end
  end
end

# test/factories/article_factory.ex
defmodule MyApp.ArticleFactory do
  use ExMachina

  def article_factory do
    %MyApp.Article{
      title: "My awesome article!",
      body: "Still working on it!"
    }
  end
end

Now I get what you were saying. But that would make the build/{1, 2} functions to clash, we would have to use pattern matching to remove it, matching against the module. Which would turn the build function to have three parameters, the first for the module, which would make the call a little bit ambiguous. Is there any better way to make that instead of injecting code in the target module?

I didn't think about build function clauses, that's a good point. It can still be solved without code duplication, but it would require more complicated code on ExMachina.
An example of the API could be use ExMachina, import: [FactoryA, FactoryB] and ExMachina could add catch all clause to build(_, ...) that dispatches to the other factory modules.

Thanks for your suggestion and review. I'll try to implement that in another PR.


fix(BinaryCoStream): set the stream content message as low priority in the WS outgoing channel

The problem
Depending on the network quality and the mesh speed a file upload through BinaryCoStream may take minutes and the situation becomes more complicated if we are talking about multiple files download.
This creates congestion on the Websocket outgoing channel blocking the other messages until the file upload is completely processed.
This gets in the way of the "sharing" features of Jazz because the messages required to make the sharing work gets pushed back.
The solution
I've added a priority system managed by the WS transport that marks the stream content messages as "low priority"
This way updates like the creation of an invitation or even the CoMap that's usually used to contain the BinaryCoStream aren't blocked by the file upload.
Real world effects
This is a recording of a Playlist sharing before and after the fix.

Before
After

https://github.com/user-attachments/assets/bf450b0e-af4f-4242-a121-f3d4527cb0ef
https://github.com/user-attachments/assets/b3764871-342e-46e2-afe4-034821247e25

Thank you very much for this experimentation & improvement. I wrote a spec for what I think is the best way to start doing prioritisation within cojson itself. @gdorsi please may you use this PR as a base to tackle the more complete vision for this? https://github.com/gardencmp/jazz/issues/396

Now it works even better than before 🚀
https://github.com/user-attachments/assets/8f5f1fcc-a1a2-4aa5-9850-3f26c81e93fc


Opt-in feature for more than 64 channels per message type

I understand that 64 channels is enough for most users, but my game sometimes requires more than 64 channels when a lot is going on (many people shooting etc.) which can result in many replicated entities and more than 64 channels being opened. Unreal Engine supports a default maximum of 2048 actor channels for this reason.
I saw that there is a custom fork by @aienabled that enables more than 64 channels by using a ushort.
If possible I want to avoid maintaining a custom fork for this functionality.
It makes sense you don't want to increase the header size for all users.
I want to ask if it is possible for users who need this functionality to opt-in to this feature, so that all the users have the 1 byte and 64 channels limit by default but users who need more can increase this limit if needed. This way, only the users that need it will have more than 1 byte.

@Inurias most source/unreal like game engines use unreliable for almost all messages. When you need more channels this can be sign of strange architecture

@Inurias most source/unreal like game engines use unreliable for almost all messages. When you need more channels this can be sign of strange architecture

Right now it's all just a prototype and my networking is not done yet. You might be right, most bigger games probably open and close channels on-the-fly to avoid too many reliable entities at once. Although I think many games might have more than 64 reliable actors at once (thinking Fortnite etc.). I don't have any official data to back it up.
If it's not too much work, I think it would still be nice for users to have it as an optional feature for the cases where it is required.

@Inurias they don't use reliable channels. Reliable channels can be used for send initial data. Later engine sends unreliable packets with ticks inside (look at Source(engine by Valve) documentation)

But if it's based on received ticks and sending a delta, in order to calculate a delta you need some sort of acknowledgement, otherwise how do you know it was received? In which case it should be some reliable delivery type.
Property replication in Unreal Engine is also reliable (see https://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/Actors/Properties/).

@Inurias when you send inputs from player you also send last received (and interpolated) server ticks - this will be your acknowledgement. Same from server when you send delta to player you include latest received/processed input back to player (so player can remove buffered past inputs)

I am still working on the networking so I can't say for sure if everything will work out perfectly, but after some refactoring I don't need more than 64 channels at the moment.
But I have another problem mentioned in (#406), what if I want to send data (reply) via the same channel that some data was received on? For example I have a channel that only does entity lifetime networking (spawning and destruction). Of course if in the code I look into my packet I theoretically already know which channel it was sent from, but wouldn't it be cleaner to have this info on the receiving end dynamically?

Awesome, I switched to the pre-release version. Thank you! I will close this issue as soon as I'm done with the replication code, if that's ok with you.


NavigationView Light Theme broken in Win11 ver3.0.5

Describe the bug
NavigationView Light Theme is broken in Windows 11 version 3.0.5
To Reproduce
Wpf.Ui.Appearance.ApplicationThemeManager.Apply(
Wpf.Ui.Appearance.ApplicationTheme.Light
);
Expected behavior
Working Light theme
Screenshots
https://u.pcloud.link/publink/show?code=XZruIO0ZBclcso4MBlV5AhMHaFU5HJIetMKk
How it should look->https://u.pcloud.link/publink/show?code=XZBBIO0Z78PqBFvMU3y4kYtf9UFEekW9SCRy
OS version
Window 11 23H2 22631.4112
.NET version
.Net 6
WPF-UI NuGet version
3.0.5
Additional context
No response

I have the same issue on ver 3.0.5

@KevinNitroG Check if removing Wpf.Ui.Appearance.SystemThemeWatcher.Watch(this); fix it.

Huhm, my problem isn't fixed by removing Wpf.Ui.Appearance.SystemThemeWatcher.Watch. I got it to work by getting rid of WindowBackDrop when setting the theme.
ApplicationThemeManager.Apply(theme, Wpf.Ui.Controls.WindowBackdropType.None, true);


Join Helpers FROM Clause Doesn't Use Alias (psql)

First, thanks for the great project!
When using join helpers with a schema-ed DB in version v0.20.5, it seems that the join FROM clause doesn't use an alias, but the ON clause does.
This:
	q := bobmodel.AJets(ctx, db,
		bobmodel.SelectJoins(ctx).AJets.InnerJoin.Pilot,
	)
	fmt.Println(q.MustBuild())

Gives me:
SELECT
*
FROM "a"."jets" AS "a.jets"
INNER JOIN "a"."pilots" ON ("a.pilots"."pilotid" = "a.jets"."pilotid")

Which gives the error:
pq: missing FROM-clause entry for table "a.pilots"

It looks like the join helper should alias the table name, like so:
SELECT
*
FROM "a"."jets" AS "a.jets"
INNER JOIN "a"."pilots" AS "a.pilots" ON ("a.pilots"."pilotid" = "a.jets"."pilotid")

Looks like a bug. I'll find some time to fix it, if it is urgent for you, you can send in a PR and I'll review it.

Check if #115 fixes this for you.


The list command does not accept arguments as documented

If I do sdk --help it tells me
...
       list      or ls   [candidate]
 ...

so sdk list springboot should work. But that just gets me a red error:
$ sdk list springboot

Stop! springboot is not a valid candidate.

Platform Ubuntu (bash).

Actually it seems to work again after I source the sdkman-init.sh. Probably an environment issue.


merge from arlac77/template-cli-app,arlac77/template-github

.npmignore

chore(npm): merge from template .npmignore

package.json

chore(package): (template.inheritFrom)

README.md

docs(README): update from template

:tada: This PR is included in version 2.1.14 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Implement parallelization with mpi4py

Implement class functions mantle and arm in the CMA-ES evolution algo. mantle coordinates evolution by sending by sending information about population individuals to the arm subprocesses, which each run rollouts for specific individuals from the population before passing their fitness back to mantle.

This is in place, but actually the speed bottleneck is running ca steps on the GPU (at least on my machine) so running multiple instances with mpi4py does not typically speed anything up.


Docs update: Better describe start --exclude multiple container images

What kind of change does this PR introduce?
Documentation change to better describe the comma seperated string for excluding multiple containers from starting.
...docs update, ...
What is the current behavior?
Docs for start --exclude describe it as able to exclude multiple containers but only describe excluding one and the syntax is non-obvious.
Please link any relevant issues here.
What is the new behavior?
More documentation is present across manual and docs.
Additional context

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 62.731%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3804

Relevant Lines:
6064

💛  - Coveralls


TECH-252: Multisig testing

This PR contains following changes:

deactivation of tests of the soon-to-be-removed delegation functionality
fixes for existing broken tests due to the introduction of multisig
additional genesis test for ensuring successful parsing and genesis integration of MultisigAliases
new test cases for spend.go to cover scenarios

signers < threshold
signers = threshold
signers > threshold

Hey @knikos
Adjusted to Markus answer about more signers than threshold. However there is now another issue (a nonexistent address in the output). Pull / see commit 96d485785a4f737e6bf2f7e96856d82ac5d14851
Would it be much work to add such exhaustive test:

Multisig alias with 3 addresses: (A, B, C )

Threshold = 2

Checking spend for all pairs of signers

[A, B]
[A, C]
[B, C]

(or at least the above [A, B] and [B, C])

Suggestion to extend the test of little more real test case with 3 signers and threshold of 2. #28 (comment)

sure , I will take a look at it tomorrow


Question: is there a config argument for 'bootlint' command

Is there a configuration file argument, that can be added to the bootlint command, which points to a file consisting of the various bootlint adjusted rules.
For example, I'm looking to convert the following:
bootlint -d W005 interface/templates/*.html

to the following:
bootlint --config /path/to/ruleset.json interface/templates/*.html

No, there isn't.


Remote images from the API

Hello, nice package! Does this package convert remote images from the API to different formats? I could not get...))

Nope, your image files need to be stored locally because the transformations are done at build time.


New command structure alpha

Initial PR to continue discussion started in #87
This PR needs a thorough code review first before being merged!
Summary of main changes

Commands have been split up into 3 groups: System, Admin and User.
Custom commands included by the user override the default ones. If multiple folders with custom commands get included, the latest include takes preference.
Admin commands with the same name as User commands take preference when called by an admin.
Commands now return a ServerResponse object to offer more control after the command has executed (also used for testing commands).

(For a more detailed list of changes, follow the thread in #87, especially this comment)

Right you are, I missed that one, thanks! :blush:

I also checked custom commands extension and everything works!  well done man!


Add a configurable logger function.

The logger function intends to replace the transport function, and provides a consistent signature that receives a log event.
The transport property is kept for backwards compatibility and it's logic remains unchanged.

Before merging please remember to bump version

Ran npm version minor


Android Native Calls

I've successfully compiled leveldb port for Android, and now I have the
/libs/armeabi-v7a/libleveldb.so but I didn't see any documentation whatsoever
about what native calls are available.

Also, an example on the communication between native lib and Android Java
classes would be appreciated.

Original issue reported on code.google.com by pedro.n.veloso on 29 Dec 2011 at 12:05

A nice K/V store that works on Android (and /advertised/ to work on Android) is
H2 mvstore.

http://www.h2database.com/html/mvstore.html

Original comment by<EMAIL_ADDRESS>on 8 May 2014 at 9:14

I don't have written any significant code, since I did not see any support I
eventually moved on to the next thing, sorry. Although I would really love to
see this project getting some decent Android support, it would be great for
projects that don't need the complexity of an sqlite DB, and could benefit from
the performance improvement on this solution.

Original comment by<EMAIL_ADDRESS>on 14 Apr 2012 at 5:31

Here's what I have found out so far:

No code in the android-branch of the repository seems to have any of the
extravagant function headers like the example over at
http://altdevblogaday.com/2011/12/09/running-native-code-on-android-part-1/
shows:

Java:
public static native int ComputeSum(int a, int b);

C-code:
JNIEXPORT jint JNICALL Java_com_adbad_jnitest_MyJNILibrary_ComputeSum(JNIEnv *
env, jobject obj, jint a, jint b)
{
   return (a + b);
}

Since there were no java-files included in the Android branch and no
JNI-headers are present there's not much for us to go on.
Can you please document the Java API for your code? This issue has been
unresolved for over four months.

Original comment by<EMAIL_ADDRESS>on 4 Apr 2012 at 2:25


Added two applets one for each (Ubuntu precise and trusty) to build assets

Added following two applets to this repo:

create_asset_precise
create_asset_trusty

These applets will be used by dx build_asset to package assets for the respective target platform.
@psung Please review.

@psung Please review again.

@psung please review.

Once you address the above, I think you can publish these apps to staging so you can do some end-to-end testing. Thanks!

@psung please review. I have the apps published on the staging:
app-create_asset_precise
app-create_asset_trusty

@psung please review

@ptn24 - Asset builder applets

Done. @psung

Thanks! As I mentioned above, please publish to staging (and add PUBLIC) whenever you're ready with these changes. Then anyone (not just you) can verify that the whole flow with the client is working.

Done. Made the apps public. @psung please review and test.


Profile green animate dark svg

I would prefer to have also another svg that has

color green
animation
dark mode

Implemented in PR #25

Ciao @somekindofwallflower
Thanks for the suggestion.
Indeed, I also think it would be better to have a green version of dark mode.
I'll add it in ver 0.4.0.


Error: Undefined is not an object (evaluating 'r[0]')

Hi konsalex,
I had quite an implementation working for a long time that is important to my organization, but suddenly it stopped working (without changing anything is far as I know). There aren't any suggestions coming back when you type a name and I get the error in the console on line 2876, 2850 and 5836 of index.browser.min.js: undefined is not an object (evaluating 'r[0]') and in Chrome it says:
index.browser.min.js?ver=1:10 Uncaught TypeError: Cannot read property '0' of undefined
at t.value (index.browser.min.js?ver=1:10)
at t.value (index.browser.min.js?ver=1:10)
at HTMLInputElement.y (index.browser.min.js?ver=1:10)
Do you have any idea what could be the issue here? It would be great if we could sort it out, since people are dependent on it. If you want to see a page where it is in action: https://alivetoearth.nl/product/compenseer-je-vlucht/ (my coding isn't great but is worked for a long time)

Even when I try the demo (so nothing on my website), this error pops up.

Hey @meeuwsen I am sorry to hear that and for the confusion.
Are you importing via NPM or with the CDN directly to the website?
That will help me debug the issue.

Hi @konsalex Thank you for helping! I just add it to functions.php in Wordpress like so and I use Cloudflare as a cdn :
wp_enqueue_script( 'index.browser.min.js'<EMAIL_ADDRESS>'', 1, true);
I know some coding, but I am not so good yet with best practices, so if there is a better way I would love to know.

Hey @meeuwsen .
Change the source of script to<EMAIL_ADDRESS>The Fuse.js made a huge change in the initialisation of the Object. Seems weird though cause you are using an outdated script, and it shouldn't break.
Tell me if everything is working as expected.

Hi @konsalex, thanks a lot, it works!


System memory leak in Colab

System information (Google Colab free tier with T4 GPU)

OS Platform and Distribution: Ubuntu 18.04.5 LTS
Flax version: 0.5.2
Jax version: 0.3.14
Jaxlib version: 0.3.14+cuda11.cudnn805
Python version: 3.7.13
GPU/TPU model and memory: Tesla T4, 16 GB
CUDA version (if applicable): 11.1

Problem you have encountered:
I have been trying to train some models on Google Colab (Free tier). There seems to be a system memory leak (Not GPU memory). More and more system memory gets used up on each call to a jit-ed apply function of a nn.Module. It increases indefinitely until Google Colab crashes.
What I have tried:

Just JAX

I have tried to reproduce this error with just JAX and have referenced solutions mentioned in google/jax#2072 with no luck. I only managed to reproduce this error with Flax which is why I posted this issue here. This could totally be a JAX issue though.

Network structure

When trying to create a minimal reproducible example, a one-layer network
class Net(nn.Module):
    @nn.compact
    def __call__(self, x):
        x = nn.Conv(32, (3, 3))(x)
        return x

does not show a memory leak.
However, a two-layer network does:
class Net(nn.Module):
    @nn.compact
    def __call__(self, x):
        x = nn.Conv(32, (3, 3))(x)
        x = nn.Conv(32, (3, 3))(x)
        return x

I have not tried with other layers (e.g. using nn.Dense instead of nn.Conv) but I think the above example is minimal enough.

Other platforms

I have not encountered the memory leak in other platforms. I have tried it on my local machine and on Kaggle, both ran without memory leak. So this could be Colab's issue as well, but I don't know how to debug this.

Screenshot of error:

The system memory usage growth is also reflected in Colab's resource monitor.
Steps to reproduce:
Colab notebook to reproduce: https://colab.research.google.com/drive/1oWSDpYIDUgFfAe26XqsX9Ufa-Pe_nF4d?usp=sharing

Inside the loop you don't actually touch any Flax code because you are compiling fwd with jax.jit. I think this is an issue with either JAX or XLA

Thanks for the reply! Unfortunately I really could not manage to reproduce the error with just JAX. I have further minimalised the example to the following:
conv_dim_nums = lax.ConvDimensionNumbers((0,3,1,2), (3,2,0,1), (0,3,1,2))

x = jnp.zeros((32,64,64,1))

def zeros(key, shape):
    return jnp.zeros(shape)

class Net(nn.Module):
    def setup(self):
        self.k1 = self.param('k1', zeros, (3,3,1,32))
        self.k2 = self.param('k2', zeros, (3,3,32,32))
        self.bias = self.param('bias', zeros, (1,1,1,32))

    def __call__(self, x):
        x = lax.conv_general_dilated(x, self.k1, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x = lax.conv_general_dilated(x, self.k2, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x += self.bias
        return x

def flax_apply():
    model = Net()
    params = model.init(jax.random.PRNGKey(0), x)
    return functools.partial(jax.jit(model.apply), params)

def jax_apply():
    k1 = jnp.zeros((3,3,1,32))
    k2 = jnp.zeros((3,3,32,32))
    bias = jnp.zeros((1,1,1,32))

    def apply(x):
        x = lax.conv_general_dilated(x, k1, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x = lax.conv_general_dilated(x, k2, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x += bias
        return x

    return jax.jit(apply)

Yet, the Flax version shows a memory leak, while the JAX version doesn't. It seems to suggest the issue is related to self.param but I am really out of ideas on how to further break it down.
Both flax_apply and jax_apply show to same output (apart from different variable namings) when passed to jax.make_jaxpr.
I have also tried to further reduce the number of layers but it seems like 2 convolutions + 1 bias layer is the minimum example for the memory leak to show up.
Updated colab notebook: https://colab.research.google.com/drive/1oWSDpYIDUgFfAe26XqsX9Ufa-Pe_nF4d?usp=sharing

I was able to reproduce the issue with pure JAX as follows:
def jax_apply():
    k1 = jnp.zeros((3,3,1,32))
    k2 = jnp.zeros((3,3,32,32))
    bias = jnp.zeros((1,1,1,32))

    def apply(k1, k2, bias, x):
        x = lax.conv_general_dilated(x, k1, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x = lax.conv_general_dilated(x, k2, (1, 1), "SAME", dimension_numbers=conv_dim_nums)
        x += bias
        return x

    return functools.partial(jax.jit(apply), k1, k2, bias)

so passing the params as input instead of closure

Awesome, thank you! I'll move this issue to JAX then.


Feature proposal: Partial object updates

I often find myself wanting to use wtforms to populate an object for PUT operations. However the current behavior of populate_obj() essentially clobbers all model properties if even if they were not intended to be changed. This would allow the use of wtforms to validate fields and partially apply them to an object.

I am looking forward to see this PR merged, it will allow the use of patched data. And it will solve this ticket too I guess: https://github.com/wtforms/wtforms/issues/109

I'm shelving this as far future

Does this also addresses the case where a field value would be required but not provided:
For example, a title field could be required only when provided, the form wouldn't fail if the "title" was not a part of BaseForm._formkeys

It looks like this doesn't account for validation. It also can't account for nested fields, which the other PR had an issue with too.
POST and PUT both have the expectation that the full resource is sent. PATCH does not, but also implies a more sophisticated algorithm than implemented here.
I recognize that support for PATCH requests would be useful, but I think we need to do some more design work on this still.


People API Support

Hi,
I couldn't find support for Google People API. https://developers.google.com/people/.
IS there any way I can use this library for Google People API. I couldn't find any service classs / GTLObject Subclasses to support Google People API.

Unfortunately, that the People api is REST only, and this project currently uses JSON-RPC instead; so they won't work at the moment.
But keep an eye out for some news in the near future, we've got some work in flight to support all the newer REST only apis.


Combine the server, app and library into one monorepo

Use gradle subprojects, re-org into a mono-repo and then archive the other repositories.

Fixed with https://github.com/compscidr/awm/commit/2ae72731819c363450d7f02058e0011c7f6946be


Multiple errors on request validation

Hi,
I have enabled the request validation (https://openapistack.co/docs/openapi-backend/request-validation/)
I have a post where I can submit a json object.
It works nice, but it returns only a single error.
If i solve this, it returns the other error.
So it works good, only is my question, is it intended that it only returns a single error for a json object?
Or can I also return multiple, is it something in the openapi-backend package, or is it because another dependency for the openapi validation?

You could try customizing the ajv options with this https://ajv.js.org/options.html#allerrors

Thanks for the suggestion, I receive still a single error back.
But maybe I do something wrong:
const api = new OpenAPIBackend({
    definition: openAPISpecification,
    strict: true,
    customizeAjv: (originalAjv) => {
      addFormats(originalAjv, { allErrors: true })
      return originalAjv
    }
  })


successful and failed helpers for HTTP

As proposal. Sometimes it is need need to handle errors and success separately, so then you may do:
// get flat non interrupting stream of errors
let error$ = HTTP.flatMap(r$ =>
  r$.skip().catch(e => O.just(e))
)

// get flat non interrupting stream of success
let success$ = HTTP.flatMap(r$ =>
  r$.catch(O.empty())
)

Maybe this should be encapsulated into driver helpers:
// get flat non interrupting stream of errors
let error$ = HTTP.failed(/* could take mapping function for error */)

// get flat non interrupting stream of success
let success$ = HTTP.successful(/* could take mapping function for response */)

Also would make possible such:
// get flat stream of errors
let error$ = HTTP.select('users').failed()

// get flat stream of success
let success$ = HTTP.filter(r$ => /users/.test(r$.request.url)).successful()

To allow such usage:
let successOfFiltered$ = HTTP.filter(r$ => ...).successful()

there probably a need to proxy methods like map, filter on the response$$ to save this helpers, I would also save this way isolateSink, isolateSource, because they are lost too after filter or map.
wdyt?
Originally where proposed getSuccess and getError helpers.

@whitecolor Let's give it a try. Instead of attaching it to the HTTP source, let's have them as standalone functions, which can be imported. Release it as a small library and let's see how people feel when using it.

You mean imported and attached like this:
import {attachToDriver} from 'some-driver-helpers'
...

let httpDriver = makeHTTPDriver()
attachToDriver(httpDriver)

?

No, I mean
import {successful, failed} from 'some-module-for-driver-helpers'
...
let error$ = failed(HTTP.select('users'))

Ok I get you.

Ok I get you. Though I'm not sure how this should be called)

@whitecolor rx-maybe, rx-railway, rx-flatcatch?

I have implemented this methods in my driver factory, and they can be used from there
https://github.com/whitecolor/cycle-async-driver/#filtering-helper-select
It can be used as @staltz proposed or can be attached to driver source
HTTP
 .select({method: 'POST', url: /users/})
 .filter(...) // helpers will are available after filter, and other stream transform methods as well
 .successful((res, requests) => res.body)

How about instead of attaching, you leverage let (RxJS) or compose (xstream)?
HTTP
 .select({method: 'POST', url: /users/})
 .filter(...)
  // helpers will are available after filter,
  // and other stream transform methods as well
 .compose(successful((res, requests) => res.body))

Attaching allows to keep fluent API, but variant with let and compose are definitely better then:
import {successful, failed} from 'some-module-for-driver-helpers'
...
let error$ = failed(HTTP.select('users'))

I will implement it.

I add this ability to use it in either way https://github.com/whitecolor/cycle-async-driver#external-use-of-helpers-with-other-async-drivers
So it can be this way:
import {select, successful, failed} from 'cycle-async-driver'
...
select(HTTP, {method: 'POST', url: /users/}) // select helper to can be used
 .filter(...)
 .let(successful) // will get all successful (without mapping)

I wonder what you think about the default names of such helpers, possible variants:

successful and failed
success and failure
success and fail
succeed and failed

Released it, chose default names success and failure.

Good stuff @whitecolor. I think we should have more initiatives like this for experimentation, which we release as a separate library, the community uses until it becomes a popular solution, and then we can make it official.
I suggest now to add this to awesome-cycle repo.

Also, I'll close this issue just because otherwise it would look like it's still not done. If/when we want to put it in HTTP driver, we can reopen this issue.


badge7 ex5 uses ndarray instead of operator

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: quantum-kittens:x: Soon TehSoon Teh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@soon-teh thank you! for the PR.
when you get a chance can you sign the CLA? thanks.


Deprecate xdem.spatial_tools.subtract_rasters

This was a very useful function back in the days! With the addition of @adehecq's operators on Rasters, however, it is more or less redundant now.
How to subtract a raster
Pre-May (when it was needed):
dem2_reproj = dem2.reproject(dem1, resampling="...")

ddem = xdem.DEM.from_array(dem1.data - dem2_reproj.data, transform=dem1.transform, crs=dem1.crs)

With the (now redundant function):
ddem = xdem.spatial_tools.subtract_rasters(dem1, dem2, resampling="...")

Today:
ddem = dem1 - dem2.reproject(dem1, resampling="...")

There are fewer lines when not using my function and instead @adehecq's operators. Therefore, I would consider xdem.spatial_tools.subtract_rasters redundant.
Should we remove it, @adehecq @rhugonnet ?

Agreed! I just thought about it a few days ago when I was reading the documentation...


AZ Login seems to stop working on Linux hosts

Describe the bug
Command Name
az login
Errors:
Get Device Code request returned http error: 400 and server response: {"error":"invalid_request","error_description":"AADSTS220050: The specified encryption key version override 31 was not found in the list of keys.\r\nTrace ID: 1dc9b7c7-c123-4ad1-9c01-d3a2a0287d01\r\nCorrelation ID: 810b74f5-e81c-4110-80f7-4f34aa92a2f5\r\nTimestamp: 2019-06-10 22:11:16Z","error_codes":[220050],"timestamp":"2019-06-10 22:11:16Z","trace_id":"1dc9b7c7-c123-4ad1-9c01-d3a2a0287d01","correlation_id":"810b74f5-e81c-4110-80f7-4f34aa92a2f5"}

To Reproduce:

az login

Expected Behavior
Directed to a web url in order to authenticate.
Environment Summary
Linux-4.18.0-1014-azure-x86_64-with-debian-buster-sid
Python 3.6.5
Shell: bash

azure-cli 2.0.66

Additional Context
Also is broken on another Linux box running an older version.  I also updated this to a new version today to see if that would fix it.  Works fine under OSX, so it appears to only affect my Linux version and isn't related directly to an account.

Howdy @element-of-surprise! Good to see a Gopher over here in the CLI world. :)
Could you tell me more about how you're installing the CLI? In general we don't have a repository for buster yet. Though, getting bug reports back from sid is always valuable so that we know if there's something coming around the corner.

I did just test in a debian:stretch container, and there everything seems okay. Also for general Linux testing via my Fedora 29 machine, all seems well.

We chatted offline, and it sounds like this is transient. Guessing it's backend related.


Control nodes inside a subviewport do not observe anchoring behavior

Godot version
4.0.1
System information
Arch linux
Issue description
Nodes created for a subviewport do not observe anchors layout mode.
Steps to reproduce
Create a control node scene. Throw in some colored rectangles with different anchor points. Create one colored rectangle with a position layout mode. Only the position layout mode will be rendered in the correct position.

becomes

Minimal reproduction project
Containertest.zip

The subviewport has a different size (512×512 by default). If your root viewport or default window size in the editor is different from the subviewport's size, it's expected that anchors will put UI elements in diffrent positions compared to the root Viewport.
@croxis Please upload a minimal reproduction project to make this easier to troubleshoot.

Attached


[CSS+JS] idea for implementing the @document rule for many browsers

Request type

[x] Correction or update

Details

I am writing about the change I tried to make in the document: https://developer.mozilla.org/en-US/docs/Web/CSS/@document on January 6, 2020.
My goal was to show how to replace the @document rule in combination with function domain() in user stylesheet (in userContent.css) so that it can be used in any web browser. The @document rule is only supported in firefox, while the attribute selector is widely supported. Unfortunately, my idea also uses JavaScript, so you'll also need a user script (run in firefox using an add-on). I saw no other way to replace the @document rule currently unsupported in other browsers.  The @document rule (in the form @-moz-document) is supported in firefox since version 1.5, i.e. for about 14 years. Over the past 14 years, other browser developers have not implemented their counterpart to this very useful (at least in user style sheets) rule! Earlier, I was still not sure if the selector was properly selected, i.e. whether it works only on selected pages. This method, which I described below, is in my opinion very clever and transparent. However, I didn't know how to describe it on MDN's page (https://developer.mozilla.org/en-US/docs/Web/CSS/@document). I don't write fluent English either, so I'd like someone to describe my idea on this page. I think this site is suitable for this purpose - at least in user scripts - to use solutions that will work on many web browsers. My idea is as follows:
JavaScript reads the full domain name and assigns this string as a custom data attribute to an HTML element that is higher than the topmost HTML elements that can be referenced in CSS selectors. In my opinion, this element should be 'body'. In other words, the 'body' element will get an attribute whose value will be the full domain name of the server where this HTML document is. So the "body" element on this page (https://developer.mozilla.org/en-US/docs/Web/CSS/@document) would look like this: 'body[data-at-document="developer.mozilla.org"]'
The "data-at-document" attribute is a custom data attribute named "at-document" because the "data-" part is mandatory for this type of attribute.
The JavaScript code implementing the above-mentioned action looks like this:
if(document.location.hostname != ""){
document.querySelector('body').setAttribute('data-at-document', document.location.hostname);
}
The "if" statement is used to exclude situations where the string obtained from "document.location.hostname" is empty. This happens e.g. when a saved page from the internet is opened on the user's computer. If the "data-at-document" attribute was then assigned an empty string value, this would prevent the use of the selectors that were used when the page was on the server.
After these actions, the @document rule in conjunction with the domain() function is replaced with a CSS selector, where instead of "domainString" enter a string representing the domain name:
'body[data-at-document$="domainString"] '
At the end of this selector there is a space that allows you to select any descendant of the body element if 'body' has the "data-at-document" attribute and the value of this attribute is suffixed (followed) by "domainString", e.g.
body[data-at-document$="mozilla.org"] a
selects each anchor on the pages of the domain "mozilla.org" and all its subdomains
However, there is a problem because 'body[data-at-document$="mozilla.org"] ' will also work on "badmozilla.org"
You can then use the exact comparison (without the "$" sign), but then no subdomain will be included:
body[data-at-document="mozilla.org"] div
selects each element of 'div' on the pages of the domain "mozilla.org"
This idea to bypass the failure of other web browsers to implement the @document rule can be improved. You can use "document.URL" and "[attr ^ = value]" to replace the @document rule and the "url ()" and "url-prefix ()" functions. What I wrote here is just a sketch. I can try to develop it, but I don't want to waste time. What I came up with, I wrote here and it is absolutely enough for me.
I would like to overcome the inability to wait for the @document rule to be implemented in other browsers.

Hi there @An-Error94!
Thank you for providing this explanation — this makes a lot more sense now.
So, I think it is valuable to share this somewhere, but I'm not sure directly on the MDN page is the right place. It is basically a polyfill, and we made a decision a while ago to discourage polyfills being shared on MDN, because that gives us another set of tools to have to maintain, and we just don't have the time.
But I would be in favor of helping you out in other ways. Perhaps you could write it up and put it on a Github repo somewhere? Then we could link to it from MDN.
I'd also be happy to help edit the language.

Hi @chrisdavidmills!
Thank you for your response. Thank you very also much for the offer of help on your part.
I really like your suggestion. I will write the code in my GitHub repository. The link to it is as follows: https://github.com/An-Error94/Handy-Scripts/tree/master/%40document polyfill
I'm afraid I will only be able to create a solution for "url ()", "url-prefix ()" and "domain ()".

Cool, let me know when it is ready and I will copy edit it.

Thank you so much for wanting to help me.
I have already finished my polyfill. I need an external opinion about this polyfill. I did what I could. I think it can't be done better. I don't know if I chose a good substitute character for the hyphen (I chose "^" - it goes to the attribute) in the domain () function. I tried to write legibly and correctly in English, but in this matter I need help if something would be incomprehensible. I abandoned the idea with the attribute matching the end of the attribute value (attribute $ = "value") due to the problems mentioned in the previous message.
I am not sure if the current result is suitable for publication.

My work is ready to copy.

Thanks for your work, but MDN doesn't want to be a host of polyfills for various reasons. See https://discourse.mozilla.org/t/mdn-rfc-001-mdn-wiki-pages-shouldnt-be-a-distributor-of-polyfills/24500


Get car image

Hello,
On the blue link app there's an image of the car showed on the Home screen
Is there an api endpoint that let us fetch that image ?
Thank you

Yes it exists.  Happy to receive pull requests to add this feature.

I'm able to retrieve my car image url by listening to outgoing connection of my Bluelink app, but I can't find how to get it using the api....
I'll investigate further


Refactor community assets section of current Carbon website

Currently the Carbon website Community index section is out of date. We would like to update this to reflect our new carbon platform

Remove current content from community index—out of date and not needed.
Point user to Carbon platform in the community index
Review community asset content to see what content needs to be changed or removed

Figma: https://www.figma.com/file/nwqobPLCIzp2O6CTprT4zh/CommunityAssets?node-id=1%3A3160

@jeanservaas @aubrey-oneal

Final designs here:
https://www.figma.com/file/nwqobPLCIzp2O6CTprT4zh/CommunityAssets?node-id=23%3A796
Changes
Overview

Update content
Add notification
Add image

Community index

Remove the index component and all functionality on the "Community index" tab
Remove the tab "Contribute a component" and delete its content
Add new content, notifications and tiles

Patterns

Add notification

Domain Guidance

No changes need atm

@aagonzales I created a cross-linked a dev issue to make this happen.


Apply Recommended settings keeps coming even after apply and reload

Actual behavior
On click of Apply & Reload the VSCode re-opens but recommended settings is not applied
Steps to replicate

Workspace settings is FileAutoSave:Off.
The Recommended settings suggestion appears. Click on Apply & Reload.

VSCode is reloaded however the settings is applied in User Settings. Workspace settings override user settings.
Hence the popup comes again.

Version
gauge-0.0.4.nightly-2018-04-19.vsix

This issue was moved to getgauge/gauge-vscode#239


Added default .gitignore and re ref license file

Adding the default .gitignore file to repo for Visual Studio
Update reference in the VS proj to the license file - appears the auto bot thing removed it - 6edf51e1261e7541149356ba42c0503915de1ffe

Looks like a copy paste job - assembly info refers to PowerBI example - https://github.com/Microsoft/PowerBI-CSharp/commit/7787b742c83952266deef179cce0562c66d05efa


Connecting to redis via unix sockets not possible

The version 1.2 accepted a unix://<path> style socket path to connect to redis. credis does still support this, but the Resque_Redis-Wrapper does not allow the "unix" protocol in parseDsn.
This should be allowed, although unix sockets do not understand the notion of ports.
A workaround is to use Resque::setBackend(array(array('host' => 'unix://<path>'))), but this is not easily possible on the command line to use the supplied bin/resque worker (this works because an array is directly passed to Credis_Cluster, which then initializes Credis_Client(s)).
I also barely found any documentation of this feature. It would be nice if this is mentioned at least somewhere.

@beheh: It actually works if you just pass absolute path of unix socket as hostname (without scheme etc). And yes, unix:// prefix isn't supported right now at all. And as you said just adding unix to allowed schemes in Resque_Redis::parseDns() doesn't cut it because of the shortcomings of parse_url() function. Somebody should do something :).

Addressed by #298


Put Pesto back into the Flutter gallery

Looks good. Corrected assets publishing later today. This is dependent on that.

Spoke IRL and with @HansMuller . The assert is a shortcut to having this show only in debug mode (for developers) and not have it included in release mode.


Move block cache from memory to files

Improve performance of fetching blocks from zcashd, now almost as fast as using a full (back to Sapling activation) memory cache (100k blocks returned in a few seconds), but the lightwalletd restart time is instantaneous, instead of about 40 minutes (to load the memory cache back to Sapling). Also, since there is no memory caching, the memory footprint is much smaller (28 MB) than the previous version, especially when configured to maintain a full cache (about 223 MB). The disk space requirement of this version increases from zero to about 50mb (all block data can be stored much more efficiently on disk than in a memory cache). The -cache-size command-line argument has been removed since the cache must always go back to the first Sapling block.

@adityapk00, please take a look at this, if you have time (I couldn't add you as a reviewer but would love your review.)

@LarryRuane I checked out the branch, I didn't notice it syncing from sapling activation. it synced from  block 715000 on
{"app":"frontend-grpc","level":"info","msg":"Got sapling height 280000 chain test branchID 2bb40e60","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Starting gRPC server on <IP_ADDRESS>:9067","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715651","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715652","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715653","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715654","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715655","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715656","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg":"Ingestor adding block to cache: 715657","time":"2020-02-10T13:54:14-03:00"}
{"app":"frontend-grpc","level":"info","msg

this is how I launched it
./server --no-tls-very-insecure=true --conf-file ~/Library/Application\ Support/Zcash/zcash.conf --log-file server.log --bind-addr <IP_ADDRESS>:9067

My Zcash.conf
addnode=testnet.z.cash
testnet=1
server=1
rpcuser=[REDACTED]
rpcpassword=[REDACTED]
rpcbind=<IP_ADDRESS>
rpcport=8232
experimentalfeatures=1
txindex=1
insightexplorer=1

I changed this to WIP because it needs to handle file corruption. The good news is that both files are simply a sequence of per-block data ordered by height. If file corruption is detected, we can truncate the two db-* files at the offset corresponding to that block height, and continue fetching blocks starting from that height. In the worst case (corruption at the start of either file), we will just download all blocks (as if the files didn't exist). So recovery is easy.
The detection of corruption is also easy. To detect corruption:

As we're reading the db-*-lengths file during startup, sanity-check the block lengths. There is a relatively narrow range of possible values.
Precede each block by its checksum or hash. It could be the actual block hash, but that would mean the db-*-blocks file would be about 32 MB larger (with a million blocks), a pretty large fraction of the current 50 MB. Since this doesn't have to be a cryptographically-secure hash, we can get by with a 4 or 8-byte hash, as documented here. With even a 4-byte checksum, the per-block probability of undetected corruption is one in 4 billion.

Startup time would be delayed too much if we verify the checksums at that time, so I propose to verify the checksum each time we read a block and its checksum from disk (still a single read). If corruption is detected, then take the action described above (truncate both files at that point, fetch the requested and subsequent blocks from zcashd). We should verify the checksum on each block read anyway, in case the file is corrupted after startup.
It will be straightforward to unit-test these changes.

@defuse, I think I addressed all your concerns. If any data corruption is detected, the db files are automatically truncated to zero-length, and the ingestor begins downloading from the beginning. During that time, GetBlock() requests are satisfied but will be slower (just like during any initial block download). The server tries very hard to recover gracefully instead of crashing.
If you would like to test out the corruption handling, I added a tiny program, testtools/zap.go, which can "zap" (increment) a specified byte in a specified file. I ran that on a byte near the start of the db-main-blocks file while the server was running, and then requested that block (using grpcurl ... GetBlock), and it got the correct response (because it reverted to asking zcashd), but the lightwalletd truncated both of its files to empty, and began (or restarted) downloading from the beginning (you can see that this happened in server.log). Or you can zap various offsets in the blocks or lengths files while lightwalletd isn't running, and you will see that when you start it, it detects the corruption and starts over. (The lengths file isn't read after startup.) Except, note that it doesn't verify every block during startup (that would take too long); it does verify the first block, and it verifies blocks as they are read (GetBlock and GetBlockRange gRPCs).
I did a lot of manual testing, but haven't written any corruption-detection and recovery unit tests yet; I really don't have time in this sprint and would like to get these changes in, so I will get to it later (if you don't mind).


Command line API definition

Pull request
Define Silicone's command-line interface. This is just a sketch but should help us with later design decisions. My current think is that the workflow looks something like this:

User decides which scenarios they want to infill, which scenario database they want to use for doing the infilling (i.e. which scenario tells you how e.g. CH4 emissions relate to CO2 emissions) and where you want the outputs to go.
The user sets any other config in a yaml file

I don't know what options we want to offer yet, but putting it in a yaml file will make it pretty easy to extend in future

Then they just call silicone-infill source_file database_file output_file --config user-config.yaml and away it goes

I use the click package for command-line interfaces like this cause it's super simple.
Please confirm that this pull request has done the following:

[x] Tests added (N/A)
[x] Documentation added (where applicable)
[x] Example added (either to an existing notebook or as a new notebook, where applicable) (N/A)
[x] Description in CHANGELOG.rst added

Adding to CHANGELOG.rst
Please add a single line in the changelog notes similar to one of the following:
- (`#XX <https://github.com/znicholls/silicone/pull/XX>`_) Added feature which does something
- (`#XX <https://github.com/znicholls/silicone/pull/XX>`_) Fixed bug identified in (`#YY <https://github.com/znicholls/silicone/issues/YY>`_)

@lewisjared your thoughts on this would be super helpful

Closing until we want a CLI


ContentType Header is missing.

here is my class where i want to connect with my mobile and i have set mobile ip address and port in moveable.xml.
    public class DetectMotionFromIpCamerasExample {
	static {
		Webcam.setDriver(new IpCamDriver(new IpCamStorage("src/moveable.xml")));
	}
	public static void main(String[] args) throws MalformedURLException {
		JFrame f = new JFrame("Detect Motion Multiple Cameras");
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setLayout(new GridLayout(0, 3, 1, 1));
		WebcamMotionListener listener = new WebcamMotionListener() {
			@Override
			public void motionDetected(WebcamMotionEvent wme) {
				synchronized (this) {
					System.out.println("motion detected ---------------- ");
					System.out.println("webcam: " + ((WebcamMotionDetector) wme.getSource()).getWebcam());
					System.out.println("diff area: " + wme.getArea() + "%");
					System.out.println("cog: [" + wme.getCog().getX() + "," + wme.getCog().getY() + "]");
				}
			}
		};
		final List<Webcam> webcams = new ArrayList<Webcam>();
		final List<WebcamPanel> panels = new ArrayList<WebcamPanel>();
		final List<WebcamMotionDetector> detectors = new ArrayList<WebcamMotionDetector>();
		for (Webcam webcam : Webcam.getWebcams()) {
			webcams.add(webcam);
			WebcamPanel panel = new WebcamPanel(webcam, new Dimension(256, 144), false);
			panel.setFitArea(true);
			panel.setFPSLimited(true);
			panel.setFPSLimit(0.5); // 0.5 FPS = 1 frame per 2 seconds
			panel.setBorder(BorderFactory.createEmptyBorder());
			f.add(panel);
			panels.add(panel);
			WebcamMotionDetector detector = new WebcamMotionDetector(webcam);
			detector.addMotionListener(listener);
			detector.setInterval(100); // one motion check per 2 seconds
			detectors.add(detector);
		}
		f.pack();
		f.setVisible(true);
		for (int i = 0; i < webcams.size(); i++) {
			final int x = i;
			Thread t = new Thread() {
				@Override
				public void run() {
					webcams.get(x).open(); // open in asynchronous mode
					panels.get(x).start();
					detectors.get(x).start();
				}
			};
			t.setDaemon(true);
			t.start();
		}
	}
}

moveable.xml is here
<?xml version="1.0" encoding="UTF-8" ?>
<storage>
<!-- <ipcam name="Biblione Palace" url="http://webcam.hotelbibionepalace.it/mjpg/video.mjpg" mode="push" /> -->
<ipcam name="my" url="http://<IP_ADDRESS>:8090" mode="push" >
</ipcam>
</storage>

P.S : i have installed an app on my mobile called IP Cam which allows me to use it as webcam through its ip:port, thats same ip port i m giving in this xml. is this right way or i m messing something, actually i want to connect any camera through ip whether it is mobile or SLRs..
here is the screenshot of error.
https://cloud.githubusercontent.com/assets/10362378/5772140/3d430c72-9d6e-11e4-9b85-4716d416f3ac.png

Hi, can you post the stack trace?

https://cloud.githubusercontent.com/assets/10362378/5772140/3d430c72-9d6e-11e4-9b85-4716d416f3ac.png this is same as i showed you on #216

@10sw33 Ok, but this is not the problem you described in this ticket. In the title you wrote it is about NullPointerException in IpCamDevice.java:290. The #216 is about using invalid IP camera authorization credentials. And from the screen shoot you posted in the other ticket is seems like your URL is wrong.

yes you were right, thanks i changed the URL and it worked :100:  you made my day :)

Ok, I'm closing this ticket. Take care!


yarn dev exploding

I'm triying to run yarn dev under arch linux, it actually used to work but since an update stopped working with the following error:
yarn run v1.19.1
$ parcel ./index.html -d build
(node:30498) UnhandledPromiseRejectionWarning: Error: Could not locate the bindings file. Tried:
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/build/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/build/Debug/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/build/Release/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/out/Debug/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/Debug/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/out/Release/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/Release/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/build/default/deasync.node
 → /files/git/privat/mermaid-live-editor/node_modules/deasync/compiled/13.1.0/linux/x64/deasync.node
    at bindings (/files/git/privat/mermaid-live-editor/node_modules/bindings/bindings.js:88:9)
    at Object.<anonymous> (/files/git/privat/mermaid-live-editor/node_modules/deasync/index.js:30:31)
    at Module._compile (/files/git/privat/mermaid-live-editor/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1103:10)
    at Module.load (internal/modules/cjs/loader.js:914:32)
    at Function.Module._load (internal/modules/cjs/loader.js:822:14)
    at Module.require (internal/modules/cjs/loader.js:956:19)
    at require (/files/git/privat/mermaid-live-editor/node_modules/v8-compile-cache/v8-compile-cache.js:161:20)
    at Object.<anonymous> (/files/git/privat/mermaid-live-editor/node_modules/parcel-bundler/src/utils/syncPromise.js:1:79)
    at Module._compile (/files/git/privat/mermaid-live-editor/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
(node:30498) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:30498) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Done in 0.24s.

I don't really have a clue about nodejs stuff so please help me what could cause this.

No idea?
if info is missing tell me which and I will provide it.


Basket Trading demo testing

[ ] what does this tile suppose to show (last one in the tile)

this is after basket on market is all filled

[ ] when selecting basket, highlighting two rows (baskets) when hovering over the basket

[ ] should these fields be populated

final val NotionalUsd = "notionalUsd"
final val NotionalLocal = "notionalLocal"
final val Venue = "venue"
final val Algo = "algo"
final val AlgoParams = "algoParams"
final val PriceSpread = "priceSpread"

I've fixed the issue of multiple rows being highlighted in the Basket Selector dropdown. Rest are server side.


send() email function sending emails in plain text when it should send in HTML

Please see my post at Stack Overflow. (Screenshots etc included.)
http://stackoverflow.com/questions/38559410/silverstripe-email-templates-mac-mail/38559595#38559595
It appears that the "send()" function is sending some of the information in plain text, and some of it in HTML.

From your SO post it doesn't look like Plain emails are sent when it should be HTML - you're reporting (in the SO post) that your emails come in two parts, one HTML and one plain-text.
This is intended behaviour as it allows email clients that don't support HTML to show plain text versions.
I don't think this is a bug with framework and is a support request so I'm closing this - hopefully SO will help, if not please try our forums, IRC and other community resources that can be found on the silverstripe.org website.


No force feedback effect when Logitech G29 connected Carla

My system is Ubuntu18.04, my G29 can be recognized by the system after  installed jstest-gtk, and I can control the vehicle by run manual_control_steeringwheel.py, but it dose not have force feedback effect. Does anyone know how to do?  Thanks very much！

I solved it. Reinsert the usb of G29 many times, then it's ok.

wiat, how did you solve it??

I also get this error:
ConfigParser.NoSectionError: No section: 'G29 Racing Wheel'


Text results printed to terminal incomplete

The textual output from the helper is not always completely shown to the terminal. Meaning there are tests cut off and the footer does not show up.
This can happen if there is still a node async task somewhere, but the program has exited before flushing all the output to the terminal.
If I wrap the command in a logger command (e.g. tee.js), I cannot reproduce it anymore, but given this is a race condition, I think this just changes the timings and thus it just happened to work as expected by chance.
$ node --version
v14.16.1

The JSON output seems to be not affected.
I'm not sure if this bug is in this library. I encountered it only using @skills17/cypress-helpers.

I think newer Node.js versions do no longer have this problem.


Change the view of customer profile, when customer log in profile section open as form.

Title
Change the view of customer profile, when customer log in profile section display as form.
Issue Description
Change the view of customer profile, when customer log in profile section display as form.
Preconditions
1. framework Version.- master

Steps to reproduce
1. step1- Log in as a customer

Expected result
Profile should display as in default bagisto.
Actual result

Not Fixed.

Update the delete button alignment

Fixed


update benchmarks for v0.0.8 [skip ci]

cc @iamdustan
A litte bit smaller

we need to find a way to update benchmarks on same hardware - run on CI server - probably not going to be same configuration container every time I suppose. How do projects generally run benchmarks ?

Oh another thing we can do is run a diff of the outputs

We should definitely do a diff. That's what React does — compares local changes to master branch. As far as absolute numbers in readme I think it doesn't really matter. What matters is how they are in relation to gcc/uglify.

Oh yeah I think I saw an example of that before but forgot cc @zpao?

We've not been running benchmarks per se but tallying some data so we can compare runs (I think we did some perf stuff in the past but weren't getting a ton of great data). For the tallying, we just update a text file as a lazy DB in a branch from CI, which lets us build http://isfiberreadyyet.com/. It's pretty boring actually :)
https://github.com/facebook/react/blob/master/.travis.yml#L86-L95
https://github.com/facebook/react/blob/master/scripts/facts-tracker/index.js
https://github.com/facebook/react/blob/facts/fiber-tests.txt

that was fast!

How are we so behind on jQuery comparing to uglify?! This looks very fishy.

Yeah we could also just run it without whitespace removal and do a diff if that can give us anything?


Office 2016 Updates?

Hello,
I am trying to update/upgrade Office 2016.
The Product has been installed on a new machine.
I run https://hinchley.net/articles/extract-installed-microsoft-office-updates-from-computer-using-powershell/ this script to collect the upgrades from a machine where Office 2016 is up-to-date it created a folder Updates...
I copied the folder to the new machine and now I have a bunch of msp's waiting for installation, what should be done to apply them, if the previous steps were correct...
Thanks,
Dom

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Feature/upgrade steal

One test is failing in Firefox with Testee. Others are passing. Still looking into it.

@Bajix I don't think this change needs a release, right?

Oh, nm, it does. I'll do a prelease.


adjust service name naming convention

Adjust service name naming convention for all cases
to avoid same changes in all instrumentations

I actually expected a bunch of the tests to fail with diffs in the verify files but at quick glance they didn't. It seems that the few failures are related to AWS instrumentation.

I actually expected a bunch of the tests to fail with diffs in the verify files but at quick glance they didn't. It seems that the few failures are related to AWS instrumentation.

I have removed Metrics property from AwsSqsTests->Expected tagList. It leads to NullReferenceException. Fixed already.


Deleted duplicated meshes from URDF directories

Updated description packages for the DVLs and plug and socket to use the
meshes from the SDF models instead of duplicating them (DVL models are
in the dave_sensor_models package, and the plug and socket models are in
the dave_object_models package).

Pull request is associated with issue #151.

@mabelzhang The CMakeLists.txt files files have been updated if you want to give it another quick look and approve the merge (if nothing else is broken).


PDF export with phantomjs-node: paperSize and vievportSize

Hi Amir,
I am trying to export a report page as PDF in letter(landscape) format.
I set the paperSize and the viewportSize to my best understanding of PhantomJS but no matter what I do the output is always the same size.
No matter what I do the PDF export is always 14.67 * 11.33 inches, and not 11 * 8.5 inches.
Here is a stackoverflow post I just made in the same regard.
It would be great if you could comment if anything springs to mind.
Best,
Dennis
I run this on Windows10 (anniversary edition).
Node v4.4.7
phantom v2.1.21
phantomjs-prebuilt v2.1.12

Please ignore... I just read how to set the properties in your bridge correctly.
        page.property('paperSize', {
            format: 'Letter',
            orientation: 'landscape'
        });

        page.property('viewportSize', {
            width: 1056,
            height: 816
        });

All working smooth now.


Team5 - sprint 1 - UI

Dialogue box

Actor object used to display dialogue in-game

Main menu

display image fullscreen
play game functionality
settings menu functionality
exit game functionality

Pause menu

pause game time functionality
settings menu functionality
resume game functionality
exit game functionality

In-game UI

display resource count
display minimap
display player current health
container for dialogue boxes

wiki documentation

Dialogue boxes are planned to be wholly mutable, currently not everything is for compatibilities and designs sake.
No dialogue box is currently being displayed in game, as cutscenes have not been fully implemented yet.

Pause Menu is planned to be toggled using ESC key instead of a button on the top right of the in-game screen, and there are still some minor issues between pause menu and camera that yet to be fixed

The game engine displays a main menu with a background image and basic sound. The user may choose to "Start Game" which  initialises game play. In the future, we plant to implement a cut scene that acts as a "transition" between the initial menu and game play. In the future, we also plan to replace the "Text Buttons" with "Image Buttons" using the Image button designs.

The main game screen contains an updatable widget containing the current count of player resources in the top right corner. The resource tracking events need to be added to the display file to link the UI with resource tracking functionality.


Track shutdown time in status message

Right now this data is only available in the executor logs, which disappear after being cleaned up by mesos. This adds the time between a kill being sent and the process shutting down in the status message for easier viewing

🚢