API: Remove property getter APIs

For a more compact library, I suggest to remove the following property getter interfaces. ThorVG's core policy is based on a 'fire & forget' model. When building rendering or scene models directly, they're likely to have their own data models, and those models will certainly maintain property values separately. It is uncommon and not encouraged to check and reuse property values through objects like paint or shape (still, we allow to access it for a aggressive optimization but it's not our main guidance). This decision has been made based on current thorvg 0.x features & usage, but the policy may change according to functionality expansions and user demands after the 1.0 release. If you are fully rely on the getters, this change might be sensitive. Please feel free leave opinions if you actually needs them or any other thoughts. Thanks.

Candidates:

[ ] uint8_t Paint::opacity() const noexcept
[ ] CompositeMethod Paint::composite(const Paint** target) const
[ ] uint32_t Fill::colorStops(const ColorStop** colorStops) const
[ ] FillSpread Fill::spread() const
[ ] Matrix Fill::transform() const
[ ] Result LinearGradient::linear(float* x1, float* y1, float* x2, float* y2) const
[ ] Result RadialGradient::radial(float* cx, float* cy, float* radius) const
[ ] Result Shape::fillColor(uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a = nullptr) const
[ ] FillRule Shape::fillRule() const
[ ] float Shape::strokeWidth() const
[ ] Result Shape::strokeFill(uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a = nullptr) const
[ ] uint32_t Shape::strokeDash(const float** dashPattern, float* offset = nullptr) const
[ ] StrokeCap Shape::strokeCap() const
[ ] StrokeJoin Shape::strokeJoin() const
[ ] float Shape::strokeMiterlimit() const

The removal process is scheduled to proceed after the 0.15 release.

@JSUYA Understood. Now, we need a real scenario of those usages. I introduced them from the get go for that reason, but ThorVG lies somewhere between bottom side primitive graphics and a framework. While a framework should handle this, it may not be ThorVG's role. Eventually, if no one would expect to use them in a real scenario, the APIs might be wrongly designed, and my thoughts has being reached to there by Lottie implementation. Most of them hasn't been required at all even in super complicated scenario, I can assure few usages might expect to use them, but even though they can handle their side without difficulties without them.
Those APIs have been almost 4 years with 0.x version and time to prepare a shift of the thorvg v1.0. We can start there again with the proved features and we can revisit them if their values are proved.

Please suggest any actual issues of yours. Thank you.

I don't disagree with the direction, but I'm just worried.  If you ask me about a actual use case... there is Tizen. Tizen is using an old version of thorvg currently, but I know there are plans to update it. If they use the latest version after v1.0, and the getter disappears, they may need to add the data model used by the candidate APIs.
https://github.com/dalihub/dali-adaptor/blob/5af778baef0c3d15215f130901f6f235fa1de018/dali/internal/canvas-renderer/tizen/linear-gradient-impl-tizen.cpp#L109
Also, if we have users of this type, they may already be using getters. https://github.com/orgs/thorvg/discussions/2493 / #2050
It may be a bit too much, but there may be cases like this.
We can access some paint of scene objects(Lottie, Svg), reference their properties, and change some of them.
These scene objects(Lottie, Svg) may have to use getters because users cannot have all properties as data.

I don't disagree with the direction, but I'm just worried. If you ask me about a actual use case... there is Tizen. Tizen is using an old version of thorvg currently, but I know there are plans to update it. If they use the latest version after v1.0, and the getter disappears, they may need to add the data model used by the candidate APIs.
https://github.com/dalihub/dali-adaptor/blob/5af778baef0c3d15215f130901f6f235fa1de018/dali/internal/canvas-renderer/tizen/linear-gradient-impl-tizen.cpp#L109

API must be proposed for users. If nobody uses it, it's not valid.
Please request it, if Tizen really do update.

scene objects(Lottie, Svg), reference their properties,
Please suggest those APIs, exactly.

Also, if we have users of this type, they may already be using getters. https://github.com/orgs/thorvg/discussions/2493 / #2050
In this context, they don't expect to use getters.

I don't disagree with the direction, but I'm just worried. If you ask me about a actual use case... there is Tizen. Tizen is using an old version of thorvg currently, but I know there are plans to update it. If they use the latest version after v1.0, and the getter disappears, they may need to add the data model used by the candidate APIs.
https://github.com/dalihub/dali-adaptor/blob/5af778baef0c3d15215f130901f6f235fa1de018/dali/internal/canvas-renderer/tizen/linear-gradient-impl-tizen.cpp#L109

API should be proposed to users. If no one uses it, it's not valid.
Please request it, if Tizen really do update.

I didn't understand no one uses. The link above is the code they are actually using.
Result Paint::opacity(uint8_t o) noexcept;
https://github.com/dalihub/dali-adaptor/blob/5af778baef0c3d15215f130901f6f235fa1de018/dali/internal/canvas-renderer/tizen/drawable-impl-tizen.cpp#L100
uint32_t Fill::colorStops(const ColorStop** colorStops) const
https://github.com/dalihub/dali-adaptor/blob/5af778baef0c3d15215f130901f6f235fa1de018/dali/internal/canvas-renderer/tizen/gradient-impl-tizen.cpp#L113
More getter APIs are being used in Tizen. Whether dali, NUI API that uses that getter inside Tizen is actually used is another issue, but there is a code that it is use anyway.

scene objects(Lottie, Svg), reference their properties,

Please suggest those APIs, exactly.

Are you talking about actual customer's code? I have no seen cases where it is used in projects that are other open sources or other applications. However, since we provide Accessor, it is quite possible to expect cases like example/Accessor.cpp.
What I mean is that it is possible. If the user creates the scene by painting it directly, we can guide to use own data model, but if user need to manipulate the paint of the scene from a resource such as a vector image as is now the case, they may need a getter.

Please suggest those APIs, exactly.

I'm talking about all getter APIs in the candidate list, not a specific getter API.

@JSUYA The Accessor demonstrates a workaround approach. Now, we can provide the paint ID directly, making the getter optional. The key components are the setters and retainable nodes, which allow overwriting of properties.

Result Paint::opacity(uint8_t o) noexcept; is a setter. Shouldn't be uint8_t Paint::opacity() const noexcept instead?
What about add Result Animation::segment(float *begin, float *end) noexcept to the list?

@lpogic thanks, updated the opacity. Animation is a data-driven feature. Users need to query these properties to control the animation. Thus, it's necessary.


Some warnings are seen in the browser dev tools console

After logging in the authenticator, some
react warnings are shown in the dev tools console which shall be removed

I don't see any missing key props error from React when I log in to the authenticator. But while opening Browser I see the following error similar to this on Windows. Is this OK? @hunterlester


print does not work as expected

In branch 2.0.   I  run the example of docstring
from __future__ import unicode_literals
from prompt_toolkit import print
from prompt_toolkit.styles import Style

style = Style.from_dict({
    'hello': '#ff0066',
    'world': '#884444 italic',
})
fragments = [
('class:hello', 'Hello'),
('class:world', 'World'),
]
print(fragments, style=style)

output
[('class:hello', 'Hello'), ('class:world', 'World')]

But when I commented the two lines， it work
 66     # Merges values.
 67     def to_text(val):
 68         # if isinstance(val, list):
 69             # return to_formatted_text('{0}'.format(val))
 70         return to_formatted_text(val, auto_convert=True)

Thanks for reporting! The documentation is wrong. The fragments list needs to be wrapped into a FormattedText object.
Originally, this wasn't the case, but I changed it that way, because I wanted to be compatible with the Python print function.

Fixed here: https://github.com/jonathanslenders/python-prompt-toolkit/commit/5dc9267d9b0e650b666da935be392e9538987d37
Also see the examples in this directory:
https://github.com/jonathanslenders/python-prompt-toolkit/tree/2.0/examples/print-text

@jonathanslenders is there a good way to print formatted text in such a way that it gets put above the prompt? Using the patch_stdout function, I can work with the normal printing, but I haven't figured out how to do formatted printing.

Hi @benhoff,
Sorry for the late reply. Right now, if you pass raw=True to patch_stdout, then it should work:
https://github.com/jonathanslenders/python-prompt-toolkit/blob/master/prompt_toolkit/patch_stdout.py#L35

@jonathanslenders
No worries, I got pulled off onto something else. Is there a good way to find out if this gets added/merged?
Changelog? Documentation?
I'll probably pull back onto using this in a couple of months so it's no worries, just trying to figure out the best way to re-engage.


fix: MONDO latest version retrieval

Close #103

Agreed. I made a note in the issue to investigate into why it is happening to create an issue in bioregistry, but not sure when I'll get to it.


Translucid audio visualizer background

This can't be easily seen by casual users in the browser, but in the app this looks very beautifull.

Looks great! 👍


add page type templates

Adds examples of two page types to node app

Closing in favour of moving this to it's own package.


Bring database in sync with schema while prototyping

Problem
While getting started with Prisma or prototyping an idea where the model is not clearly defined, people try out different models, before figuring which one is a fit for what they want to do. During this process, it can be painful to make the database changes so that they reflect what's defined in the Prisma schema.
The current solution relies on prisma migrate which is experimental, and requires to produce migration files, and a table in the database every time an iteration on the schema is made. This adds friction to the ideation and prototyping process.
Suggested solution
Propose a simple command which allows to bring up the database schema at par with the Prisma schema, without generating any migration.
Suggested CLI command:
prisma schema push

This command would "push" the schema so that it gets reflected on the database.
Optionally, it could offer to force the changes and accept data loss, since the goal is to support prototyping in a development environment where data is not yet critical to keep. An option like --accept-dataloss or --force could be considered.
Alternatives
Today, the workflow requires to use prisma migrate, delete the generated migration files and the migration table regularly.

The migration engine part was merged last week: https://github.com/prisma/prisma-engines/pull/949
Remaining work:

(product) Decide on command naming and arguments
(CLI) Implement a CLI wrapper around the migration engine command

cc @albertoperdomo @Jolg42

Deemed out of scope (for now): Dealing with any potential changes made to the DB and not reflected in the Prisma schema file. This could be addressed by a combination of introspection and this workflow, potentially.

Naming and arguments considered:

schema push, schema apply, to be validated
default to non-destructive behavior with interactive prompt, can be overridden by passing a --force parameter.

Update: this is implemented as an experiment. We are going to validate the tool in the coming.

This is done on the engines side.

Released in Preview in 2.10.0

Check the release notes here 😉
https://github.com/prisma/prisma/releases/tag/2.10.0


get wrong size imege

when i set result image size
cropper.result({           type:"base64",           size:{         	  width:1000,         	  height:600           }       });
My settings are always replaced by default  - "viewport"

Probably related to this: https://github.com/Foliotek/Croppie/pull/303
Are you using the code in master or 2.4.1?

When I use the old version (2.4.0) everything is fine, But when i use 2.4.1 it does not work.
When  in 2.4.1 I remove line 1167  size: 'viewport' from RESULT_DEFAULTS again all works.

is ok sory

Adding that line fixed it in master for size: 'original'. Should I be using 2.4.1?


Change in the background of the Band page

The background of the Band Page is black .
A background can be added to make that page look more interactive.
Please assign me this issue under LGMSOC'21.

@Amit-45 can you assign me this issue

Assigned @Amit-45


# flake8: noqa top-of-the-file comment doesn't respect external config

The warning:
warning: Invalid rule code provided to # ruff: noqa at stubs\six\six\moves\builtins.pyi:1: NQA102
The Python file:
# flake8: noqa: NQA102 # https://github.com/plinss/flake8-noqa/issues/22
# six explicitly re-exports builtins. Normally this is something we'd want to avoid.
# But this is specifically a compatibility package.
from builtins import *  # noqa: UP029

The Ruff lint configs (I stripped out format configs):

[tool.ruff.lint]
# We still use flake8-pyi and flake8-noqa to check these (see .flake8 config file)
external = ["F821", "NQA", "Y"]
extend-select = [
    "B", # flake8-bugbear
    "FA", # flake8-future-annotations
    "I", # isort
    "RUF", # Ruff-specific and unused-noqa
    "UP", # pyupgrade
    # PYI: only enable rules that always autofix, avoids duplicate # noqa with flake8-pyi
    # See https://github.com/plinss/flake8-noqa/issues/22
    "PYI009", # use `...`, not `pass`, in empty class bodies
    "PYI010", # function bodies must be empty
    "PYI012", # class bodies must not contain `pass`
    "PYI013", # non-empty class bodies must not contain `...`
    "PYI016", # duplicate union member
    "PYI020", # quoted annotations are always unnecessary in stubs
    "PYI025", # always alias `collections.abc.Set` as `AbstractSet` when importing it
    "PYI032", # use `object`, not `Any`, as the second parameter to `__eq__`
    "PYI055", # multiple `type[T]` usages in a union
    "PYI058", # use `Iterator` as the return type for `__iter__` methods
]
ignore = [
    ###
    # Rules we don't want or don't agree with
    ###
    # Slower and more verbose https://github.com/astral-sh/ruff/issues/7871
    "UP038", # Use `X | Y` in `isinstance` call instead of `(X, Y)`
    # Used for direct, non-subclass type comparison, for example: `type(val) is str`
    # see https://github.com/astral-sh/ruff/issues/6465
    "E721", # Do not compare types, use `isinstance()`
    ###
    # False-positives, but already checked by type-checkers
    ###
    # Ruff doesn't support multi-file analysis yet: https://github.com/astral-sh/ruff/issues/5295
    "RUF013", # PEP 484 prohibits implicit `Optional`
]

Good call!


Optimize docker build process by caching maven dependencies

Retesting docker build process took me a while if there is an syntax error in the code or such. This approach caches all of maven dependencies in separate layer, thus shortening time to repetitively build container. Also this PR updates Dockerfile to use -x style parameters implemented in https://github.com/kohsuke/jenkinsfile-runner/pull/21.

Hey @toshke , caching the maven deps speeds up recurring builds so much. Nice idea.
I don't understand why you changed the usage of the docker container, though.

It was:
docker run -v~/foo:/workspace jenkinsfile-runner:my-production-jenkins
now would be:
docker run -v~/foo:/workspace -w /workspace jenkinsfile-runner:my-production-jenkins -f test/Jenkinsfile

I don't want to judge which one is better. Changing it, forces all existing user to adopt, though. So there should be a good reason.
With the following entrypoint, would could keep the usage of the container the same by adopting the the new -x style parameters from #21.
ENTRYPOINT ["/app/bin/jenkinsfile-runner", "-w", "/app/jenkins", "-p", "/usr/share/jenkins/ref/plugins", "-f", "/workspace"]
In the DOCKER.md you describe that the default parameters for plugins or workspace can be overwritten, which is correct. The example bellow then only sets the entrypoint with bash. I don't get the point here. Wouldn't an example that mounts a plugin folder and overwrite the entrypoint with -p  fit better?

@schnatterer glad to be helpful, this PR actually is side-effect of work on https://github.com/kohsuke/jenkinsfile-runner/pull/26
As for update usage of container - you are right, I haven't really take backward compatibility into consideration - i've amended commit to include your proposed entrypoint.
I've also set default jenkins version to 2.121.1 as pipeline plugin wouldn't load with previous versions. One suggestion would be to use lts (though this requires build without caching everytime upstream image updates).. For some reason plugin installation get stuck when using workflow-aggregator as default plugin, so i've update this to use pipeline-model-definition plugin (and tested with success).
Furthermore, as for documentation wise, my not-so-well explained point was that binary is available to be consumed by logging into container as well. I've updated doco to better demonstrate this possibility (below, and in amended commit)
Usage
Run the image by providing path to Jenkinsfile . For example,
docker run --rm -v $PWD/test:/workspace  jenkinsfile-runner:my-production-jenkins

Optionally, if you want to change default parameters for plugins or workspace, you can get onto the container
by overriding entrypoint - binary is placed in /app/bin/jenkinsfile-runner
$ docker run --rm -it -v $PWD/test:/workspace --entrypoint bash jenkinsfile-runner:my-production-jenkins
root@dec4c0f12478:/src# cp -r /app/jenkins /tmp/jenkins
root@dec4c0f12478:/src# /app/bin/jenkinsfile-runner -w /tmp/jenkins -p /usr/share/jenkins/ref/plugins -f /workspace


Risky return rate in ConsPortfolioModel is always the same.

The current iteration of the portfolio problem implementation always draws the same return factor for the risky asset. This is a problem for simulations, but does not seem to create issues for the solution process (the discretization is properly created).
The simplest way to reproduce this issue is:

In ConsPortfolioModelDoc.py, after line 64 (once RiskyDrawFunc is defined) do a print([RiskyDrawFunc(), RiskyDrawFunc()])

This seems to stem from:

In line 549 of ConsPortfolioModel.py self.getRisky() calls self.drawRiskyFunc(). In the default example this is created using LogNormalRiskyDstnDraw() in line 266.
LogNormalRiskyDstnDraw() creates a function that calls drawLognormal() from simulation.py, which by default resets the RNG seed to 0.

Therefore ever time self.getRisky() gets called (since a single draw is requested) the same number is returned.
A possible workaround would be to draw the whole path of risky return factors at the start of the simulation instead of drawing them every period.

Great catch, thank you!
We'll fix this to use the RNG attribute built in to each AgentType subclass
instance.  That's what we use to make sure this doesn't happen with income
shocks, and that the history of shocks can be reproduced with multiple
calls to simulate (if the instance is reset() first).
On Sat, Nov 2, 2019 at 10:28 AM Mv77<EMAIL_ADDRESS>wrote:

The current iteration of the portfolio problem implementation always draws
the same return factor for the risky asset. This is a problem for
simulations, but does not seem to create issues for the solution process
(the discretization is properly created).
The simplest way to reproduce this issue is:

In ConsPortfolioModelDoc.py
https://github.com/econ-ark/DemARK/blob/master/notebooks/ConsPortfolioModelDoc.py,
after line 64 (once RiskyDrawFunc is defined) do a print([RiskyDrawFunc(),
RiskyDrawFunc()])

This seems to stem from:

In line 549 of ConsPortfolioModel.py
https://github.com/econ-ark/HARK/blob/master/HARK/ConsumptionSaving/ConsPortfolioModel.py
self.getRisky() calls self.drawRiskyFunc(). In the default example this is
created using LogNormalRiskyDstnDraw() in line 266.
LogNormalRiskyDstnDraw() creates a function that calls
drawLognormal() from simulation.py
https://github.com/econ-ark/HARK/blob/master/HARK/simulation.py,
which by default resets the RNG seed to 0.

Therefore ever time self.getRisky() gets called (since a single draw is
requested) the same number is returned.
A possible workaround would be to draw the whole path of risky return
factors at the start of the simulation instead of drawing them every period.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/430?email_source=notifications&email_token=ADKRAFMS7B7IEAE6WDHHJYDQRWFBVA5CNFSM4JIFXW42YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HWK3VBQ,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFNCP44PEEHACGIQRLTQRWFBVANCNFSM4JIFXW4Q
.

@pkofod, what do you think of this workaround?
One plus of the current way of doing things is that, for infinite horizon models, drawing the shocks on demand means that you could simulate a while, see how things look, and then decide whether to keep simulating.  That doesn't work if you draw all the shocks at once.
Another point to keep in mind that we eventually plan to move toward the simulation tools used in Dolo/DolARK, so it would be wise to make whatever choices will make that transition easier instead of harder.

This is not a "workaround"; it's the way I structured things for all of the
other shocks in the models (income, preference, Markov switching) to avoid
exactly this issue.
You don't have to draw all the shocks for all periods under this system.
It allows you to draw them on demand (period by period) or to pre-draw them
for many periods beforehand.
On Sat, Nov 2, 2019 at 11:13 AM Christopher Llorracc Carroll <
<EMAIL_ADDRESS>wrote:

@pkofod https://github.com/pkofod, what do you think of this workaround?
One plus of the current way of doing things is that, for infinite horizon
models, drawing the shocks on demand means that you could simulate a while,
see how things look, and then decide whether to keep simulating. That
doesn't work if you draw all the shocks at once.
Another point to keep in mind that we eventually plan to move toward the
simulation tools used in Dolo/DolARK, so it would be wise to make whatever
choices will make that transition easier instead of harder.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/430?email_source=notifications&email_token=ADKRAFK3QWSHJT66FR6EDJLQRWKJNA5CNFSM4JIFXW42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC46BLA#issuecomment-549052588,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKRAFJS5ZBSN6XGKPJIKQDQRWKJNANCNFSM4JIFXW4Q
.

@pkofod, do you follow @mnwhite's response well enough to propose a fix?
I think my students are not confident enough in how everything works to propose one.

@pkofod, do you follow @mnwhite's response well enough to propose a fix?

I think so, yes. I have actually looked at the relevant code many times, but I must have missed the per AgentType rng.

If you think it's a simple fix (but aren't sure) why don't you make the
change and do a PR then maybe @Matthew N. White<EMAIL_ADDRESS>will be
able to give feedback about whether it works?
On Sun, Nov 3, 2019 at 3:39 AM Patrick Kofod Mogensen <
<EMAIL_ADDRESS>wrote:

@pkofod https://github.com/pkofod, do you follow @mnwhite
https://github.com/mnwhite's response well enough to propose a fix?
I think so, yes. I have actually looked at the relevant code many times,
but I must have missed the per AgentType rng.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/econ-ark/HARK/issues/430?email_source=notifications&email_token=AAKCK75P4RSZCZVCSAI2LP3QR2E3JA5CNFSM4JIFXW42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEC5NQNI#issuecomment-549115957,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKCK76CENHUKBEMFYTUFQTQR2E3JANCNFSM4JIFXW4Q
.

--

Chris Carroll


Remove 405 code in the yaml (for device-reachability-status.yaml & device-roaming-status.yaml)

Problem description
Following issue discussed here in commonalities, the code 405 must not be described in the yaml; This is the case for device-reachability-status.yaml & device-roaming-status.yaml
Expected behavior
Remove 405 in the yaml
Alternative solution

Additional context
@hdamker @akoshunyadi @tanjadegroot -  from a release management perspective, if we update the yaml we should shift the version to 0.6.0-rc.2 - correct?

@hdamker @akoshunyadi - from a release management perspective, if we update the yaml we should shift the version to 0.6.0-rc.2 - correct?

Version numbers will only be set in release PRs, because a new release candidate has also to come with an updated CHANGELOG etc. Therefore: the first PR which is changing the YAML will set the version back to "wip", as there could be additional changes before the next release (candidate).
There might be not enough time left before the deadline for the public release PR (August 26th) for another release candidate. So probably you will create immediately the public release PR without another pre-release in between.


Error with Helm rendering while Instantiating composite app

Hello.
I'm trying to deploy an app using EMCO, but EMCO fails to render the Helm manifests when instantiating the composite app.
It fails at the rendering of the first chart of the composite app.
I'm using emcoctl and manifests to deploy everything, and I'm using images I built with the code from this repository.
I registered the clusters, created and instantiated the virtual cluster and created and approved the composite app (and its profiles and intents) with no issues.
However, when instantiating with emcoctl, I get the following error:
URL: projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/free5gc-deployment-intent/instantiate Response Code: 500 Response: Unable to get the sorted templates for app: Error while generating final k8s yaml: stat /tmp/k8s-ext-716707460/free5gc-control-plane: no such file or directory

The logs of the orchestrator give the same information:
{"level":"error","msg":"Unable to get the sorted templates for app: Error while generating final k8s yaml: stat /tmp/k8s-ext-961093037/free5gc-control-plane: no such file or directory","time":"2021-02-23T15:39:35Z"}
There are currently no other errors.
I can render the Helm archives used for the CompositeApp with helm install test --dry-run --debug <archive>.tar.gz with no issue.
If needed, here are the logs of the orchestrator, with a higher log verbosity ("info"):
{"CompositeAppHandle":"/context/3773784810858181293/","level":"info","msg":":: CreateCompositeApp ::","time":"2021-02-23T15:42:50Z"}
{"CompositeApp":"free5gc-demo","DeploymentIntentGroup":"free5gc-deployment-intent","Project":"free5gc","Release":"r1","Version":"v1","level":"info","msg":":: The meta data stored in the runtime context :: ","time":"2021-02-23T15:42:50Z"}
{"appName":"free5gc-control-plane","level":"info","msg":":: Processing App ::","time":"2021-02-23T15:42:50Z"}
{"appName":"free5gc-control-plane","level":"info","msg":":: Got the app content.. ::","time":"2021-02-23T15:42:50Z"}
{"appName":"free5gc-control-plane","level":"info","msg":":: Got the app Profile content .. ::","time":"2021-02-23T15:42:50Z"}
{"chartBasePath":"/tmp/k8s-ext-434126427","level":"info","msg":"The chartBasePath ::","time":"2021-02-23T15:42:51Z"}
{"Profile Path":"/tmp/k8s-ext-237123582","level":"info","msg":"The profile path:: ","time":"2021-02-23T15:42:51Z"}
{"level":"info","msg":"Got the profileYamlClient..","time":"2021-02-23T15:42:51Z"}
{"level":"error","msg":"Error while generating final k8s yaml","time":"2021-02-23T15:42:51Z"}
{"Dir: ":"/tmp/k8s-ext-237123582/","level":"info","msg":"Clean up k8s-ext-tmp-dir::","time":"2021-02-23T15:42:51Z"}
{"Dir: ":"/tmp/k8s-ext-434126427/","level":"info","msg":"Clean up k8s-ext-tmp-dir::","time":"2021-02-23T15:42:51Z"}
{"len(sortedTemplates):":0,"level":"info","msg":":: Total no. of sorted templates ::","time":"2021-02-23T15:42:51Z"}
<IP_ADDRESS> - - [23/Feb/2021:15:42:50 +0000] "POST /v2/projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/free5gc-deployment-intent/instantiate HTTP/1.1" 500 160
{"level":"error","msg":"Unable to get the sorted templates for app","time":"2021-02-23T15:42:51Z"}
{"level":"error","msg":"Unable to get the sorted templates for app: Error while generating final k8s yaml: stat /tmp/k8s-ext-434126427/free5gc-control-plane: no such file or directory","time":"2021-02-23T15:42:51Z"}

Do you have an idea of how to proceed to debug ?
Thank you for your help

Please share the emcoctl yaml file that was used for this. Can you try giving the name of the application same as the Helm chart name?

Hello,
I used the following emcoctl yaml manifests:
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps
metadata:
  name: {{ .CompositeApp }}
spec:
  version: v1

# creating collection composite profile entry
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles
metadata:
  name: {{ .CompositeProfile }}

# Adding Controller App chart and profile to the composite app
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/apps
metadata:
  name: {{ .AppController }}
file: {{ .HelmControllerApp }}
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles/{{ .CompositeProfile }}/profiles
metadata:
  name: {{ .ProfileControllerAppName }}
spec:
  app-name: {{ .AppController }}
file: {{ .ProfileControllerApp }}

# Adding Network configuration chart and profile to the composite app
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/apps
metadata:
  name: {{ .AppNetwork }}
file: {{ .HelmNetworkApp }}
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles/{{ .CompositeProfile }}/profiles
metadata:
  name: {{ .ProfileNetworkAppName }}
spec:
  app-name: {{ .AppNetwork }}
file: {{ .ProfileNetworkApp }}

# Adding test app chart and profile to the composite app
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/apps
metadata:
  name: {{ .AppUeransim }}
file: {{ .HelmUeransimApp }}
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles/{{ .CompositeProfile }}/profiles
metadata:
  name: {{ .ProfileUeransimName }}
spec:
  app-name: {{ .AppUeransim }}
file: {{ .ProfileUeransim }}

# Adding data plane app chart and profile to the composite app
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/apps
metadata:
  name: {{ .AppUPF }}
file: {{ .HelmUPFApp }}
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/composite-profiles/{{ .CompositeProfile }}/profiles
metadata:
  name: {{ .ProfileUPFAppName }}
spec:
  app-name: {{ .AppUPF }}
file: {{ .ProfileUPFApp }}

and
# Create the deployment intent group
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups
metadata:
  name: {{ .DeploymentIntent }}
  description: smtc deployment intent group
  userData1: test1
  userData2: test2
spec:
  profile: {{ .CompositeProfile }}
  version: r1
  logical-cloud: {{ .AdminCloud }}
  override-values: []

# Create the intent in deployment intent group
---
version: emco/v2
resourceContext:
  anchor: projects/{{.ProjectName}}/composite-apps/{{.CompositeApp}}/v1/deployment-intent-groups/{{.DeploymentIntent}}/intents
metadata:
  name: {{ .DeploymentIntent }}
  description: "Free5gc deployment intent"
  userData1: test1
  userData2: test2
spec:
  intent:
    genericPlacementIntent: {{ .GenericPlacementIntent }}

# Create the generic placement intent
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/generic-placement-intents
metadata:
  name: {{ .GenericPlacementIntent }}
  description: "Free5gc generic placement intent"
  userData1: test1
  userData2: test2

# Add placement intents
## UPF
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/generic-placement-intents/{{ .GenericPlacementIntent }}/app-intents
metadata:
  name: {{ .AppEdgePlacementIntent }}
  description: "Free 5gc UPF Placement intent"
  userData1: test1
  userData2: test2
spec:
  app-name: {{ .AppEdge }}
  intent:
    allOf:
      - provider-name: {{ .ClusterProvider }}
        cluster-label-name: {{ .EdgeClusterLabel }}
##Control Plane
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/generic-placement-intents/{{ .GenericPlacementIntent }}/app-intents
metadata:
  name: {{ .AppControllerPlacementIntent }}
  description: "Free 5gc control plane Placement intent"
  userData1: test1
  userData2: test2
spec:
  app-name: {{ .AppController }}
  intent:
    allOf:
      - provider-name: {{ .ClusterProvider }}
        cluster-label-name: {{ .EdgeClusterLabel }}
## Networking
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/generic-placement-intents/{{ .GenericPlacementIntent }}/app-intents
metadata:
  name: {{ .AppNetworkPlacementIntent }}
  description: "Free 5gc control plane Placement intent"
  userData1: test1
  userData2: test2
spec:
  app-name: {{ .AppNetwork }}
  intent:
    allOf:
      - provider-name: {{ .ClusterProvider }}
        cluster-label-name: {{ .EdgeClusterLabel }}
## Ueransim
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/generic-placement-intents/{{ .GenericPlacementIntent }}/app-intents
metadata:
  name: {{ .AppUeransimPlacementIntent }}
  description: "Free 5gc control plane Placement intent"
  userData1: test1
  userData2: test2
spec:
  app-name: {{ .AppUeransim }}
  intent:
    allOf:
      - provider-name: {{ .ClusterProvider }}
        cluster-label-name: {{ .EdgeClusterLabel }}

And lastly:
# Approve
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/approve

# Instantiate
---
version: emco/v2
resourceContext:
  anchor: projects/{{ .ProjectName }}/composite-apps/{{ .CompositeApp }}/v1/deployment-intent-groups/{{ .DeploymentIntent }}/instantiate

The Helm chart I use is still internal to my compagny so I am unable to provide it at the time.
However, I tried with another chart which I got this way:
helm repo add stable https://charts.helm.sh/stable "stable" has been added to your repositories
helm pull stable/mysql -d <folder>
I then replaced it on my values file, and got the same errors:
URL: projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/free5gc-deployment-intent/instantiate Response Code: 500 Response: Unable to get the sorted templates for app: Error while generating final k8s yaml: stat /tmp/k8s-ext-052381967/free5gc-control-plane: no such file or directory
Apply:  projects/free5gc/composite-ap`

Given this, I think the error may be in my emco chart manifests.
Here is the value file:
ProjectName: free5gc
AdminCloud: free5gc-admin
LogicalCluster: free5gc-lc
ClusterProvider: cluster-provider
ClusterEdge: edge01
EdgeClusterLabel: LabelEdge
ControllerClusterLabel: LabelCloud
ClusterController: cloud01
CompositeApp: free5gc-demo
AppUPF: upf
HelmUPFApp: <folder>/free5gcdemo/mysql-1.6.9.tgz
AppController: free5gc-control-plane
HelmControllerApp: <folder>/free5gcdemo/mysql-1.6.9.tgz
AppNetwork: network-app
HelmNetworkApp: <folder>/free5gcdemo/mysql-1.6.9.tgz
AppUeransim: ueransim
HelmUeransimApp: <folder>/free5gcdemo/mysql-1.6.9.tgz
CompositeProfile: free5gc-composite-profile
ProfileUPFAppName: upf-profile
ProfileUPFApp: <folder>/collection/free5gcUserPlane_profile.tar.gz
ProfileControllerAppName: controller-app-profile
ProfileControllerApp: /<folder>/collection/free5gcControlPlane_profile.tar.gz
ProfileNetworkAppName: network-app-profile
ProfileNetworkApp: /<folder>/collection/networks5g_profile.tar.gz
ProfileUeransimName: ueransim-profile
ProfileUeransim: <folder>//collection/ueransim_profile.tar.gz
DeploymentIntent: free5gc-deployment-intent
GenericPlacementIntent: free5gc-generic-placement
AppEdgePlacementIntent: free5gc-upf-placement-intent
AppControllerPlacementIntent: free5gc-controlplane-placement-intent
AppNetworkPlacementIntent: free5gc-network-placement-intent
AppUeransimPlacementIntent: ueransim-placement-intent
KubeConfigController: <folder>/controller-config
KubeConfigEdge: <folder>/edge-config
GacIP: <ip>
GacPort: 31554
RsyncIP: <ip>
RsyncPort: 31595

App name should match the name of the tar.gz file of the helm chart of the app. For example if tar.gz name is collectd.tar.gz then the name of the app should be collectd. In your example AppController should be mysql-1.6.9.
We may remove this requirement in the next release if needed.

Hi @BaudouinH, logical-cloud declaration looks correct. Currently loadbalancer-ip doesn't impact logical cloud instantiation. It's safe to not include that field.

@BaudouinH : After changing the appName to match the tar.gz file, you need to add the modified appName to the compositeAPP. Did you do that ?
It appears that the GetAllIntentsByApp query returns 0 records which suggests that the database doesn't have a record with the corresponding new appName,
Once you add the appName to the compositeApp, it should be working fine.
Meanwhile, we shall fix a bug which results in the stopping of the orchestrator in this case.

@igordcard Thank you for the clarification
@mohanraj1311 Yes, I wiped everything and started the deployment creation from the beginning.
However, when querying the orchestrator: curl localhost:31298/v2/projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/generic-placement-intents
It returns an error: Error getting DeploymentIntentGroup
In the logs of the orchestrator:
<IP_ADDRESS> - - [11/Mar/2021:13:51:34 +0000] "GET /v2/projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/generic-placement-intents HTTP/1.1" 500 36 {"level":"error","msg":"Error getting DeploymentIntentGroup","time":"2021-03-11T13:51:34Z"}

@BaudouinH : curl localhost:31298/v2/projects/free5gc/composite-apps/free5gc-demo/v1/deployment-intent-groups/generic-placement-intents. Pls check the URL again.

@mohanraj1311 Thank you for the correction, I managed to find my error due to this
I had a typo in the declaration in one of the app intents of the generic placement intent.
The typo was in one of the variables injected in the manifest with a value file, resulting in a field being empty, which was not caught during declaration of the intent itself, but made the instantiation fail


dataset for donut.js is wrong

Thx for your code.
But when I try to implement donut chart. I found out the data set should be (if we don't change your donut.js)
`
    data: JSON.stringify({
        type: "radial-reingold–tilford-tree",
        data: [
                  {
                    "age": "<5",
                    "population": 2704659
                  },
                  {
                    "age": "5-13",
                    "population": 4499890
                  },
                  {
                    "age": "14-17",
                    "population": 2159981
                  },
                  {
                    "age": "18-24",
                    "population": 3853788
                  },
                  {
                    "age": "25-44",
                    "population": 14106543
                  },
                  {
                    "age": "45-64",
                    "population": 8819342
                  },
                  {
                    "age": "≥65",
                    "population": 612463
                  }
        ]
        }
    ),
    dataType: 'json',`

instead of your
{ "type": "donut", "data": [     ["age","population"  ],     ["<5","2704659"  ],     ["5-13","4499890"  ],     ["14-17","2159981"  ],     ["18-24","3853788"  ],     ["25-44","14106543"  ],     ["45-64","8819342"  ],     ["≥65","612463"  ] ] }

I could run successful with the json dataset.

Hi @adwin5 I'm sorry but the README wasn't updated, now it's solved.
Thank you


noto-fonts: Fix path to zopflipng, remove broken check

Motivation for this change
Building the package (NixOS x86-64) failed as it could not find zopflipng.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 137330 at 12d41756 run on aarch64-linux 1

1 package built successfully:

noto-fonts-emoji

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/data/fonts/noto-fonts/default.nix:159:5:
    |
159 |     installPhase = ''
    |     ^


RootMutationResolver doesn't honor mapping in codegen.yml file

Describe the bug
So I have a root mutation object on the server, and generate a resolver for all mutations using graphql-codegen-typescript-resolvers.  I using mapping to map for user from a UserEntity to a gql-codgen generated User.
There was a correctly generated resolver signature for the VerifyUserPayload (the result of the verifyUser mutation):
export namespace VerifyUserPayloadResolvers {
  export interface Resolvers<
    Context = AppContext,
    TypeParent = VerifyUserPayload
  > {
    user?: UserResolver<UserEntity | null, TypeParent, Context>;
  }
}

... but the RootMutationResolvers doesn't actually use the UserEntity, but the User:
export namespace RootMutationResolvers {
  export interface Resolvers<Context = AppContext, TypeParent = {}> {
    verifyUser?: VerifyUserResolver<
      VerifyUserPayload | null,
      TypeParent,
      Context
    >;
  }
}

// ... definition of `VerifyUserPayload`, a root type non-namespaced:
export interface VerifyUserPayload {
  user?: User | null;
}

Environment:

OS: macOS
Codegen: 0.14.1 for all versions
Node: 8.11.2

Additional context

@kamilkisiela

@kamilkisiela: our schema uses a Payload type for each mutation result to ensure we can deprecate or add return values to a mutation result later on, so using your added test case as a basis our schema would look more like:
        type Query {
          post: Post
        }
        type RootMutation {
          upvotePost(id: String!): UpvotePostPayload
        }

       type UpvotePostPayload {
          post: Post
        }

        type Post {
          id: String
        }

        schema {
          query: Query
          mutation: RootMutation
        }

.... in that case, I believe, the generated type for the RootMutationResolvers would have an incorrect signature for upvotePost as  UpvotePostPayload would not have the correct signature with PostEntity replacing it.

@SirensOfTitan https://github.com/dotansimha/graphql-code-generator/commit/b1bf6983522211a0432392ff3d8cea6b014e98dc

Fixed in 0.14.2 🎉


Addressed Brakeman's Command Injection warning in MiqAction model

@Fryguy Please review that I am using AwesomeSpawn gem correctly.

@Fryguy implemented your suggestion.

:+1:


feat: add getL1MessageHash RPC function

Motivation and Resolution
Closes #702
...
RPC version (if applicable)
...
Usage related changes

Change 1.
...

Development related changes

Change 1.
...

Checklist:

[x] Performed a self-review of the code
[x] Rebased to the last commit of the target branch (or merged it into my branch)
[x] Linked the issues which this PR resolves
[x] Documented the changes in code (API docs will be generated automatically)
[x] Updated the tests
[x] All tests are passing

Please add a test for this feature.

I added a test but later removed it because tx hashes are only valid on their respective chains and the test cases are ran across various chains, which will make the test not to pass.
@tabaktoni

Please add a test for this feature.

 I added a test but later removed it because tx hashes are only valid on their respective chains and the test cases are ran across various chains, which will make the test not to pass. @tabaktoni

We run tests on devnet and Sepolia:
you can use describeIfDevnet & describeIfTestnet (this will be Sepolia only) to isolate tests based on env
https://github.com/starknet-io/starknet.js/blob/f92135235a69db3c190d506a9d950a54dc43e75c/__tests__/config/fixtures.ts#L115

What do you think could be wrong? @PhilippeR26
I have reviewed the code and couldn't find what's wrong

According to the issue, you have to code in the Starknet.js repo something that is equivalent to this Solidity code :
pragma solidity >=0.8.2 <0.9.0;
contract Hasher {
  function getL1ToL2MsgHash(
        address fromAddress,
        uint256 toAddress,
        uint256 selector,
        uint256[] calldata payload,
        uint256 nonce
    ) external view returns (bytes32) {
        return
            keccak256(
                abi.encodePacked(
                    uint256(uint160(fromAddress)),
                    toAddress,
                    nonce,
                    selector,
                    payload.length,
                    payload
                )
            );
    }
}

And what you have coded is completely different.
Which source document have you used to create your code?

@PhilippeR26 I used this pseudocode which is gotten from the [linked resource](https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/messaging-mechanism/#structure_and_hashing_l1-l2) to create the function


ASTQyery.cs graph commands detection concerns

Hi Justin, I am curious if this method:
return ast.CommandElements[0].Extent.Text.Contains("-mg", OrdinalIgnoreCase);
Is really the best way, I do something similar in my scripts and I try to parse the AST so that I'll get all commands and then check if they are in a graph module on my machine.
I think with your way you would also get some functions which maybe not related to Microsoft.graph if the creator of another function gets creative by choosing the functions name.
BR
Chris

Agreed it might catch another function with an mg prefix, but the alternatives are expensive, such as pre-generating the list of all mg commands and keeping it up to date in the module, or performing a live module lookup for the command and confirm it comes from a Microsoft.Graph module. Neither option is great compared to the low chance of an edge case of simply doing a match on the command.


Remove redundant npm dependency

Hello Mokkapps!
It seems like you have npm as one of your (dev-) dependency in scrum-daily-standup-picker.
Since you actually need npm to install the dependencies it's redundant to
have npm itself as (dev-) dependency.
Therefore I've removed it and made this PR, merge if you want :)
Be sure to re-run npm i or yarn to actualize your lock files.
Beep boop, I'm a bot.

Pull Request Test Coverage Report for Build 91

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.9%) to 61.047%

Totals

Change from base Build 90:
-0.9%

Covered Lines:
344

Relevant Lines:
513

💛  - Coveralls


Perturbing text by removing list elements containing sentences instead of words in raw text

First of all thank you for an awesome tool! Now onto my issue.
Instead of inputing a raw text string and removing words and seeing what words have the biggest impact, I tried modifying LIME so that it takes as input a list containing sevral sentences as each element in that list. For instance:

document_list=["Darkness at the break of noon. Shadows even the silver spoon. The handmade blade, the child’s balloon. Eclipses both the sun and moon.","To understand you know too soon. There is no sense in trying. Pointed threats, they bluff with scorn.", "Suicide remarks are torn. From the fool’s gold mouthpiece the hollow horn. Plays wasted words, proves to warn. That he not busy being born is busy dying."]

The code then removes one element from that list at a time. These lists will contain approximately 10-20 elements. My issue is that lime is telling me that the most important elements in my lists have really small impact on the classification with values between 2.0*10^(-6) and 0.0046. Thus I am wondering wheter this approach mathematically goes against the concept of lime in someway?
Thank you in advance!

Hey! No, this approach should be fine. I would have to take a look at the specific model to understand what's going on, but I see you closed the issue. Was there something wrong?

Hi! I closed my issue as i managed to solve the problem. It turns out that I actually had an issue with my preprocessing and not with lime. Thank you for answering!


Current heuristic for stopping instance of segmentCopy function is wrong

We need to remove vector of speeds and replace it with number of "waiting time". Which is sum of zero packet taking attempts multiplied to constant time of one attempt.

Done. However
"As Gregory pointed average time measure functionality can be replaced by easier and more accurate time measurements of every loop iterations. Tests shows that this is true with no performance degradation. However due to some problems with calculating real time it can't be done on the fly. So I will merge this and then change to accurate time measurements."

After some performance investigations it appears that we need 3 "time.Now" for time measurements in critical path. Each time.Now is approximately 70nn so if user function is empty it is +9%, if user function has ten iterations loop with sums per packet it is +4%. This change is legal, however we postpone it for now. I close this.


allow class and data attributes on all elements by default

better tables
ordered lists work

the table tests pass in firefox and fail in chrome, but it is a timing issue.  I guess chrome needs a longer wait period.  If I stop just before the test and run it by hand it passes.  It is nice to be able to test on both FF and chrome easily

oops, the list tests are the ones having problems in chrome and I accidentally named one of them "table test blah blah blah".  Thus the tests actually caught a bug.  Looking into it now.

my love for chrome grows by the day:
https://code.google.com/p/chromium/issues/detail?id=313082

 #21<EMAIL_ADDRESS>
I don't enough time to work this issue.

So does mine. What a mess.

I looked quickly at the chromium source.  6.5 GB as a shallow clone
On Fri, Oct 9, 2015 at 5:13 AM, Deyan Ginev<EMAIL_ADDRESS>wrote:

#21<EMAIL_ADDRESS>I don't enough time to work this issue.
So does mine. What a mess.
—
Reply to this email directly or view it on GitHub
https://github.com/natejenkins/squire/pull/8#issuecomment-146744755.


Doesn't support tar entries > 8gb

tar-split is used by docker and makes it impossible to build an image that contains some layers that are >8gb.
See the issue in Docker: https://github.com/moby/moby/issues/37581
See the code to reproduce the issue out of Docker: https://gist.github.com/dgageot/0007b4cbfa08f7cf95e93ba0db3bc12a

oh neat. That's a nice find. I'll have to dust off https://github.com/vbatts/tar-split/pull/35 and rebase my changes for something like go1.10.x

for something like go1.10.x

or go 1.11 :cat:

Fair. Upstream archive/tar has had more changes than I was expecting. 😫
-------- Original Message --------
On Aug 31, 2018, 14:10, Kirill Kolyshkin wrote:

for something like go1.10.x

or go 1.11 🐱
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

It is probably easier to port RawAccounting changes to archive/tar from go 1.11 than the other way around.

I wonder if @dsnet has an opinion on how and whether we could get the RawAccounting functionality upstreamed to archive/tar


add support for @hideconstructor

Adds support for @hideconstructor. issue #10

Can this please be reviewed and merged?

@stefan505 Will get on this soon.  I've been focused on PixiJS v5 release.


Product images not created when using populatedb

What I'm trying to achieve
I'm trying to run a clean install of Saleor using Docker by following the documentation and populate the database with the example data using populatedb.
After the process has finished, the product images for example products are missing.
The directory /app/media in container saleor_web is empty.
Celery log shows messages like the following for every product image:
[2019-01-04 10:33:41,318: ERROR/ForkPoolWorker-7] Thumbnail generation failed

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/versatileimagefield/image_warmer.py", line 117, in _prewarm_versatileimagefield
    url = get_url_from_image_key(versatileimagefieldfile, size_key)
  File "/usr/local/lib/python3.6/site-packages/versatileimagefield/utils.py", line 216, in get_url_from_image_key
    img_url = img_url[size_key].url
  File "/usr/local/lib/python3.6/site-packages/versatileimagefield/datastructures/sizedimage.py", line 149, in __getitem__
    height=height
  File "/usr/local/lib/python3.6/site-packages/versatileimagefield/datastructures/sizedimage.py", line 201, in create_resized_image
    path_to_image
  File "/usr/local/lib/python3.6/site-packages/versatileimagefield/datastructures/base.py", line 140, in retrieve_image
    image = self.storage.open(path_to_image, 'rb')
  File "/usr/local/lib/python3.6/site-packages/django/core/files/storage.py", line 33, in open
    return self._open(name, mode)
  File "/usr/local/lib/python3.6/site-packages/django/core/files/storage.py", line 218, in _open
    return File(open(self.path(name), mode))

FileNotFoundError: [Errno 2] No such file or directory: '/app/media/category-backgrounds/DEMO-04.jpg'

Steps to reproduce the problem

Clone saleor master branch
Run steps described in the documentation

Screenshots

System information
Operating system: Ubuntu 18.04 LTS
Docker version 18.09.0
Docker-compose version 1.23.2

This may caused by a folder permissions issue to do with running under docker, this pull request is somewhat related: https://github.com/mirumee/saleor/pull/3117
Another alternative is if you've been starting and stopping lots of containers lately you might have run into a loop of some kind with background tasks, this commit is also related:
https://github.com/mirumee/saleor/pull/3118/commits/48a6bc8bfeac4fe2c2bb7d11c04117efd9f5159e

This may caused by a folder permissions issue to do with running under docker, this pull request is somewhat related: #3117
Another alternative is if you've been starting and stopping lots of containers lately you might have run into a loop of some kind with background tasks, this commit is also related: 48a6bc8

Thanks for the reply.
What I've tried so far:

running migrations, db population and static collections with --rm flag, as described here
tweaking the file permissions / running the containers as root
running without the --dev flag in pipenv install command (this shouldn't matter either)
pruning the docker system (including containers, images, volumes and networks) and starting fresh

Unfortunately, still no success. Will try to investigate further.


Asteroids should wrap at screen borders

Right? Is like that in the original at least.
Maybe this works just by setting BoundaryWrap to use for the asteroids?
Am curious because am planning a similar wrapping 2D toy thing, might reuse the systems from here, the code seemed nice for a Rust newbie at least, thanks!

Hey @antont! Yeah, just add BoundaryWrap to the asteroids and it should work fine. I think some versions of the "original" had that and some don't, but I don't remember TBH hahaha

Closing this for now, but just to let you know that I just tested changing BoundaryRemoval for BoundayWrap on the asteroids and it worked perfectly!


Required switch updates

The contents of this page implies that no switches changes will be required; however, updates to port configurations for the TOR and BMC switches will be required before an additional node will be seen on the network.  All ports not in use at the time of the initial scale unit deployment should be shutdown/disabled.

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

ID: cc6844c5-79b1-eb93-ffb5-d80839d0e95d
Version Independent ID: 3c08590d-740e-5b6a-7baf-46bfca7f3b4a
Content: Azure Stack add scale nodes
Content Source: articles/azure-stack/azure-stack-add-scale-node.md
Service: azure-stack
GitHub Login: @Brenduns
Microsoft Alias: brenduns

@aricbernard Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

#in-progress
@aricbernard    I apologize for the lag in response, as I have been out of the office for several days. I am investigating this with our engineering team and hope to have an update soon.

@aricbernard  I apologize for this late update.  I worked with our engineering team and they identified some subtle changes for the content to attempt to better address your concerns, which were added about 16 days ago - though not initially tied to this github feedback item.
If you find the content still doesn't provide the guidance your seeking, please let me know, and provide as much detail as possible. We can then reactivate this feedback to get further input about content to cover the impact of adding the new node.
#please-close

@aricbernard We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Complete Parser

The parser is nearly done, just needs to handle while loops, match statements, and ifs. There will probably still be more stuff to add to the parser, but this is the bare minimum to consider it done.

This should be updated. As far as I can tell, this is where the parser stands in terms of the few things listed here:

[x] if
[x] while
[ ] match

A better, more definitive definition of "complete" or a certain task would be nice.

Ahh, this was more of a note to myself than an issue someone else should complete, so I didn't feel I had to add much else to explain -- but anyways, I'll edit my initial comment.


Permission denied

I installed the library globally using:
npm install -g firestore-backfire @google-cloud/firestore

I tried exporting a collections using:
backfire export ./hm -P HistoryMaps -K credentials.json --paths stories

note:

credentials.json is a credentials file for the project I downloaded awhile back. Do I need to re-issue a new one?
projectName: HistoryMaps
collection: stories

I got a permission denied with the following error message:
code: 7,
  details: 'Permission denied on resource project HistoryMaps.',
  metadata: Metadata {
    internalRepr: Map(3) {
      'google.rpc.errorinfo-bin' => [Array],
      'google.rpc.help-bin' => [Array],
      'grpc-status-details-bin' => [Array]
    },
    options: {}
  },
  statusDetails: [
    Help { links: [Array] },
    ErrorInfo {
      metadata: [Object],
      reason: 'CONSUMER_INVALID',
      domain: 'googleapis.com'
    }
  ],
  reason: 'CONSUMER_INVALID',
  domain: 'googleapis.com',
  errorInfoMetadata: {
    service: 'firestore.googleapis.com',
    consumer: 'projects/HistoryMaps'
  }
}

never mind, I used the project name instead of project id


Mark as read only when a post leaves the top of the screen

https://www.reddit.com/r/slide_ios/comments/akcuh4/bug_when_mark_as_read_on_scroll_is_enabled_it/

Done in 3.0.1


AmazonS3Client.GetPreSignedURL blocks the thread and there is no async option

Describe the bug
We see our threads getting blocked with the call stack pasted below, causing thread starvation for our async code.
We see this when running on ECS fargate, but only occasionally - probably when the credential refresh is slow for some reason.
at System.Threading.SemaphoreSlim.WaitUntilCountOrTimeout(Int32 millisecondsTimeout, UInt32 startTime, CancellationToken cancellationToken)
at System.Threading.SemaphoreSlim.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Amazon.Runtime.RefreshingAWSCredentials.GetCredentials()
at Amazon.S3.AmazonS3Client.GetPreSignedURLInternal(GetPreSignedUrlRequest request, Boolean useSigV2Fallback)

Expected Behavior
Calling AmazonS3Client.GetPreSignedURL doesn't block the thread, or there is a AmazonS3Client.GetPreSignedURLAsync version available.
Current Behavior
Calling AmazonS3Client.GetPreSignedURL blocks the thread.
Reproduction Steps
Reproducing this requires the following:

Run code on an EC2/fargate instance to get a pre-signed url for a private S3 object in a loop. Running locally using access-key/secret won't cause credentials refresh to happen.
Use https://github.com/benaadams/Ben.BlockingDetector to log thread blocking

Possible Solution
Implement AmazonS3Client.GetPreSignedURLAsync() that calls Credentials.GetCredentialsAsync() internally
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
AWSSDK.S3 <IP_ADDRESS>
Targeted .NET Platform
.NET 6
Operating System and version
AmazonLinux (on ECS Fargate v1.4)

@saintarian Thanks for reporting the issue. This is more likely a feature request to implement async version of AmazonS3Client.GetPreSignedURLAsync(). Needs review with the team.

It seems there are async versions of ALL the other S3 client operations except this. Does that mean there are no http requests issued and this is all done client side?

@jxwaters There is no service call to S3 which is why there is no async version. There is some value in us adding an async version because depending how the credentials are sourced a network call could be made. For example if the credential source was an assume role credentials or coming from EC2 instance metadata it is potential a network call could be made if the credentials have to be refreshed.

+1

+1

I think this was resolved in https://github.com/aws/aws-sdk-net/commit/374a36f3a27bfd09daee844552ea987e5826eda8
Here's the method: https://github.com/aws/aws-sdk-net/blame/374a36f3a27bfd09daee844552ea987e5826eda8/sdk/src/Services/S3/Custom/IAmazonS3.Extensions.cs#L52

Thank you for mentioning that @jedieaston.
We did add GetPreSignedURLAsync as part of supporting S3 Express One Zone since Directory buckets calls can refresh the credentials via a service call if they expire. The Async version supports non directory buckets too, so it should work for this case.
@saintarian Please switch to GetPreSignedURLAsync and let us know if you need any further assistance.


Compilation failure - Cannot find module axios[Bug]:

Expected Behavior
Compilation will be successful on initial run
Actual Behavior
Compilation fails due to missing dependencies.

Middleware compilation fails, cannot find @vue-storefront/shopify-api/server
Theme package fails, cannot find "axios"
Theme package fails, cannot find "@vue-storefront/core which is required by files in the packages/theme/composables directory

Possible Solution

@vue-storefront/shopify-api as a dependency to the theme package
Add axios as a dependency to the theme package
Add @vue-storefront/core as a devDependency to the theme package

Steps to reproduce
Build theme package for v1.06
What version of shopify integration are you using?
1.06
What version of Node.js are you using?
16.13.0
What browser (and version) are you using?
Chrome
What operating system (and version) are you using?
MacOS
Relevant log output
No response
Code of Conduct

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

@jaydubb12  have you run the workspaces to install everything /shopify has those dependencies included that is the composoables. Assuming you just straight on build theme package without building the required dependencies which coming from composables and api-client.


[RFC]/[WIP] Add Python 2.7 deprecation warning

At today's TSC meeting, the subject of python 2.7 deprecation was discussed. Although the exact timeline for removing Python 2.7 support from is not yet known, the TSC agreed that it made sense to add a deprecation warning to installs that use Python 2.7.
Things that may need to be decided before this issue can be worked:

[ ] Do this by OS/Package
[ ] st2client
[ ] st2 pack install
[ ] logs
[ ] st2web?
[ ] When to show the deprecation warning
[ ] other things I'm not thinking of

Couple thoughts...

Definitely python 3 only on new OSes
I know there is a python3.6 install path in RHEL 7, so support for python3 only should be OK there as long as the user has the packages installed.
Not sure about python3 on Ubuntu 16.04?
The phase out time of rhel7/ubuntu16 might be longer than we want to keep python2 around? Especially considering rhel8 and ubuntu18 andare relatively new.

👍 for depreciation warnings for python 2 users. Probably want to show that at various parts of the cli and maybe install process... potentially web ui?

There are 2 types of deprecation warnings that might be useful:

When using python2 OS (currently EL7 and U16)
When using python2 packs

Output a warning during the st2 pack install
Print warnings in st2 logs

@blag Want to start the Python2 deprecation discussion and also the new project in Github so we could get everything organized?

Deprecation notices need to be in rpm, deb, and (at least for st2client) wheel.
Other possible places for deprecation warnings: the installers could print warnings, on startup (or even periodically?), all of the st2* packages could print and log a deprecation warning if running under py2.7. st2client could print a warning every time you auth or login.
Can we build rpm/deb variants so that people can select to install py3 before the official deprecation period is up on EL7/U16? Then, at the end of the period, the next release obsoletes both packages?

As we're getting closer to v3.3.0 release, any takers to start adding the py2 deprecation warnings in various system parts?
As earlier we would start injecting it and communicating python 2 deprecation, - faster we can get rid of old python 2.
@StackStorm/maintainers and @StackStorm/contributors.

I'll aim to start looking at adding a warning if you install a python 2 only pack next week - plan to add warning to REST API call, and CLI (I'll test what happens on the UI as well - but may or may not manage to fix UI depending on how much UI knowledge I need - but will make sure I don't break it!)

@amanda11 did a great job adding py2 deprecation warning to:

st2 pack install
st2ctl
@StackStorm/maintainers @StackStorm/contributors  Do we want a py2 deprecation warning when installing U16 .deb and EL7 .rpm packages as well or it was enough of warnings?

I don' think we need deprecation warnings on the RPMs or DEBs IMO

Thanks, everyone. Closing this as Done :+1: then!
We'll still need someone from @StackStorm/maintainers to write a blog post about Python 2 future plans to keep our community up to date with the deprecation effort and give everyone enough time for migration.


I installed this in Docker, but certificate is not working.

Hi,
I have installed Nginx Proxy Manager so i can access my self hosted wordpress and some other containers outside my network, but i must be doing something wrong... because i think the certificate is not working
I have detailed all my steps in this google doc
I have tried different ports in my router (not sure if i am forwarding the ports correctly), reinstalled Nginx several times... but i dont get where´s my error.
You´ll see i changed some ports in the Stack because i have port 8080 being used by other application, is that wrong?
Can someone help please?

Can you try to delete the proxy host and all associated certificates and then re-create it ?

Hi and thanks for replying,
I managed to get it to work, but then it interferes with another instalation of Nextcloud i have. I believe it´s because of Port 443 i have open in my router.
If i only have port 443 open, Nextcloud works. BUT if i have port 443 fowarding to 4443 then this (Nginx Proxy Manager) works BUT Nexcloud doesnt....
Most likely there should be a way of running all Docker "apps" but since i am a newbie i cant get both things to work.
Anyway, your "app" works and is very useful, congrats and thanks again.

Nginx Proxy Manager should be the only one getting traffic from port 443.  Your Nexcloud instance should be behind NPM, i.e. you should create a Proxy Host in NPM to access your nexcloud instance.

Not sure why this is still open if it's a user configuration issue and he/she acknowledges it.


Implement Node.TimeOffset property

Because "getinfo" and "getnetworkinfo" RPC commands (in addition to potentially elsewhere) require the calculation of the median time offset between us and other nodes, this adds Node.TimeOffset
TimeOffset is captured from VersionPayload packet
Fixes https://github.com/MetacoSA/NBitcoin/issues/235

Hi @Derrick- is this a merge from NBitcoin or you just ported the changes?

This was just a port, so closing due to upstream pull.
Thanks @dangershony


[FileUpload] Uploading a file with same name overwrites the previous one

Hello!
The provided FileUpload class has a problem, if I upload two different files named image.png for example, the second upload will overwrite the previously uploaded file and possibly mess things up.
I think the default behavior should be to append an incremented number after the file name, such as image 1.png.

I can check this out. Can you assign this issue to me?


object-markers: fix highlights not showing after restart of plugin

Adds flag that triggers points reload on startup of the plugin. This flag is only set when the shutdown function is called which in turn is only called when the user disables the plugin. This way the points are only reloaded when the user restarts the app.
fixes #14090

Please run checkstyle locally and fix the violations

ran checkstyle, my apologies i had forgotten to run it.


Intercept Java function calls

I would like to execute a function after every Java function call to monitor the state of my .jar file. I am able to achieve this with a tracer (see below) but this is not optimal for many reasons. Is there a better approach in jpype?
import jpype

kolmafia = jpype.JPackage("net").sourceforge.kolmafia

def tracer(frame, event, arg):
    if event == "call":
        # disable per-line events on the frame to improve performance
        frame.f_trace_lines = False
        return tracer
    elif event == "return":
        if not kolmafia.KoLmafia.permitsContinue():
            kolmafia.KoLmafia.forceContinue()
            raise RuntimeError(kolmafia.KoLmafia.getLastMessage())

sys.settrace(tracer)

There are no hooks in JPype that one could catch every Java call.  However, you can monkey patch to create such a hook using the fact that all JPype calls go through the same private internal classes.  If you are trying to intercept methods it would have to go through _JMethod while setting or getting any field goes through _JField.
Here is a short example:
import jpype
import jpype.imports
jpype.startJVM()

# Use a monkey patch of _jpype._JMethod where all Java methods calls go through
import _jpype                               # we need to access the private classes
jmethod = _jpype._JMethod        #  method calls all go through _JMethod
call = getattr(jmethod, "__call__") # first we have to move the old call method out of the way
setattr(jmethod, "_c", call)

# define a user hook
def hook(self, *args):
    print("Pre")
    ret = self._c(*args)  # call the real Java implementation
    print("Post")
    return ret
setattr(jmethod, "__call__", hook)  # replace the call method with user hook

# Test it
import java
mystr = java.lang.String("hello")
print(mystr.substring(3))

That is my best guess.  Please note this will void the warrantee.

Thank you for the prompt and detailed answer, the bit about all method calls routing through _jpype._JMethod is exactly what I was looking for. I appreciate all the work that you and others have done on JPype!

For those who are interested in doing something similar, I found that I also needed to patch the _JClass.__call__ in addition to _JMethod.__call__.