fix: Drop pint higher-bound

Pull Request Checklist

[ ] implement the feature
[ ] write the documentation
[ ] extend the test coverage
[ ] update the specification
[ ] adjust plugin docstring
[ ] modify the json schema
[ ] mention the version
[ ] include a release note

Closes #2740

In principle this should be handled by /plans/install/pip right? I don't see a pip install . there to install dependencies though :/
My other concern with that approach is that it is gated by rpm build, which I wanted to avoid for debugging and using Pint >= 0.20 for testing.
Other approaches could be:

Run tmt from Github Action

Pro: Fine-control of python version, dependencies, etc.
Con: Hard to get legible results/logs/artifacts

Run testing-farm from Github Action or add a packit configuration with skip_build

Pro: Good reports
Con: Less control over the python version, dependencies, etc.

Hi @LecrisUT, what is the goal here?

Hi @LecrisUT, what is the goal here?

To close #2740, and address https://src.fedoraproject.org/rpms/python-pint/pull-request/10

Hi @LecrisUT, what is the goal here?

To close #2740, and address https://src.fedoraproject.org/rpms/python-pint/pull-request/10
Stuck at how to do the testing though.

Did you run unit tests with newer Pint installed? I had bad experience because of chanes Pint made, failing imports and changed internals.
Would you mind blocking this on pyright coverage of tmt.hardware? I have it in my git stash, I’ll make a PR out of it after lunch. I suppose it'd be safer to mess with versions of libraries after that.

Would you mind blocking this on pyright coverage of tmt.hardware?

Not sure what you mean by blocking here. I have for now disabled the generic tpye-checking on pint which did not seem to work anymore ^1.

Did you run unit tests with newer Pint installed? I had bad experience because of chanes Pint made, failing imports and changed internals.

Not yet, I'll try to run them now

Tried to do locally the tests:
$ cd tests/provision/hardware/data
$ tmt plans show /plan/local
    warn: /plan/local:provision - {'hardware': {'boot': {'method': 'bios'}, 'compatible': {'distro': ['rhel-7', 'rhel-8']}, 'cpu': {'sockets': '<= 1', 'cores': 2, 'threads': '>= 8', 'cores-per-socket': '= 2', 'threads-per-core': '== 4', 'processors': '> 8', 'model': 62, 'model-name': '!~ Haswell', 'family': '< 6', 'family-name': 'Skylake'}, 'disk': [{'size': '40 GiB'}, {'size': '>= 120 GiB'}], 'hostname': '~ .*.foo.redhat.com', 'memory': '8 GiB', 'network': [{'type': 'eth'}, {'type': 'eth'}], 'tpm': {'version': '2.0'}, 'virtualization': {'is-supported': True, 'is-virtualized': False, 'hypervisor': '~ xen'}}, 'how': 'local'} is not valid under any of the given schemas
/plan/local

@LecrisUT

To close #2740, and address https://src.fedoraproject.org/rpms/python-pint/pull-request/10

I see, thanks!

Not sure What you mean by blocking

I'm guessing marking this PR as being blocked by pyright tmt.hardware coverage PR.

Would you mind blocking this on pyright coverage of tmt.hardware?

Not sure what you mean by blocking here. I have for now disabled the generic tpye-checking on pint which did not seem to work anymore 12.

Yeah, but that's demonstrating the problem right away :) When I drop the inner type, and run mypy with Pint 0.19.2, which is a perfectly valid version, mypy starts reporting the following:
tmt/hardware.py:162: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/hardware.py:163: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/hardware.py:643: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:181: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:182: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:191: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:219: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:264: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:265: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:273: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:274: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:346: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:347: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/testcloud.py:589: error: Missing type parameters for generic type "Size"  [type-arg]
tmt/steps/provision/mrack.py:220: error: Missing type parameters for generic type "tmt.hardware.Size"  [type-arg]
tmt/steps/provision/mrack.py:229: error: Missing type parameters for generic type "tmt.hardware.Size"  [type-arg]

At least in some versions of Pint, Quantity seemed like a generic type to mypy. And that's the problem, it's a weird library in this sense, and I am very much worried that by tailoring our code to match new versions we would get too far from versions shipped in RPMs that tmt actually uses in "production". We might end up with annotations being wrapped in strings, or some conditional type aliases, but I'm afraid the answer won't be as simple as dropping the generic nature of Quantity :(
I don't mind allowing newer Pint, I would just like to be sure tmt.hardware still works with older ones, which means more tests and better coverage. I'd extend pyright coverage to tmt.hardware, there's also an attempt in the package manager PR to run unit tests against system packages (https://github.com/teemtee/tmt/pull/2557/files#diff-cac89b0b4c2adab3aaef0788b4c8179536421b4a4e3d68ec279d2e4e2e31ff24R32). Hence my proposal to not merge this PR before adding more coverage.

Did you run unit tests with newer Pint installed? I had bad experience because of chanes Pint made, failing imports and changed internals.

Not yet, I'll try to run them now. Didn't cross my mind that hatch env will work to test locally.

/tests/unit should cover it, too, e.g.
tmt -c trigger=commit -vv run -a provision -h local plan -n '^/plans/features/core$' test -n '^/tests/unit$'

I tried to play with something else, but when executed from hatch -e dev shell, one can manipulate packages with pip.

Yeah, but that's demonstrating the problem right away :) When I drop the inner type, and run mypy with Pint 0.19.2, which is a perfectly valid version, mypy starts reporting the following:

We can conditionally add the Quantity[int] on the versions before 0.20, wdyt. It would also depend on how upstream wants to fix the typing. Alternatively, we can copy an implementation that had the appropriate typing format (could be tricky since the _typing.py did not actually change since the upstream PR), or alias it to Any until they better support it?
Fortunately, this does not seem to affect the actual code behavior yet.

I don't mind allowing newer Pint, I would just like to be sure tmt.hardware still works with older ones, which means more tests and better coverage.

Oh, now I see, there were the ignore files there :+1:

Lol, I like it how PyRight is contradicting itself
  /home/runner/work/tmt/tmt/tmt/hardware.py:544:20 - error: Unnecessary isinstance call; "Quantity" is always an instance of "Quantity" (reportUnnecessaryIsInstance)
  /home/runner/work/tmt/tmt/tmt/hardware.py:545:25 - error: Expression of type "PlainQuantity[Any]" cannot be assigned to declared type "ConstraintValue"

Interesting though, Quantity seems to be an alias of PlainQuantity[Any] which does seem to accept generic type.

Yeah, but that's demonstrating the problem right away :) When I drop the inner type, and run mypy with Pint 0.19.2, which is a perfectly valid version, mypy starts reporting the following:

We can conditionally add the Quantity[int] on the versions before 0.20, wdyt.

That would make sense, yes.

It would also depend on how upstream wants to fix the typing. Alternatively, we can copy an implementation that had the appropriate typing format (could be tricky since the _typing.py did not actually change since the upstream PR), or alias it to Any until they better support it?

I'd like to avoid copying implementations if at least possible, therefore I for one would prefer the version-dependant type definitions, conditional imports, TypeAliases, and so on, as needed. Aliasing to Any should be the last resort, I hope we could do better :)

Fortunately, this does not seem to affect the actual code behavior yet.

I don't mind allowing newer Pint, I would just like to be sure tmt.hardware still works with older ones, which means more tests and better coverage.

Oh, now I see, there were the ignore files there 👍

Anyway, flushed by git stash into https://github.com/teemtee/tmt/pull/2742, that enables pyright. https://github.com/teemtee/tmt/pull/2557 should add unit tests against system packages, which I consider even stronger check, that should prevent the most of issues from sneaking in - if our code is broken with python-pint from EPEL9, this test should reveal it.

I'll rebase when #2742, and if all goes well, we can delay this for after #2557 to make sure we don't have any surprises.
Seems neither pyright nor mypy can handle:
    if version.parse(importlib.metadata.version("pint")) >= version.parse("0.20"):
        Size: TypeAlias = Quantity
    else:
        Size: TypeAlias = 'Quantity[int]'

I'll rebase when #2742, and if all goes well, we can delay this for after #2557 to make sure we don't have any surprises.
Seems neither pyright nor mypy can handle:
    if version.parse(importlib.metadata.version("pint")) >= version.parse("0.20"):
        Size: TypeAlias = Quantity
    else:
        Size: TypeAlias = 'Quantity[int]'

Hm, type aliases cannot be declared conditionally. Type checkers do have some basic support for testing Python versions, but a test like this is way too runtime-ish for their taste :/
This sucks, and I would hate to use Any :( We still have to live with older Pint versions, and newer ones seem to be too incompatible on this level... Any ideas?

This sucks, and I would hate to use Any :( We still have to live with older Pint versions, and newer ones seem to be too incompatible on this level... Any ideas?

To do this cleanly, no it's rather hard. At the same time, how much do we gain by doing type-checking with different versions of pint? For this one, we want to make sure it is a pint-like Quantity, and although we lose the int checker, that could be added at runtime.
These are mostly development checks to make sure we don't shoot ourselves in the foot, so I think it's ok for now to relax these constraints to Quantity or maybe PlainQuantity[int] until upstream can better support the typing.

This sucks, and I would hate to use Any :( We still have to live with older Pint versions, and newer ones seem to be too incompatible on this level... Any ideas?

To do this cleanly, no it's rather hard. At the same time, how much do we gain by doing type-checking with different versions of pint?

A lot, I would say, because mypy and pyright are not just about type checking, they also detect attributes that are not defined, for example. Most tmt users depend on tmt that's packaged and shipped in RPMs. Relaxing bounds on dependencies can easily lead to us, developers, using new functionality that's not available to end users. Pint 0.24 may add the PlainQuantity.magnitude_but_better attribute, we start using it in code, and if we don't have the relevant code covered by functional tests, nothing will stop us from shipping it to CentOS Stream 9 where only Pint 0.16 is available.

For this one, we want to make sure it is a pint-like Quantity, and although we lose the int checker, that could be added at runtime.
These are mostly development checks to make sure we don't shoot ourselves in the foot, so I think it's ok for now to relax these constraints to Quantity or maybe PlainQuantity[int] until upstream can better support the typing.

Yeah, but that's just one possible way how we could harm ourselves. PlainQuantity may offer new methods and new functionality, do we have a test that would prevent us from shipping it to CentOS Stream 9 without noticing? A return type may change between versions, what's safe with Pint 0.23 may be unsafe with Pint 0.16, e.g. an explicit str() call might be needed to turn int to str we were used to.
This starts to suddenly feel more and more chilling and dangerous :) Frankly, I don't understand why we don't have upper bounds on other requirements, or why don't we run mypy/pyright against system packages as a dedicated test in /plans/features/core :O
I mean, thinking about what are we trying here, I'd say we really should extend the coverage into this area first, and I have no idea how could I missed this hole, why don't we have something like this already - yeah, Pint 0.99 in pre-commit is nice and cool, but it's no way near to what tmt will face in CentOS... This can escalate quite easily.

A lot, I would say, because mypy and pyright are not just about type checking, they also detect attributes that are not defined, for example. Most tmt users depend on tmt that's packaged and shipped in RPMs. Relaxing bounds on dependencies can easily lead to us, developers, using new functionality that's not available to end users. Pint 0.24 may add the PlainQuantity.magnitude_but_better attribute, we start using it in code, and if we don't have the relevant code covered by functional tests, nothing will stop us from shipping it to CentOS Stream 9 where only Pint 0.16 is available.

Fair point, but if that is the case, mypy and pyright should be added to testing-farm tests, otherwise withing pre-commit we are not testing the specific versions either. My view with pre-commit is that it's for style checks and lint-checks against PyPI only.

But going back to the failures encountered here, it is more mysterious the more we look into it:
if TYPE_CHECKING:
    from .facets.plain import PlainQuantity as Quantity

...

class PlainQuantity(Generic[MagnitudeT], PrettyIPython, SharedRegistryObject):

The previous syntax should never have failed :thinking:

A lot, I would say, because mypy and pyright are not just about type checking, they also detect attributes that are not defined, for example. Most tmt users depend on tmt that's packaged and shipped in RPMs. Relaxing bounds on dependencies can easily lead to us, developers, using new functionality that's not available to end users. Pint 0.24 may add the PlainQuantity.magnitude_but_better attribute, we start using it in code, and if we don't have the relevant code covered by functional tests, nothing will stop us from shipping it to CentOS Stream 9 where only Pint 0.16 is available.

Fair point, but if that is the case, mypy and pyright should be added to testing-farm tests, otherwise withing pre-commit we are not testing the specific versions either.

Yeah, that's what the last two paragraphs in my previous comment were about - I think we need this to happen Soon before it bites us after a random release :)

But going back to the failures encountered here, it is more mysterious the more we look into it:
if TYPE_CHECKING:
    from .facets.plain import PlainQuantity as Quantity

...

class PlainQuantity(Generic[MagnitudeT], PrettyIPython, SharedRegistryObject):

The previous syntax should never have failed 🤔

I'll check it out after lunch, and try to understand it better. I recall seeing these new classes pop up, but that's pretty much all.

Could we add some testing-farm installing from pipy? Maybe a weekly/nighly just to check what are the latest pypi versions and how we work with them?

Let's wait for #2557 and figure out a design after that. The current plans are getting quite a bit messy imo, and they should be divided in more matrix-like approach, e.g. /plans/dist/integration, /plans/pypi/integration, etc.
One approach I was considering for tackling that is to use jinja templating to generate the /plan/*.fmf file structure and then pipe that into testing-farm/packit. I saw there is some jinja templating, but I didn't check where that is applied though. A simple generator for that would be this one, but I need to simplify and make it more fmf native.
Another approach would be to use plans.import + environment, e.g. /plans/dist import /plans/integration, but that would be tricky because it cannot work with context right now, or to add/remove prepare tasks which is what we would want here.

I read the whole discussion and also appear this is a smoking barrel that can easily blow up if we do not start runinng mypy/pyright in testing farm. Something maybe to remember for the future, how it can hide problems

As for upper bounds everywhere - We could add it but we will need to update it quite often to not block adoption of newer versions into fedora-rawhide. So I'm not sure what the benefit will be.

Probably not needed most of the time. There might be buggy versions or incompatible versions we'd like to avoid, (click>=8.0.3,!=8.1.4), and Pint was an example in which the upper bound prevented a code that's harder to mend with existing code, and needs more work and a bigger PR, but in general, probably not necessary.

Right now I've disabled pyright:
/home/lecris/PycharmProjects/tmt/tmt/hardware.py
  /home/lecris/PycharmProjects/tmt/tmt/hardware.py:562:25 - error: Expression of type "PlainQuantity[Any]" cannot be assigned to declared type "ConstraintValue"
    Type "PlainQuantity[Any]" cannot be assigned to type "ConstraintValue"
      "PlainQuantity[Any]" is incompatible with "int"
      "PlainQuantity[Any]" is incompatible with "Size"
      "PlainQuantity[Any]" is incompatible with "str"
      "PlainQuantity[Any]" is incompatible with "bool" (reportAssignmentType)
1 error, 0 warnings, 0 informations

It seems that pyright does not match PlainQuantity[Any] with Quantity. This might be an issue with how upstream does the type hinting or with pyright not using _typing.py where pint.Quantity = pint.facets.plain.PlainQuantity is defined.
But anyway, how should we continue with this?

Resurrecting. I'm working on https://github.com/teemtee/tmt/pull/2841 and Pint tends to pop its ugly head again and again, so we'll need to resolve this one sooner rather than later: do something about the upper bound while keeping mypy & pyright happy when they run as part of CI test, not just in pre-commit stage.
Right now I'm inclined to put tmt/hardware.py back on the ignore list in pyproject.toml, finish https://github.com/teemtee/tmt/pull/2841, and then focus on resolving Pint-related bits & re-enable tmt/harware.py coverage. It seems like a chicken and egg, I'd like to move on with Pint but to do so I would very much like to be sure it's safe on all kinds of distros we're using, and to do so I need the test which is blocked by Pint...

Maybe a more relevant issue, there should be a test that actually covers Size. My inclination is to simply test that tmt show is rendered equivalently on all, but maybe it should be more sophisticated to cover actual comparison. I'm just not sure what command to use for that, or would it be inside pytest?

Seems xarray could be blocked by this. There seem to be unit tests for hardware, so how about rebasing and adding this to pyright/mypy ignores?

Seems xarray could be blocked by this. There seem to be unit tests for hardware, so how about rebasing and adding this to pyright/mypy ignores?

Yeah, let's give it a try. We do have some coverage, we do parse requirements here and there, in various tests, it's not complete and I wouldn't trust it with my life, but IIRC, we do run unit tests against system packages on all important distros, so we should be safe when it comes to functionality, if not annotation-wise.

Tested locally, unit tests and mypy pass, so only pyright is tripping it. I've just added some ignores there to get the testing working. Can anyone do some magic /packit commands?

No idea why pre-commit decided to fail in this PR, maybe it runs on different files in a commit vs merge. Anyway patched those up in this PR

Those unrelated changes are really ugly... Why would they appear here and now when this morning's pre-commit output complained about nothing to me, no idea. Your patch does not even touch those files, meh.

Those unrelated changes are really ugly... Why would they appear here and now when this morning's pre-commit output complained about nothing to me, no idea. Your patch does not even touch those files, meh.

I'd make a patch fixing just those, I wanted to update pre-commit checks anyway, let's fix those there, then we can rebase your PR and keep the diff simpler.

I'd make a patch fixing just those, I wanted to update pre-commit checks anyway, let's fix those there, then we can rebase your PR and keep the diff simpler.

:+1:
Btw, regarding 1.35 milestone, since this is blocking xarray upgrade this might get patched in rawhide as soon as 1.34 is released. Let's at least get the tests running (needs /packit build and maybe /packit test later) to give them the green light to unblock pint

FTR, here's the update of pre-commit checks, it does cover changes seen in this PR plus some more: https://github.com/teemtee/tmt/pull/3023

/packit build

I don't see /tests/unit/with-development-packages being run anywhere there.

Those unrelated changes are really ugly... Why would they appear here and now when this morning's pre-commit output complained about nothing to me, no idea.

Oh, maybe touching pyproject.toml made it trigger on all files

I don't see /tests/unit/with-development-packages being run anywhere there.

That's weird, this test should be there, in the testing-farm:fedora-39-x86_64:full check. Can you undo the change? I will hit Packit once again.

Ah right, I've only checked F40, F39 is indeed :+1:

/packit build


fix: Update remote device service of SSH for Jakarta release

Fixes https://github.com/edgexfoundry/edgex-docs/issues/515
Signed-off-by: Bryon Nevis<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[ ] I have added unit tests for the new feature or bug fix (if not, why?) N/A
[X] I have fully tested (add details below) this the new feature or bug fix (if not, why?)

Testing Instructions
See https://github.com/edgexfoundry/edgex-docs/blob/master/docs_src/security/Ch-SSH-Tunneling-HowToSecureDeviceServices.md (doc update in progress)

Help needed to follow updated documentation guide and provide feedback:
https://github.com/edgexfoundry/edgex-docs/pull/666


Fix issue that the preflight response should hide server detail

Fix https://github.com/Azure/azure-webpubsub/issues/258

/check-enforcer override


Initial notebook for intro_to_nx.livemd

This is my initial attempt. Some questions.

I use h ...command-or-module... frequently to teach others to explore in this way. It also keeps the notebook details up to date. Do we like this approach?

I have several different points where I ask the user to solve simple problems. Do we like the approach? Do we like the questions?

i have targeted this notebook at a nx beginner/intermediate. I assume other resources like the axon notebook and the linear regression to come will be better for experts.  Do we like the pace?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Bruce Tate 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.

I'm done with my edits. It's ready for review for merge.

Ping @batate! There is absolutely no rush, I just want to make sure it is not something blocking on our side. :) Have a good weekend!

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:


Macos-capable?

Hi, installNix.ts yields the following with matrix.os set to macos-latest:
  performing a single-user installation of Nix...
  directory /nix does not exist; creating it by running 'mkdi ... using sudo
  mkdir: /nix: Read-only file system
  /var/...: please manually run 'mkdir -m 0755 /nix ... chown runner...' as root
  ##[error]Action failed with error: Error: The process 'sh' failed with exit code 1
  ##[error]The process 'sh' failed with exit code 1
  ##[error]Node run failed with exit code 1

As a linux user, I don't know best practices to mkdir in toplevel / on macos.

In theory, yes, this should all work on MacOS too. Unfortunately, Catalina has broken the upstream Nix installation process: see https://github.com/purcell/nix-emacs-ci/issues/15 for more info and my plans for this.

Okay, thank you.

I'm having a little look at this now to see if I can work around it.

I think that's fixed now.


⚠ Syncthing-KA-TM has degraded performance

In 9d3d865, Syncthing-KA-TM ($URL_SYNCTHING_MERZ_NIMBUS_TM) experienced degraded performance:

HTTP code: 200
Response time: 5246 ms

Resolved: Syncthing-KA-TM performance has improved in 3e404b0 after 4 minutes.


Change type of undocumated pr_date field on AthleteSegmentStats from …

…timestamp to date to match what Strava is now sending

Thanks!

Thanks!


Triggering change and validation after clear

I'm trying to use this plugin for CC validation but I have problem when I reset cc input and trigger change. Is there any event to trigger change/validate again or are you planing to implement any?

What do you mean by “reset cc input”?

I have a html text input for credit card number and I'm using this plugin. We post data with ajax to save credit card info, on successful save we clear the credit card input like $("#txtCc").val(""); but creditcardvalidator does not detect text change so I want to trigger validation with updated value.

Thanks for the clarification.
The plugin runs when the input event — or change, in older browsers — is triggered. These events aren’t fired when you change the value of the field programmatically.
All you have to do is trigger it after changing the value of the field:
$("#txtCc").val("").trigger('input');

And if you want to support older browsers:
$("#txtCc").val("").trigger('input').change();

change(), in this case, is a shortcut for trigger('change'). trigger('input') has no such shortcut in the current version of jQuery; to my knowledge.

I've tried this previously but it broke validation but I just found out that possibly another plugin breaks my code. http://firstopinion.github.io/formatter.js/

Yes, this is normal. keyup is a fallback so its handler is removed when the first input event is received. Since we received input event, it means it’s supported so we don’t need keyup.


When Coordinate Conversion tool is clicked ArcMap crashes (ArcMap)

Install 01-18-2017_1143 build of Military Tools for ArcGIS addin.
Open ArcMap
Click Cancel on "ArcMap - Getting Started" dialog.
Click on Coordinate Conversion tool in Military for ArcGIS Tools toolbar.
ArcMap crashes

I was able to reproduce the crash multiple times on two different machines (one physical, on VM).

@dhagens @kgonzago please look into this asap.

@elinz @nfeuerstein - I installed the latest build from \redarchive2\disl\Development\Commercial\MilitaryToolsForArcGIS_current\ArcGISPro\Addins and had no issues when clicking on the Coordinate Conversion tool.  Could someone else please test this out to verify that there is an issue?  @kgonzago @csmoore

I could repro using the exact steps provided (i.e. hitting cancel from getting started, when toolbar already opened) - still looking into...

I see the crash also.  I was testing with Pro... duh.  Looking into it.

@dhagens and I traced the crash to build 1142. Last build where CC didn't crash ArcMap was build 1141. It looks like something was introduced between builds 1141 and 1142 that's causing CC add-in to crash. Still looking into it...

we are reverting back to this commit f2b7e683015e5885e17ac0a93160f76f89bdd9d6 to get the build going again. Changes to address the map tool issue for CC will be lost but we will address it ASAP.

@elinz @nfeuerstein @topowright
The single addin (Military Tools for ArcGIS toolbar) should function properly now.  @kgonzago reverted back to the PR before the last one I made yesterday for Coordinate Conversion that fixed the MapPoint tool in ArcMap.  For some reason that change caused the CC tool to not work in the single addin, although it still worked fine in the standalone addin.  I'll have to figure out how to make that fix work w/o breaking the single addin.  Other than that, should be good to go.

@nfeuerstein @dhagens @topowright Thank you. I'll start a Jenkins build and verify that CC no longer crashes ArcMap.

@elinz, the current build was tested using the latest code.  You can verify again if you'd like though by doing another build.

@nfeuerstein @dhagens Verified on build #1151, dated 19 Jan 2017 11:51 that clicking on the CC tool does not crash ArcMap. Closing issue.


Fix C++ reserved identifiers in header guards

C++ doesn't allow underscores at the begining of identifier. This changes all such identifiers to FOO_H_ format.

I didn't update tinycrypt headers, and headers that are imported from mynewt core


feat(oui-select-picker) add footer and picture transclude

Apply https://github.com/ovh-ux/ovh-ui-kit/pull/518 to v2.x

CDS Report deploy_uxci#1628.0 ✘
*

deploy_uxci ✘


Duplicate and inconsistent use of max_velocity parameter

The max_velocity parameter, if found, is used to set both ActionServer::max_velocity_ and VelocityInterface::max_vel_change_ (a.k.a. max acceleration?).
This doesn't make much sense, and to make matters worse, the default values provided for when the parameter is not found are different for both variables.

Are you referring to this:
https://github.com/ros-industrial/ur_modern_driver/blob/77fa08ae9c846344310d3b50824a7affdc3eda47/src/ros_main.cpp#L118-L119
If so: I would say that is probably a copy-pasta. Introduced in 1e4934a1 (part of https://github.com/Zagitta/ur_modern_driver/pull/1), that should most likely not have reused that parameters name.
@henningkayser: you submitted that PR. Do you remember why you used MAX_VEL_CHANGE_ARG there? That's definitely not right.

Are you referring to this:
https://github.com/ros-industrial/ur_modern_driver/blob/77fa08ae9c846344310d3b50824a7affdc3eda47/src/ros_main.cpp#L118-L119

Yes.
Furthermore, looking a bit deeper, those two lines attempt to read from max_vel_change parameter, which is not set by any of the launch files. Instead, the launch files set max_velocity parameter, which is not read anywhere.

Having something check that incoming trajectories do not violate the maximum allowable velocity before executing them is probably a good idea. I'd like to see that functionality kept/restored/(re)implemented.
As noted here:
https://github.com/ros-industrial/ur_modern_driver/blob/77fa08ae9c846344310d3b50824a7affdc3eda47/launch/ur_common.launch#L32-L33
that is not a safety feature, but more a sanity-check.

Let's wait on @henningkayser a bit.

Having something check that incoming trajectories do not violate the maximum allowable velocity before executing them is probably a good idea. I'd like to see that functionality kept/restored/(re)implemented.

Definitely, yes.

:bellhop_bell: @henningkayser.

Ping @henningkayser.


Add repo showing the elmcast vimrc setup.

People keep asking about how I setup vim for screencasts. It happens to be my normal config, and is extremely simple and opinionated.
Needs new repo at elmcast/.vim

The repo is here https://github.com/elmcast/.vim


GOlang functions build has stopped working

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
yarn global add @aws-amplify/cli
If applicable, what version of Node.js are you using?
14.17.0
Amplify CLI Version
8.4.0
What operating system are you using?
Windows
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
Nope
Amplify Categories
function
Amplify Commands
push
Describe the bug
I have a few GOlang functions. After updating the new amplify CLI version. It throws the following error.
🛑 An error occurred during the push operation: /
Command failed with exit code 1: go get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip
go: go.mod file not found in current directory or any parent directory.
        'go get' is no longer supported outside a module.
        To build and install a command, use 'go install' with a version,
        like 'go install example.com/cmd@latest'
        For more information, see https://golang.org/doc/go-get-install-deprecation
        or run 'go help get' or 'go help install'.

The same error has also been thrown by amplify build function GolangFunction -y
Expected behavior
amplify push --yes should work without any errors.
Reproduction steps

Install latest amplify cli yarn global add @aws-amplify/cli
install Golang version 1.18.2
create Golang function
try to build function using amplify build function GolangFunction -y OR
use amplify push --yes command

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

Hello @sky4git, Thank you for reporting. I was able to reproduce the issue. marking this as bug.
Note: This occurs on a windows machine.
When cd'ing into the lambda function folder, I am able to run go mod tidy.
But the amplify build function still throws the error.
Error: Command failed with exit code 1: go get -u github.com/aws/aws-lambda-go/cmd/build-lambda-zip
go: module github.com/aws/aws-lambda-go/cmd/build-lambda-zip: Get "https://proxy.golang.org/github.com/aws/aws-lambda-go/cmd/build-lambda-zip/@v/list": dial tcp: lookup proxy.golang.org: no such host


Add Animation States To Global Header File

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Add animation states to the game_globals.h file (not just the game_globals.i file) so that they can be referenced in engine code.

What is the current behavior? (You can also link to an open issue here)
Animation states are currently only in game_globals.i file, so to be able to refer to them in engine code you have to manually create the defines. However using this method, somtimes the animation states values change and you have to recreate the defines by copy pasting from the game_globals.i file everytime that happens.

What is the new behavior (if this is a feature change)?
This will add the animations state includes in the game_globals.h file which can be referenced in engine code without having to define them manually.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
Not that I'm aware of

Other information:

For some reason I thought these were already there, thanks for adding


x/net/http2: refund server's connection-level flow control for DATA frames the transport receives after sending RST_STREAM

The transport writes DATA frames to bufPipe if the transport had not previously sent a RST_STREAM. Flow control will be returned to the server after the caller reads that data out of the transport.
If the transport had previously sent a RST_STREAM, it does nothing when it receives a DATA frame. We should refund the server's connection-level flow control in this case. (We don't need to refund stream-level flow control because the stream has been reset.)
Some discussion here:
https://go-review.googlesource.com/c/43810/5/http2/transport.go#1728
/cc @bradfitz

Tom, did you want to do this for Go 1.9 still?

Tom, welcome back from vacation. This is still game for 1.9 if the fix is easy.

Thanks for the ping. I'll take a look tomorrow ... should be easy.

Fixed by https://golang.org/cl/47096 (which had the wrong bug reference).


[BONUS] Add paging to requests ?

This is just an api with a simple purpose, we'll see paging another time (Maybe when refactoring with spring reactive)


Issue/2237 broken resource details link

Description
closes #2237
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master, iso4 in c9e5b7b0a393326879fc021710281579f1023220


Question: Full Page Screenshot

Is it possible to set the screenshot configuration to capture the full page?

Duplicate: https://github.com/ArchiveBox/ArchiveBox/issues/80


Update README.md for all image-based gadgets

The date is updated so that artifacthub picks up the changes.
trace_capabilities' README is added.
Fixes: #2671 (Support kernel stack map)
Fixes: #3092 (Add README.md for all image-based gadgets)

The date is updated so that artifacthub picks up the changes.

Do we need to change the date or version number? guess we will know :)

Do we need to change the date or version number? guess we will know :)

It seems you are right and it uses the version number, unfortunately.
See discussion.
https://github.com/artifacthub/hub/blob/58eea18c57d33eafd5e0c64bee3710249353bafd/internal/tracker/tracker.go#L101-L103
		// Check if this package version is already registered
		digest, ok := packagesRegistered[pkg.BuildKey(p)]
		if ok && (p.Digest == digest || p.Digest == hub.HasNotChanged) && !bypassDigestCheck {
			continue
		}

And BuildKey(p) is just the name + version.

It depends on the artifacthub configuration (bypassDigestCheck), so https://staging.artifacthub.io/ might have a different behaviour.
Now that you merged #3103, we will see if the readmes are getting picked up.


Update scala-java-time, ... to 2.3.0

Updates

io.github.cquiroz:scala-java-time
io.github.cquiroz:scala-java-time-tzdb

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

Files still referring to the old version number
The following files still refer to the old version number (2.2.2).
You might want to review and update them manually.
project/plugins.sbt
website/yarn.lock

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

labels: library-update, semver-minor, old-version-remains

Superseded by #160.


Research API call for SNOTEL

Sydney:
Emailed Gus<EMAIL_ADDRESS>about SWE data access via S3. Right now, the interface to download is by state, or by individual station...
Got in touch with Beau Uriona at the National Water and Climate Center.
He said,
"We do not host the data in such a manner [in an online bucket], however we have several simple methods that might be better than what you refer to as "download by individual gage or state". I find often it's best to set up a 30 min meeting to go over your data needs and go from there, we have so many ways to get our data it really depends on your ETL workflow - we may find one works better than another. "
I am asking if he can meet tomorrow potentially, his email slipped through the cracks this week (came in on Monday .. face palm)
edit: we are meeting tomorrow for 30 min!
Met with Beau, very cool, he is willing to help with sharing code he has, ETLs, questions etc.
He has created this api as a hobby that we might be able to use. I am unsure of the longevity of this but it might be helpful.
The data live like this currently (in .json files, one per site):
https://www.nrcs.usda.gov/Internet/WCIS/sitedata/DAILY/WTEQ/
We can trim the time period of interest in our wrapper, or Beau's if he can share data, in the files there is info on the period of record:
"beginDate": "1996-09-01 00:00:00" "endDate": "2022-08-31 00:00:00"
All stations have varying start/end times. We are interested in 1979-10-01 through 2021-09-30 (USGS water year is Oct 1 to Sep 30).
edit: another note is that SNOTEL data can change over time with bias correction, etc. Longterm, we may want to think about frequently updating/pulling data.

This is the API that Beau created as a hobby, https://api.snowdata.info/

@sfoks thank Beau for his hobby :)

you all are probably way ahead of me but want to ask if the NHGF crowd know about this? They might want to include this API in their catalog entry re: SNOTEL.


commit(006): Add Snyke

Add badge de vulnérabilité Snyke

Coverage remained the same at 100.0% when pulling 7e54c4bfe6822ff46194305d298672c3caa7232b on docs/snyke into 92e9226406339e9a49fc9aca73ea7bb0fead1d97 on development.


OfflineQueue - configuration to turn on and off

First off, I like this library. I wish there was a configuration for the offline queue feature to shut it off. When you call send and redis is down it pushes the message into the offline queue. The problem I see with that is redis could be down for a while and you have a potential to back up fairly significantly. It isn't written to disk so if the program would crash those messages would be lost. In some cases the offline queue maybe very useful but I wish there was a configuration option to just callback with an error so further steps could be taken upstream.

I think you missed the answer, so here it goes:
https://github.com/mpneuried/rsmq-worker/issues/40
Regards,
Roger

I may be mistaken but it appears that rsmq-worker implements it's own offline_queue.  I couldn't see anywhere in the node-redis library where the enable_offline_queue setting effects the queue.connected property.
Code from my node_modules folder.
  RSMQWorker.prototype.send = function() {
      var args, cb, delay, msg;
      msg = arguments[0], args = 2 <= arguments.length ? slice.call(arguments, 1) : [];
      delay = args[0], cb = args[1];
      if (_isFunction(delay)) {
        cb = delay;
        delay = null;
      }
      if (delay == null) {
        delay = this.config.defaultDelay;
      }
      if (this.queue.connected) {
        this._send(msg, delay, cb);
      } else {
        this.debug("store message during redis offline time", msg, delay);
        this.offlineQueue.push({
          msg: msg,
          delay: delay,
          cb: cb
        });
      }
      return this;
    };

I just ran a quick test here and, although the redis client supports the flag enable_offline_queue, it looks rsmq and/or rsmq-worker don't work if you set it to false, no matter if you set it as an option of the redis client itself or under options.options of the rsmq or under options.options of the rsmq-worker or any other way you chain the creation of these three objects.
So I'll leave it to @mpneuried and @smrchy.
Cheers,
Roger

Now I wonder if the offline queue feature should just be removed and just lean on the node-redis offline queue.  Either way I would appreciate the ability to turn it off and just let it fail.  If I get some time I might submit a PR.


Improving Search Filters

In efforts to resolve the "Verifiable" filter confusion, here is a proposal:

Group quality grade
Separate out media and put it in the advanced section. Also wondering if these filters are really necessary.

I like separating out quality and moving media into more, but not clear to me why we need to change the existing 'x has photos' 'x has sounds'  checkboxes

Because if we keep has photos as just a checkbox then it will need to be checked by default and I'm trying to minimize what must be checked by default.

That doesn't make sense to me. The two variables are (1) what the checkbox does and (2) the label. You mentioned before changing the label from 'has photos' to 'Observations with photos only' which I don't feel strongly about but seems fine. But re: what the checkbox does, 'has photos' filters things down to only those observations with photos. Thats not a default filter (by default we're showing stuff with both photos and no photos as long as they are verifiable) - so why would you think it would need to be checked?

ok. fine.
See revised...

Actually "Only has photos" doesn't make sense. I'm fine with "Has photos" and "Had media".
@kueda and @pleary just wondering when this is on the horizons. Let me know if you need anything else from me or @loarie

@loarie do you still see this as a priority? I remember we had some confusion with folks. I kinda see it as a higher priority since we don't really use this "verifiable" language on the site anywhere else.

We can ditch the media filter changes. Verifiable seemed to be the point of big confusion, anyways.


[skip ci]refactor role ceph-mds

ceph-mds: do not delegate tasks individually
ceph-mds: group similar tasks in create_mds_filesystem.yml using block keyword

jenkins test pipeline

latest changes untested; trigger pipeline whenever CI can accommodate it

jenkins test pipeline

jenkins test dev-ubuntu-non_container-purge

jenkins test dev-ubuntu-non_container-purge

Second phase of testing went fine -
https://2.jenkins.ceph.com/job/ceph-ansible-pipeline/3563/
https://2.jenkins.ceph.com/job/ceph-ansible-prs-dev-ubuntu-non_container-purge/94/

jenkins test pipeline

jenkins test dev-centos-non_container-all_daemons

jenkins test dev-centos-non_container-all_daemons


Implement Cards Simple

Original: https://www.esri.com/en-us/digital-twin/overview
New: https://main--esri--aemsites.hlx.page/en-us/digital-twin/overview
Implement 'Cards Simple' version of cards component.

Which variant is that, is it this?

Yes. That's the one. We have multiple other card variants as well.

For this variant and others, are you able to "detect" them based on their content structure, or will you be using a variant (changing the docs to Cards (simple) or similar). Preferably it would be the former when possible, but if it's the latter let's discuss how we can detect them at import time.


custom_element_apigen doesn't have common.dart

custom_element_apigen doesn't seem to include common.dart anymore. But this file is being imported in several files in paper-elements.

This should be fixed now


There is no secondary storage VM for secondary storage host SecondaryStorage

I have got "There is no secondary storage VM for secondary storage host SecondaryStorage" ERROR in cloudstack-management logs,
and I cannot add the ISO images。

I'm using cloudstack v4.16.0 version, by KVM as a hypvisior

please help me to fix it！

@pam955 Based on the snippet of the logs shared, it seems that you don't have a secondary storage VM, i.e., in your console go to the systemVMs tabs under Infrastructure and there wouldn't be any systemvm listed. It seems that this is because you have no hypervisor host in a valid State. Please check the host state.

@Pearl1594
Thanks for your comment, I can see Vms  in "running" state in the  systemVMs tabs under Infrastructure。One vms showing "alter" , but I cannot see the details。

@pam955 You can try destroying the SSVM and let it get re-created, or login to the SSVM (via console/ssh) and restart the cloud service (systemctl restart cloud). To identify why the SSVM has gone into alert state, you can check the logs in the Ssvm at /var/log/cloud.log

Thank you, the error is disapere after delete the Sys Vms 。


fl_pip Example Fails to Compile: “The method ‘CountDown’ isn’t defined for the type ‘Timer’”

The example project for the fl_pip package fails to compile due to missing definitions and unused imports in the lib/main.dart file.
Steps to Reproduce:
1.	Clone the repository:
 	git clone https://github.com/Wayaer/fl_pip.git
2.	Navigate to the example folder:
 	cd fl_pip/example
3.	Open the example project in your IDE (e.g., Android Studio, VS Code).
4.	Open the lib/main.dart file.
5.	Attempt to build or run the app.
6.	Observe the following errors in the IDE or console:
Errors:
1.	Missing Method:
The method 'CountDown' isn't defined for the type 'Timer'.

Unused Import:Unused import: 'package:flutter_waya/ flutter_waya. dart'.

Expected Behavior:

The example app should compile and run without errors, demonstrating the functionality of the fl_pip package.
Environment:
•	Flutter Version:
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.5, on macOS 15.1.1 24B91 darwin-arm64, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
[✓] IntelliJ IDEA Community Edition (version 2024.3)
[✓] VS Code (version 1.95.3)
[✓] Connected device (6 available)
[✓] Network resources

• No issues found!

•	IDE: Android Studio
•	Operating System: macOS

The issue has been fixed, please update the code

for iOS getting blank when pip is active is there any solution ?


Example for connecting multiple node id and fetching the collection

The gateway example connects a single node, and then fetching the file.
What if I want to connect multiple node ids that have a file with the same hash, and download different parts of file from different node in parallel?

The gateway is not able to do this currently

Is it possible to do it with iroh currently? The example I saw all were fetching file from single node id.


GPII-3841: Add missing provider definition

I've missed out the provider definition (again ;)

LGTM


Regularization in blocking

In inference_with_blockscript, line 55 gives the same regularisation as line 68, should this be coupled automatically?

They are set to the same level in this script, but they are regularising slightly different things. The regularisation in line 55 is regularising partially observed points. The regularisation in line 67 (I guess this is the one you referred to, i.e. 10^(-10) in blockingParams = (collect(1:length(obs)-2)[1:2:end], 10^(-10), SimpleChangePt(100)) ) is regularising the artificial, exactly observed knot in the blocking scheme. Initially they had to be kept separately, because prior to introducing feature of switching between two ODE solvers (between solvers for M, mu and L and solvers for H, Hnu and c) exact observation of the knot was more difficult to handle numerically. Consequently, when only solvers for  H, Hnu and c are used throughout, then the regularisation parameter in line 67 needs to be smaller than the one in line 55. Currently, because solvers for M, mu and L are behaving better, the two can be set to equally low values ... at least in the example I tested it on. However I don't know if it won't break in other examples, so I think it might be better to keep those separately. Maybe some intelligent default setting which sets them to the same level might be a good compromise.


Support custom values in runtime docs

In the oauth2 URL shares, we need set that values in runtime.
For workaround I created this repo but it would be good if directly support these.
https://github.com/worldline-go/utility/tree/main/swagger
// @securitydefinitions.oauth2.accessCode	OAuth2AccessCode
// @tokenUrl								[[ .Custom.tokenUrl ]]
// @authorizationUrl						[[ .Custom.authUrl ]]

And a function which can call and change the values.
swagger.SetInfo(
		swagger.WithVersion(version),
		swagger.WithCustom(map[string]interface{}{
			"tokenUrl": provider.GetTokenURL(),
			"authUrl":  provider.GetAuthURL(),
		}),
)

And we can create more options in here.
What you thinking about this functionality(SetInfo function in here)? If it is ok I can send a MR, we can change and talk in there.

This is a much needed feature.


Possible mention of prettier

Because you mention Airbnb's javascript style guidelines, I think pointing users to  prettier would be useful. It's reasonably painful to continually format your code and this automates the process. Also I believe Airbnb is using prettier now as well.

I can add it as an alternative (:

Closed in 4fb3afe


Deconz add-on: specify external URL instead of internal docker

Hello,
Would it be possible for the Deconz addon to be able to specify an external URL for Deconz instead of the internal docker URL?
My use-case is the following. I have a dedicated Deconz installation (on a TinkerBoard) because I don't want the lights to stop working whenever I mess with Home-Assistant (WAF...).
I can of course access Deconz directly from my internal network. But I would like to access it through the Home Assistant framework (using the Ingress feature).
Is this something that could be done?
Thanks a lot!

Thank you for reaching out.  We use GitHub for tracking issues, not for providing support.
If you are in need of support, you should try our Community Forum or join our Discord chat server.
You are more likely to get the answer you are looking for in those places.
Thanks! 👍

sure! thanks a lot!


The principles the library works

I have googled a lot and found some people asking why and how this library works.
It would be very useful to add the comment here with some advices of usage.
For example for correct usage all setTimeout/setIntervals and lodash's debounce-like functions should be mocked with direct execution.

I think it has something to do with how the async loop works in JS, some basics are explained here: https://www.youtube.com/watch?v=vn3tm0quoqE

See https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/


Feature/wiki less refreshing

Purpose
Keep refreshing from happening when not previewing live editing
Changes
In debounce, verify that the view version is 'preview'
Side effects
Shouldn't be any

Closing in favor of hotfix https://github.com/CenterForOpenScience/osf.io/pull/1970


Use release-latest version of all Cloud Extensions

Now that CloudWatch Offline is released we should use it and always use the latest version of all our Cloud Extensions for our sample application.
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Can we do this for all sample apps?

Can we do this for all sample apps?

Yep, I'll create a ticket for on-call to do it.


Regression: AppDeploymentDeleteServiceInstanceWorkflow leaks backend services on deletion

Expected behavior

As an app broker user provisioning brokered service without backing app (i.e. only backing service(s)), see #287
in order to avoid backing service leak
I need backing services to be deleted when a brokered service is unprovisionned

Observed behavior
Following #318, the AppDeploymentDeleteServiceInstanceWorkflow.deleteBackingServices() method is only attempting to delete backing services bound to applications, and hence skipping backing services when there is no associated backing services.
https://github.com/spring-cloud/spring-cloud-app-broker/blob/b0f2cbc5f4738cb0df8b5d06f3a9888c0188dc06/spring-cloud-app-broker-core/src/main/java/org/springframework/cloud/appbroker/workflow/instance/AppDeploymentDeleteServiceInstanceWorkflow.java#L75-L92
/CC @LittleBaiBai
In addition, in case the provisioning completed with error such as the following, then this triggers a leak of backing services

the backing services failed to be bound to the backing applications
some backing services failed to be created
the backing application failed to starter

I understand that the following test enforces this behavior, i.e. that a non bound matching backing service instance does not get deleted upon brokered service deletion
https://github.com/spring-cloud/spring-cloud-app-broker/blob/b0f2cbc5f4738cb0df8b5d06f3a9888c0188dc06/spring-cloud-app-broker-integration-tests/src/test/java/org/springframework/cloud/appbroker/integration/DeleteInstanceWithServicesComponentTest.java#L105-L157

I've reproduced this into unit test, and was about to submit a PR with a fix.
I'm however lacking some background on expected behavior

@LittleBaiBai What was the intention in #318 regarding only deleting backing services bound to backing apps ?
What problems were causing previous behavior to attempt to delete any expected backing service (even if actually missing or unbound to the backing app) ?
Is it a valid supported case to have multiple backing applications sharing a same backing service instance ?

The idea is that App Broker shouldn't delete anything that it didn't create or for which isn't responsible. We're happy to reconsider this.

thanks @royclarkson

The idea is that App Broker shouldn't delete anything that it didn't create or for which isn't responsible. We're happy to reconsider this.

Do you mean, that the change was intended to prevent that the App Broker deletes a backing service instance which prexisted in the target space while it matches the brokered service spec (i.e. same service offering/plan/instance-name) ?
Is this a case observed in the field which deserves specific handling ?
If so, we could consider adding meta-data to backing services to record that the app broker provisionned the backing service, and possibly with a brokered service definition version (in case the brokered service definition changes). See related work at https://github.com/orange-cloudfoundry/osb-cmdb-spike/issues/10 which could be contributed to this goal

If the list of backing services is updated, the default behavior is to create and bind the new backing service instances, and to unbind and delete the existing backing service instances that are no longer listed in the configuration.

The referenced change was all about updating an SI, and the above is the desired behavior. Sorry, haven't had a chance to dig through this in detail, but if you feel like it's inconsistent with the actual behavior, then we need to address it. e.g. if deleting an SI is now broken.

if you feel like it's inconsistent with the actual behavior, then we need to address it. e.g. if deleting an SI is now broken.

Yes, this is my understanding that brokered service deletion is broken. I'll let you read in detail diagnostic and suggested fix above when you have available time.
Then, please let me know whether you like a PR that reverts related part of #318 (in AppDeploymentDeleteServiceInstanceWorkflow) and updates CT/AT accordingly (this is currently blocking #292 )

@gberche-orange
The intent of #318 was to be able to remove bound apps that are no longer listed in backing services config on upgrade update (see #293). The implementation was based on the assumption that backing services will always be bound to backing apps. I wasn't aware of the use case to use backing services without backing app (#287). Sorry about that. We should add a component test that reveal this regression and make it work for all use cases.

Thanks @LittleBaiBai for your reply.

I wasn't aware of the use case to use backing services without backing app (#287). Sorry about that.
We should add a component test that reveal this regression and make it work for all use cases.

No worries, my bad for not contributing these tests earlier as part of #287
I'm contributing them in
CreateInstanceWithParametersOnlyABackingServiceComponentTest.java
and an acceptance test in CreateInstanceWithOnlyServicesAcceptanceTest.java

@LittleBaiBai would that make sense as a 1st step to revert the behavior of a service instance unprovision to the previous algorithm (i.e. delete apps and services in current config)?
As a 2nd step, I was suggesting in https://github.com/spring-cloud/spring-cloud-app-broker/issues/344#issuecomment-600611289 to add meta-data to backing services and possible backing apps (e.g. attach the brokered service instance guid as annotation), so that all previously provisionned apps and service instance would be deleted, regardless of possibly inconsistent state (e.g. as a result of an error) or of a config update.

@LittleBaiBai @royclarkson
I pushed a commit which reverts of the service instance deprovisionning in b2324e4fb3edde4247071e11cc23ea8392952a1f as part of #292
Can you please have a look and provide your opinion and your review ?

@gberche-orange I'm working on a fix for this. Instead of reverting completely, the new logic will reinstate the previous functionality of deleting any configured services, however it will also delete any services bound to the deployed apps. I'm still not sure this is quite right, because @LittleBaiBai's change was really only meant to effect service instance upgrades. Hopefully will have a PR today.

thanks @royclarkson
Note that my osb-cmdb project is not affected anymore by this issue, but I'm sure your PR will be useful to other app broker use-cases.

I'm still not sure this is quite right, because @LittleBaiBai's change was really only meant to effect service instance upgrades.

One way to keep track of which service instances were provisionned and to take into account provisionning errors, might be add attaching metadata to backing services/apps to link them to brokered service instances. See related comment https://github.com/spring-cloud/spring-cloud-app-broker/issues/344#issuecomment-600611289 which details a bit this idea.

@gberche-orange thanks. We may need to implement metadata or something similar like you are suggesting. It feels like a more significant change we can consider in the next major version. I appreciate all your feedback. Hopefully the project will continue to mature to a point where you can reconsider using it.


No improvement in training loss using ReFT Methods

Environment info

adapters version: latest
Below output is from colab
transformers version: 4.43.4
Platform: Linux-6.1.85+-x86_64-with-glibc2.35
Python version: 3.10.12
Huggingface_hub version: 0.23.5
Safetensors version: 0.4.4
Accelerate version: 0.34.0
Accelerate config: 	not found
PyTorch version (GPU?): 2.4.0+cu121 (True)
Tensorflow version (GPU?): 2.17.0 (True)
Flax version (CPU?/GPU?/TPU?): 0.8.4 (gpu)
Jax version: 0.4.26
JaxLib version: 0.4.26
Using distributed or parallel set-up in script?: No
Using GPU in script?: True
GPU type: Tesla T4

Information
Model I am using (Bert, XLNet ...): roberta (not sure if applicable for any model)
Language I am using the model on (English, Chinese ...): english
Adapter setup I am using (if any):
The problem arises when using:

[ ] the official example scripts: (give details below)
[X] my own modified scripts: (give details below)

The tasks I am working on is:

[X] an official GLUE/SQUaD task: (give the name)
[ ] my own task or dataset: (give details below)

Question Answering on the boolq dataset.
Binary classification true/false given a question/passage
To reproduce
The training loss does not decrease by much after training via 5 epochs
from datasets import load_dataset, DatasetDict

boolq = DatasetDict()

boolq["train"] = load_dataset("google/boolq", split = "train")
boolq["val"] = load_dataset("google/boolq", split="validation")

model_name_or_path = "roberta-base"

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)

def preprocess_function(examples):
    return tokenizer(examples['passage'], examples['question'], truncation=True, padding='max_length')

tokenized_datasets = boolq.map(preprocess_function, batched=True)

tokenized_datasets = tokenized_datasets.remove_columns(["question","passage"])
tokenized_datasets = tokenized_datasets.rename_column("answer","label")

from transformers import default_data_collator

data_collator = default_data_collator

from adapters import AutoAdapterModel, LoReftConfig
model = AutoAdapterModel.from_pretrained(model_name_or_path)

config = LoReftConfig()
model.add_adapter("loreft_adapter", config=config)
model.add_classification_head("loreft_adapter", num_labels=2)
model.train_adapter("loreft_adapter")

from transformers import TrainingArguments, Trainer

training_args = TrainingArguments(
    output_dir='./results',
    eval_strategy='epoch',
    learning_rate=2e-5,
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    num_train_epochs=5,
    weight_decay=0.01,
)

trainer = Trainer(
    model=model,
    args=training_args,
    data_collator=data_collator,
    train_dataset=tokenized_datasets['train'],
    eval_dataset=tokenized_datasets['val'],
    tokenizer=tokenizer,
)

trainer.train()

Training logs:

I tried using the same code to train it with LoRA and the training loss did decrease after 5 epochs

from datasets import load_dataset, DatasetDict

boolq = DatasetDict()

boolq["train"] = load_dataset("google/boolq", split = "train")
boolq["val"] = load_dataset("google/boolq", split="validation")

model_name_or_path = "roberta-base"

from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)

def preprocess_function(examples):
    return tokenizer(examples['passage'], examples['question'], truncation=True, padding='max_length')

tokenized_datasets = boolq.map(preprocess_function, batched=True)

tokenized_datasets = tokenized_datasets.remove_columns(["question","passage"])
tokenized_datasets = tokenized_datasets.rename_column("answer","label")

from transformers import default_data_collator

data_collator = default_data_collator

from adapters import AutoAdapterModel, LoRAConfig
model = AutoAdapterModel.from_pretrained(model_name_or_path)

config = LoRAConfig(
    selfattn_lora=True, intermediate_lora=True, output_lora=True,
    attn_matrices=["q", "k", "v"],
    alpha=16, r=64, dropout=0.1
)

model.add_adapter("assistant_adapter", config=config)
model.add_classification_head("assistant_adapter", num_labels=2)
model.train_adapter("assistant_adapter")

from transformers import TrainingArguments, Trainer

training_args = TrainingArguments(
    output_dir='./results',
    eval_strategy='epoch',
    learning_rate=2e-5,
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    num_train_epochs=5,
    weight_decay=0.01,
)

trainer = Trainer(
    model=model,
    args=training_args,
    data_collator=data_collator,
    train_dataset=tokenized_datasets['train'],
    eval_dataset=tokenized_datasets['val'],
    tokenizer=tokenizer,
)

trainer.train()

Training Logs

I am just wondering if I am doing something incorrect in my script? Some feedback would be appreciated
Thanks!

Hey, from a short investigation of this, I believe these observations might be due to the capacity/ configuration of the adapters rather than an issue in the implementation:
Looking at the parameter count in adapter_summary(), the LoRA adapter has many more parameters/ capacity than the reft config, so the capacity of the reft config might be too limited to adequatly learn the task. To get better performance, it might help to increase reft capacity, e.g. via r (reduction factor) or prefix_positions/ suffix_positions (e.g. LoReftConfig(r=32, prefix_positions=10)). Alternatively, using a larger base model (e.g. roberta-large) might help.
As an additional check, you might try switching the task: On tasks from the GLUE benchmark, our Reft implementation did get solid results. See table here: https://github.com/adapter-hub/adapters/pull/705. You might check if you can reproduce those in your setup (data from here).
(side notes: ideally, always use AdapterTrainer (from adapters import AdapterTrainer) for training. Also, increasing learning rate to e.g. 1e-4 is usually beneficial.)

thank you for the informative response!


Add "Getting Started" docs to the docusaurus based docs site

What mistake did you find / what is missing in the documentation?
N/A
What is the relevance of it?
This is a child issue of spawned from https://github.com/openshift/odo/issues/4664#issuecomment-875511836
Acceptance Criteria
"Getting Started" section gives users an overview about odo:

[ ] Quickstart (@kadel you need to help us here with Springboot example)(#4922)
[x] Basics (#4914)
[ ] Cluster Setup (#4973)

[ ] ~Development Cluster (this doc clarifies that odo docs help setup development clusters only.)~
[x] Kubernetes
[x] OpenShift

[x] Installation (#4923)
[ ] ~Import applications (talk about how existing git repo can be deployed to k8s using odo)~
[x] Configuration (talk about odo preference file) (#4921)

/kind documentation
/kind task

Opened separate issue for Quickstart. Rest of the things are done by @valaparthvi
/close


yes

because they are bad too

The format of the file is JSON.
Besides, I think the idea is to include some basic profanity in English, and let anyone use their own list.


Issue with instantiating Driver

Hello,
production.ERROR: Driver (imagick) could not be instantiated. {"exception":"[object] (Intervention\Image\Exception\NotSupportedException(code: 0): Driver (imagick) could not be instantiated. at ....vendor/intervention/image/src/Intervention/Image/ImageManager.php:115)
The issue is caused by the fact, that driver has to be specified in lowercase in laravel config, and Intervention/Image tries to ucfirst it and look for the folder. However, if application is  some locales (probably Japanese in my case), ucfirst returns the string without change (lowercase) and driver search fails. Ucfirst should be changed to locale-independent way.

As a workaround

does it work specifying the the driver already correctly spelled? My impression it's really only used within \Intervention\Image\ImageManager::createDriver
seems the driver also supports providing an instance (though that might be problem with caching of the config)

No, actually it does not work when correctly spelled in my case, it fails on another package then ( Driver must be gd or imagick. Imagick provided. {"exception":"[object] (Spatie\Image\Exceptions\InvalidImageDriver(code: 0): Driver must be gd or imagick. Imagick provided.).
As a workaround, I try to reset locales to ones where ucfirst is working and processing images on separate work queue from anything, that requires me to change locale.

I've used the example on the website and had gotten the same exception. I changed imagick to Imagick with uppercase(first letter). It worked.

This is working for me too. Just search for 'imagick' and change it everywhere in your code.

This issue should no longer occur in version 3.


Eslint should prevent us from using require()

This eslint option disables require unless is used at the top level of a module. More details here: https://eslint.org/docs/rules/global-require
Fixes #4361

/azp run js - client - ci

Pipeline js - client - ci should be run before merging this PR, since it could impact all client libraries.  However it currently cannot be run due to the path filter.  Trying to fix this now.

/azp run js - client - ci

If you want to flag all require() statements generally (in favor of ES6 imports), you could consider adding these rules from the eslint-plugin-import:
https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-commonjs.md
https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-amd.md

Based our chat, we'll use eslint-plugin-import. To do that in a better way than having to update all of the package.json files myself, I'll come up with a proposal to rush, then test this proposal on this project by adding eslint-plugin-import to all of our packages: https://github.com/microsoft/web-build-tools/issues/1411

What are the next steps here. Can this be merged?

@Petermarcu We're thinking on updating every project we have to use some specific Eslint rules by an extra module that needs to be installed everywhere. This update can be done manually, but seemed to us that rush should be able to do this bulk updates. Since this is not as urgent as our goals per release, we decided to route the efforts on making a PR to add this bulk feature to Rush: https://github.com/microsoft/web-build-tools/pull/1434 This PR has been approved some days ago, but they recommended me to add tests. I spent some of Friday studying how to add the tests and added two tests, one for the add action and another one for the add action with the --all parameters. It would hopefully be merged soon.
As a side effect of this: Now I know how rush's source code works! I'm looking forward to be the rush expert in our team at some point! Since we're relying so much on this project, I'm pretty excited to be the bridge between both teams, and hopefully make both grow!

I'll close this PR for now since we haven't encountered any similar issue. If this reappears, I'll fix it for sure.


'timeline' should be in 'Source Control' sidebar panel

The list of git commits ('timeline') is shown in the 'Explorer' sidebar panel,but not in the 'Source Control' sidebar panel:
Explorer:

Source Control:

While having it in the Explorer can be useful, it is logically expected in Source Control.
I suggest that you either move the timeline from Explorer to Source Control, or add an additional timeline to Source Control.

You can move it there yourself.  It is two steps (there may be a more direct method).  Move it to the Side Bar, open SCM, drag the Timeline icon to the lower/upper half of the SCM view.

@ArturoDent Interesting, I didn't know something like that was possible. Thanks!


can't download plugin

when i try to download the plugin, i have an error:

Hey @vadymchan, thanks for coming to me with this. Could you provide some details about your environment and context so I can replicate and fix?

Are you able to download other plugins?
What version of Obsidian are you using?
What platform? (iOS, Mac, Linux, etc)
What happens when you open a fresh vault and install the plugin from there?

Hey @djmango, thanks for creating the plugin. I am running into the same issue. Using Obsidian 1.3.5 on a Mac.

Hi. Thank you for your response! Sure. So:

Yes, I have successfully downloaded and installed other plugins without encountering any problems.
I'm using v1.3.5
Windows 11
still unable to download =(

Should be good to go now, thanks again for letting me know!

Yep, now I've successfully downloaded the plugin. Thanks a lot for your quick fix and for making this plugin in the first place!


WIP: Testing modified upgrade boot test behavior

Pulling in https://github.com/jenkins-x/bdd-jx/pull/136 to
boot-vault-upgrade, and hacking all the other always-run contexts to
not actually do anything, since we're not gonna merge this, just use
it to verify that the changes in that BDD PR don't break boot-vault-upgrade.
/hold
Signed-off-by: Andrew Bayer<EMAIL_ADDRESS>

/retest


Add Deno and Node to extra implementers of various specs

See https://github.com/whatwg/streams/issues/1141 for more background on this.
I have not added Deno to fetch even though we implement it, because most changes in there are really not relevant to us in the slightest (CORS etc).

Talked to James, and have now added Node to the following specs:

Console
DOM (only for AbortController, AbortSignal, Event, and EventTarget)
Encoding
HTML (only for timers, structured clone, base64 utils, channel messaging)
Streams
URL

Deno has been added to the following specs:

Console
DOM (only for AbortController, AbortSignal, Event, and EventTarget)
Encoding
Fetch (not for CORS changes)
HTML (only for timers, structured clone, base64 utils, channel messaging, web workers, and web storage)
Streams
URL
WebIDL
WebSockets

WebIDL would probably be a good one for Node.js also. We implement only in so far as it is relevant to the other specs but receiving notifications on changes there would be helpful.

For Node you could also add import assertions, and possibly ES modules generally.

ES modules are not specified here, but in TC39. Specific import assertions are not very relevant to Node I think, because Node likely won't implement most of the assertions specified other than JSON. (Same goes for Deno in this case).

@GeoffreyBooth Added "esm resolver" to node's and Deno's interest lists

[ ] https://github.com/whatwg/console/pull/210
[ ] https://github.com/whatwg/dom/pull/1050
[ ] https://github.com/whatwg/encoding/pull/280
[ ] https://github.com/whatwg/fetch/pull/1385
[ ] https://github.com/whatwg/html/pull/7530
[ ] https://github.com/whatwg/websockets/pull/12
[ ] https://github.com/whatwg/fs/pull/6 (should be folded into 1 I guess)
[ ] https://github.com/whatwg/streams/pull/1211
[ ] https://github.com/whatwg/url/pull/684
[ ] https://github.com/whatwg/webidl/pull/1089


get a output from one module into another

I am trying a greenfield deployment using terragrunt. I am trying to pass the output of one module into another.
in native terraform it would just be module.name.output_var
I don't see a way to get the output of a module into a variable that can be used else ware.  What am I missing?

Duplicate of https://github.com/gruntwork-io/terragrunt/issues/418. Refer to the thread on the issue for various workarounds. Note that this is actively being implemented in https://github.com/gruntwork-io/terragrunt/pull/828.


Added new .net 7 framework

Hi @Kebechet ,
Is there any reason you need this change (e.g. did you have issues using this package on .NET 7)? If you use .NET 7 it should automatically use the packaged .NET 6 dll's that work the same as having specific .NET 7 dll's included.

Closing because of no response


Data store source should be specified in model config file

As the version of the data files used is a crucial part of the model run, I think really the path to the data source should be in the config file rather than specified as a command-line argument (or better still, as a URL: #364).
Do you agree, @jamesturner246?

Sounds sensible! :+1:


Flutter Web has terrible performance in Firefox when resolution is any higher than 1080p

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Create a Flutter Web project, the performance issues are visible even if it's a completely blank app
Open the web page in Firefox
Use 4k screen, or if you don't have one, simulate it using Firefox Dev Tools
See FPS is drastically lower, than with lower resolutions

This happens only when using the CanvasKit renderer. In comparison, Chrome is able to render the same page at constant 75 FPS.
Expected results
The frame rate shouldn't degenerate with higher resolutions, when the app doesn't even need to draw anything.
Actual results
The frame rate is significantly lower, than with lower resolutions. (for 4k it's around 20FPS and a lot of input lag)
Code sample
Code sample
runApp(MaterialApp(
    home: Scaffold(
      body: Container(
        color: Colors.white,
        child: const FpsCounter(),
      ),
    ),
  ));

class FpsCounter extends StatefulWidget {
  const FpsCounter({super.key});

  @override
  State<FpsCounter> createState() => _FpsCounterState();
}

class _FpsCounterState extends State<FpsCounter> {
  var fps = 60;

  @override
  Widget build(BuildContext context) {
    return Container(
      alignment: Alignment.topRight,
      margin: const EdgeInsets.all(10) + const EdgeInsets.only(right: 50),
      child: Stack(children: [
        Text(
          fps.toString(),
          style: TextStyle(
            fontSize: 30,
            foreground: Paint()
              ..style = PaintingStyle.stroke
              ..strokeWidth = 4
              ..color = Colors.black,
          ),
        ),
        Text(
          fps.toString(),
          style: const TextStyle(
            fontWeight: FontWeight.bold,
            fontSize: 30,
            color: Colors.white,
          ),
        ),
      ]),
    );
  }

  @override
  void initState() {
    super.initState();

    var frameCount = 0;

    void postFrameCallback() {
      frameCount++;
      setState(() {});
      WidgetsBinding.instance.addPostFrameCallback((_) => postFrameCallback());
    }

    postFrameCallback();

    Timer.periodic(const Duration(seconds: 1), (timer) {
      setState(() => fps = frameCount);
      frameCount = 0;
    });
  }
}

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.10.5, on Microsoft Windows [Version 10.0.22000.2057], locale pl-PL)
    • Flutter version 3.10.5 on channel stable at C:\tools\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 796c8ef792 (2 weeks ago), 2023-06-13 15:51:02 -0700
    • Engine revision 45f6e00911
    • Dart version 3.0.5
    • DevTools version 2.23.1

[✓] Windows Version (Installed version of Windows is version 10 or higher)

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Chrome - develop for the web
    • CHROME_EXECUTABLE = C:\Program Files\Chromium\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2022 17.4.3)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
    • Visual Studio Community 2022 version 17.4.33205.214
    • Windows 10 SDK version 10.0.22000.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] IntelliJ IDEA Ultimate Edition (version 2023.1)
    • IntelliJ at C:\Users\Gieted\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\231.9161.38
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 231.9065

[✓] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.22000.2057]
    • Chrome (web)      • chrome  • web-javascript • unknown
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 112.0.1722.68

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 2 categories.

Hi @Gieted, thanks for reporting this. Was the app running in debug/profile/release mode when you observed this performance degradation?

It happens both with --profile flag and release build.

It turned out, that I had this issue because a bug in my graphics drivers caused hardware acceleration not being enabled.
However, even with CPU rendering, the performance is unreasonably bad. I've done some tests, and even drawing a completely blank frame to a high-resolution canvas, causes insane lag in Firefox. Maybe it's not directly a Flutter problem, because it happens even with vanilla JS, but don't you think, that Flutter Web should have some flag, that would allow using a 2d context instead of WebGL (even if some more advanced visual effects would not work)?
Code sample
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<body>
<canvas width="3840" height="2160" id="canv"/>

<script>
    const canv = document.getElementById('canv');
    const ctx = canv.getContext('webgl');
    console.log(ctx)

    let frames = 0;

    function draw() {
        requestAnimationFrame(draw);
        ctx.clearColor(0, 0, 0, 1);
        ctx.clear(ctx.COLOR_BUFFER_BIT);

        frames++;
        color = !color;
    }

    draw();

    setInterval(() => {
        console.log(frames);
        frames = 0;
    }, 1000);
</script>
</body>
</html>

Hi @Gieted, can you take a look at these issues to see if they're viable solutions to your issue?
https://github.com/flutter/flutter/issues/120156
https://github.com/flutter/flutter/issues/123277

Just as I've already told, this issue is not caused by Flutter, so no issues you've linked are not similar. I'm closing this issue, as I doubt there is anything you can do about this problem.


Appointment examples

I added Appointment and HealthcareService examples. Still working on Practitioner and Location.

Just a note, when code systems are indicated as oids, the default renderer just says "unknown". See http://build.fhir.org/ig/fhir-fi/finnish-base-profiles/branches/Appointment-examples/Appointment-appointment-general-practitioner.html (a volatile URL, but visible now).
It would be nice to get the code systems visible as FHIR terminologies, but perhaps let's not go there right now...


Update privilege_elevation_all.yaml

Updated PrivilegeElevation to UserElevation.

Working with Andrew Pantelis, after reviewing the existing unified log for privilege elevation we found after running a log stream, this is actually looking for UserElevation not PrivilegeElevation.

Hi Skyler,
Thanks for putting this in - we are going to quickly review this as my latest testing with Jamf Connect 2.39/40 are using PrivilegeElevation as category

@SkylerGodfrey After further review, only a specific version of Jamf Connect 2.36 had this UserElevation category during that version. all of the previous and more current versions use PrivilegeElevation

Closing this pull request as the most recent versions do use the category PrivilegeElevation.


Fixing image quality instructions at composite lib

Coverage remained the same at 98.762% when pulling 83db36bf411629306744fe5e065cee37f9861cd9 on rodrigoalviani:master into c14434f9e70890dadffb215392b391d1e75456a2 on lovell:master.

Good spot, thank you!


RootUrl of another API gateway lambda function as environment variable

** Which Category is your question related to? **
api & function
** What AWS Services are you utilizing? **
Amplify, Lambda, API Gateway
** Provide additional details e.g. code snippets **
I have two lambda functions each with their own API gateway. One requires authentication, the other is public. The authenticated endpoint will send a purchase order to a 3rd party payment processor.  The order must include the callback url which will receive the order confirmation. I thus need the restapi-id of the public endpoint in order to construct the callback url:
https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage_name}/
How do I access it as a parameter in the private lambda function?

Hi @alexladerman you are correct that the API ID does not currently get auto-wired into the lambda CFN template. While we investigate adding this by default, here are the manual steps to make it accessible in your lambda. I'm calling the callback API "callbackAPI" (very creative) and the lambda that calls it "purchaseFunc"
in amplify/backend/api/callbackAPI/callbackAPI-cloudformation-template.json add the following at the bottom within the "Outputs" block.
"ApiId": {
  "Description": "API ID",
  "Value": {"Ref": "callbackAPI"}
}

In amplify/backend/function/purchaseFunc/purchaseFunc-cloudformation-template.json within the "Parameters" block at the top add
"apicallbackAPIApiId": {
  "Type": "String",
  "Default": "apicallbackAPIApiId"
}

Then, within the Resources.LambdaFunction.Properties.Environment.Variablesblock  in the same file add
"API_CALLBACKAPI_APIID": {
  "Ref": "apicallbackAPIApiId"
}

In amplify/backend/backend-config.json within function.purchaseFunc add
"dependsOn": [
  {
    "category": "api",
    "resourceName": "callbackAPI",
    "attributes": [
      "ApiName",
      "ApiId"
    ]
  }
]

If there are already entries in the dependsOn list, add the above to it.
Finally, to wire everything together, go to amplify/backend/awscloudformation/nested-cloudformation-stack.yml and within the functionpurchaseFunc.Properties.Parameters stack add
"apicallbackAPIApiId": {
  "Fn::GetAtt": [
    "apicallbackAPI",
    "Outputs.ApiId"
  ]
}

After doing this, the purchaseFunc will have access to the API ID via the API_CALLBACKAPI_APIID environment variable and can construct the URL.
Hope this helps get you unblocked while we investigate a better solution.

Ah, thanks. I'd assumed all the cloudformation templates were managed by
amplify-cli and best not to be tampered with manually.
On Tue, Feb 18, 2020, 04:03 Edward Foyle<EMAIL_ADDRESS>wrote:

Hi @alexladerman https://github.com/alexladerman you are correct that
the API ID does not currently get auto-wired into the lambda CFN template.
While we investigate adding this by default, here are the manual steps to
make it accessible in your lambda. I'm calling the callback API
"callbackAPI" (very creative) and the lambda that calls it "purchaseFunc"
in
amplify/backend/api/callbackAPI/callbackAPI-cloudformation-template.json
add the following at the bottom within the "Outputs" block.
"ApiId": {
"Description": "API ID",
"Value": {"Ref": "callbackAPI"}
}
In
amplify/backend/function/purchaseFunc/purchaseFunc-cloudformation-template.json
within the "Parameters" block at the top add
"apicallbackAPIApiId": {
"Type": "String",
"Default": "apicallbackAPIApiId"
}
Then, within the Resources.LambdaFunction.Properties.Environment.Variablesblock
in the same file add
"API_CALLBACKAPI_APIID": {
"Ref": "apicallbackAPIApiId"
}
In amplify/backend/backend-config.json within function.purchaseFunc add
"dependsOn": [
{
"category": "api",
"resourceName": "callbackAPI",
"attributes": [
"ApiName",
"ApiId"
]
}
]
If there are already entries in the dependsOn list, add the above to it.
Finally, to wire everything together, go to
amplify/backend/awscloudformation/nested-cloudformation-stack.yml and
within the functionpurchaseFunc.Properties.Parameters stack add
"apicallbackAPIApiId": {
"Fn::GetAtt": [
"apicallbackAPI",
"Outputs.ApiId"
]
}
After doing this, the purchaseFunc will have access to the API ID via the
API_CALLBACKAPI_APIID environment variable and can construct the URL.
Hope this helps get you unblocked while we investigate a better solution.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aws-amplify/amplify-cli/issues/3431?email_source=notifications&email_token=ABLG6MFLSFQQFXF4IRE3JFTRDNFYNA5CNFSM4KVLZOS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMAL36Y#issuecomment-587251195,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLG6MHHINJ5DYRVTDS2D4TRDNFYNANCNFSM4KVLZOSQ
.


Full disk encryption (FIDO/TPM)

This is an epic card to track integration of full disk encryption (FDE) with FIDO and TPM.

Explore FDE in c3os design

As we do have already support for disk encryption, the scope of this card changed slightly, now we just look to support offline encryption with static measured boot.

Blocked by #873 #872

This is done


Auto-unwrap args before calling function

This works on the expectation that these functions are always called with one argument, which is the case with all the functions so far, but I don't know blockly well enough to know if that's always the case.


Create Docker-Security.md

Hi @wurstbrot would you please answer my two queries on the outcomes from this session. Thanks.
Line 8: 'The outcome of this Working Session will be a document which summarizes the most common security concerns when using Docker, and gives practical advice on suitable safeguards.' I've changed this line because the original was unclear about what 'them' referred to. Let me know if you're happy with the new version.
Line 45: 'This means that security models that support them must adapt to the different requirements.' Who does 'them' refer to? The architectures or the microservices?

Hi @Ambg05,
I am happy with the new version.
Line 45: I guess that the author wants to say:
This means that security models that support development, deployment and management must adapt to the different requirements.

Thanks Timo.


PMP: Try to implement support for 64 regions

An upcoming RISC-V ISA spec is likely to support 64 PMP entries (currently, the maximum is at 16). We should give the implementation a try to see how area and performance increase.
https://github.com/riscv/riscv-isa-manual/pull/525

Hi! I'll look into this problem! 😄


started models for design, main and profile pages

We will probably need to adjust some or delete some as we go along.

will redo in correct format


Enable GPU acceleration for baselines/run_baseslines.py

This PR includes some changes to enable baselines/run_baseslines.py to use GPUs on Iridis X. The main changes are:

Setting the default device to 'cuda'.
Sending all numpy operations to the correct device.
Replacing the (now) deprecated torch.Tensor constructor with torch.tensor instead, so we can specify the device to allocate tensors on.
This code now uses torch~=2.5 and python~=3.9, due to older CUDA versions being unavailable on Iridis X. @JAJaBiaN, do you want me to also update the environment .yml files in the repository?

Each epoch takes ~20 seconds on the A100 nodes on Iridis X, which I think is a ~6x speedup compared to training on the CPU. There is still more optimisation to do, but this is a good enough start.
Opening this as a draft (for now) as there are a few caveats which may be fixable in a short amount of time:

This doesn't work with > 1 process, as the CUDA context cannot be shared. Therefore only a single GPU can be used.
I haven't fully tested this for all environments. So it seems to work for "predator prey", but I haven't looked at others.

That all seems great!
Can you create a separate .yml file for the python 3.9 version?
Otherwise, as long as SMAC still works in the new conda environment, I'm happy to review and pull.


Add an env variable to the release builder to tell mach to build with debug assertions.

r? @aneeshusa

This change is

@bors-servo r+

:pushpin: Commit 97d8768 has been approved by aneeshusa

:hourglass: Testing commit 97d8768 with merge 9ea333b...

:sunny: Test successful - status-travis

I'm a bit nervous that whenever we next update the builders to use this we'll have permafailures that we've never seen before...

@jdm: The way we're doing this is effectively to avoid it. This env var currently does nothing.
Once this is rolled out, I need to add a mach PR using that env var to add the --cfg flag to the rust flags, and then cry with the failures, and fix it, or figure out what we can do about it :)


Patch away the time.sleep

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[ ] The PR has modified HISTORY.rst with an appropriate description of the change (see Modifying change log).

Command Guidelines

[ ] Each command and parameter has a meaningful description.
[ ] Each new command has a test.

(see Authoring Command Modules)

This will erase all the sleep time during replay.

/cc @yugangw-msft

https://github.com/Azure/azure-cli/issues/3027

Codecov Report

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

@@            Coverage Diff             @@
##           master    #3033      +/-   ##
==========================================
+ Coverage   63.17%   63.18%   +<.01%
==========================================
  Files         484      484
  Lines       27574    27579       +5
  Branches     4275     4275
==========================================
+ Hits        17420    17425       +5
  Misses       9000     9000
  Partials     1154     1154

Impacted Files
Coverage Δ

src/azure-cli-testsdk/azure/cli/testsdk/patches.py
88.23% <100%> (+1.56%)
:arrow_up:

src/azure-cli-testsdk/azure/cli/testsdk/base.py
68.58% <100%> (+0.16%)
:arrow_up:

Continue to review full report at Codecov.

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


chore: http-go-aks to 0.0.1

chore: Promote http-go-aks to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


rustc: 1.30.1 -> 1.31.0

Motivation for this change

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

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

I am looking for someone who wants to volunteer for macOS.
For testing I would recommend to build a rust package such as fd and test it.

rustc 1.31 built fine, and I built the rust / cargo package fd and that worked fine, too :)

pushed to staging: 3a5b4a631d8

It is a manual project. Currently staging-next is under stabilization: https://github.com/NixOS/nixpkgs/pull/51444
This pull request is not included there, so it will be in the next round.


remove become from every step, simplify task-names

Since become: true is added on every task, one can just run the role or play with become, thus reducing code.
The task-name were changed because ansible adds this to the task execution anyway:
TASK [ssl-certificate : ssl certificate | check parameters] ********************************************

You're right that become could be put in the playbook or role, however that's effectively a breaking change to the playbooks used for our infrastructure. Furthermore in other roles and playbooks we use more fine-grained permissions as not all tasks require privileged access.
This means we won't be able to accept this change. However if you'd like to update your PR to just clean up the task names that sounds reasonable.

I can totally understand this!
I updated the PR to cleanup the task names.