Wrong consideration of number of blocks in blockCountInAWeek

Issue Title
Wrong consideration of number of blocks in blockCountInAWeek
Issue severity
Medium
Vulnerability details
DiamondInit.init() contract is used to initializes a diamond with user defined state variables. The issue is the number of blocks considered in blockCountInAWeek is incorrect which will break the core intended design of contracts functionalities.
File: src/dollar/upgradeInitializers/DiamondInit.sol

        ls.blockCountInAWeek = 45361;

Affected code location: check here
The number of seconds in one week is 6,04,800 seconds and while calculating the blockCountInAWeek, the blocks formation period is considered to be 13.3 seconds. It is to be noted that Ethereum Proof of Work is deprecated and merged with Proof of stake which has different block formation period. It is explained as below,

During of Ethereum, Proof of work 13 to 16 seconds was an average block formation time before Ethereum merge i.e before september, 2022 and 13.3 seconds is considered in current implementation.

**BEFORE merge Ethereum block time reference with chart:

However, Ethereum block formation happens on every 12 seconds and it is confirmed from below sources,
Ethereum official Reference-01
chainstack Reference-02
ycharts Reference-03
**AFTER merge Ethereum block time reference with chart:

To see the actual difference,
With current implementation:
Total seconds in one week = 6,04,800
Considered Ethereum block formation period in second in current implementation = 13.33 approx
Therefore, ls.blockCountInAWeek = 45361;

With Ethereum Proof of stake,
Total seconds in one week = 6,04,800
Proposed Ethereum block formation period in second  = 12 approx
Therefore, ls.blockCountInAWeek = 50400;

The difference = 50400 - 45361 = 5039 = 17 hours approx.
This much time difference will affect wherever blockCountInAWeek variable used in contracts which will cause unexpected design failure.
In LibStaking.sol, In deposit() function, To calculate the _endBlock, blockCountInAWeek variable is used,

    function deposit(
        uint256 _lpsAmount,
        uint256 _weeks
    ) internal returns (uint256 _id) {

    . . . some code

        // calculate end locking period block number
        uint256 _endBlock = block.number + _weeks * ss.blockCountInAWeek;

    . . . some code

Similarly, in functions like addLiquidity(),

    function addLiquidity(
        uint256 _amount,
        uint256 _id,
        uint256 _weeks
    ) internal {

    . . . some code

        stake.endBlock = block.number + _weeks * ss.blockCountInAWeek;

    . . . some code

The end block calculation is getting delayed by 17 hours approx. which is loss of time of users in both of these functions due to incorrect calculations.
Recommended Mitigation Steps
Consider 12 seconds block formation period.

-        ls.blockCountInAWeek = 45361;
+        ls.blockCountInAWeek = 50400;

cc- @rndquu , @pavlovcik , @molecula451 , @gitcoindev

I thought we have a setter for this to be able to update it as it drifts?

Hi @pavlovcik,
Thanks for the comment.
The issue was identified as Medium severity since it's breaking the protocol intended design. Since the information is known to protocol team and this can be adjusted periodically as Ethereum changes the block formation period in future.
Thank you for confirming the issue and I think, the issue can be considered as low severity as there is setter function as referenced by you and it can be used to adjust number of blocks over time.


Can't run boot in base of cloned edge directory

This is very wierd.
I am on OS X.
I cloned edge, cd edge, and run boot dev.
See the error below.
I can't even run boot -h in this repo.
From outside this repo, I can run boot -h fine.
edge git:(master) boot dev
   clojure.lang.ExceptionInfo: Could not locate com/stuartsierra/component__init.class or com/stuartsierra/component.clj on classpath:
    data: {:file
           "/var/folders/j7/8c8ps6n13xn7b5yw0df0bslw0001yl/T/boot.user7045153429829462527.clj",
           :line 5}
java.io.FileNotFoundException: Could not locate com/stuartsierra/component__init.class or com/stuartsierra/component.clj on classpath:
                     ...
    clojure.core/load/fn                          core.clj: 5641
       clojure.core/load                          core.clj: 5640
                     ...
   clojure.core/load-one                          core.clj: 5446
clojure.core/load-lib/fn                          core.clj: 5486
   clojure.core/load-lib                          core.clj: 5485
                     ...
      clojure.core/apply                          core.clj:  626
  clojure.core/load-libs                          core.clj: 5524
                     ...
      clojure.core/apply                          core.clj:  626
    clojure.core/require                          core.clj: 5607
                     ...
        boot.user/eval65  boot.user7045153429829462527.clj:    7
                     ...
      boot.main/-main/fn                          main.clj:  196
         boot.main/-main                          main.clj:  196
                     ...
        boot.App.runBoot                          App.java:  399
           boot.App.main                          App.java:  488
                     ...
               Boot.main                         Boot.java:  258

Nevermind. Seems to be a boot issue:
https://github.com/boot-clj/boot/issues/123
I removed my old ~/.boot file and then everything worked fine.

Yes, I find I sometimes have to remove my .boot/cache
Malcolm Sparks
Director
Email<EMAIL_ADDRESS>Web: https://juxt.pro
JUXT LTD.
Software Consulting, Delivery, Training
On 6 July 2016 at 00:31, Don Jackson<EMAIL_ADDRESS>wrote:

Nevermind. Seems to be a boot issue:
boot-clj/boot#123 https://github.com/boot-clj/boot/issues/123
I removed my old ~/.boot file and then everything worked fine.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/juxt/edge/issues/9#issuecomment-230632998, or mute
the thread
https://github.com/notifications/unsubscribe/AAJ9O5ZaBOVRMFVKkW3SE0baIdHcmTx4ks5qSulWgaJpZM4JFnxH
.


Export of first engines with text_maxlen and text_optlen >77 and (min_batch, opt_batch,max_batch) = (1,1,4) is effectively prevented by later (onnx export) assert

I can not judge if this has any practical reason, but if you try to export a engine via advanced sliders when no onnx-file has yet been created, and the dimensions are the "default", but with text_maxlen raised from 150 to 450 and text_optlen raised from 75 to 150 for example like this engine:
    profile = modelobj.get_input_profile(
        batch_min,
        batch_opt,
        batch_max,
        height_min,
        height_opt,
        height_max,
        width_min,
        width_opt,
        width_max,
        static_shapes,
    ) := (1, 1, 4, 512, 512, 768, 512, 512, 768, False)
print(profile)
<{'sample': [(1, 4, 64, 64), (1, 4, 64, 64), (8, 4, 96, 96)], 'timesteps': [(1,), (1,), (8,)], 'encoder_hidden_states': [(1, 154, 768), (1, 154, 768), (8, 462, 768)]}

Then the export of the onnx-file fails at a assert statement later. Which is a bit confusing, as it doesn't seem to be stated anywhere that the "default" engine has to be created for other exports to work nor that there are any restriction related to the token dimensions.
The same engine but with text_optlen left at the minimum value of 75, works as expected. In general I'm pretty confused why the initial onnx-file generation depends on the dimensions of the first engine created at all, when the onnx-file generated later can be reused for any arbitrary other engine dimensions. For example trying to export a static 16 batch engine will quickly eat over 60GB RAM and try to eat something over 24GB of VRAM when generating the onnx file (which crashes for me). But if I first export the smallest engine possible (and thereby implicitly the onnx file) I can later then export much larger tensorRT-engines than I would have been able in a single step.

I experimentally deleted these two lines, and at least my example case seems to work* (*although it creates a engine with encoder states of "encoder_hidden_states": [[1,154,768],[2,154,768],[8,462,768]), and so not a min_length of 77, but as I said, I do not know the reason for this if-clause, so...
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/blob/4c2bcafd854f7bc74d3ca9c5c3c90112e9fe6e55/models.py#L320
            if self.text_optlen > 77:
                return (min_batch, opt_batch, max_batch * 2)

Here is the exact reason for the failed export:
Here a opt_batch of 1 is returned:
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/blob/4c2bcafd854f7bc74d3ca9c5c3c90112e9fe6e55/models.py#L320
    def get_batch_dim(self, min_batch, opt_batch, max_batch, static_batch):
        if self.text_maxlen <= 77:
            return (min_batch * 2, opt_batch * 2, max_batch * 2)
        elif self.text_maxlen > 77 and static_batch:
            return (opt_batch, opt_batch, opt_batch)

    elif self.text_maxlen > 77 and not static_batch:
        if self.text_optlen > 77:
            return (min_batch, opt_batch, max_batch * 2)

            return (min_batch, opt_batch * 2, max_batch * 2)
        else:
            raise Exception("Uncovered case in get_batch_dim")

This gets passed into the
        export_onnx(
            onnx_path,
            modelobj,
            profile=profile,
            diable_optimizations=diable_optimizations,
        )

https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/blob/4c2bcafd854f7bc74d3ca9c5c3c90112e9fe6e55/ui_trt.py#L135C1-L135C1
inside the profile.
Where inputsis calculated like this
            inputs = modelobj.get_sample_input(
                profile["sample"][1][0] // 2,
                profile["sample"][1][-2] * 8,
                profile["sample"][1][-1] * 8,
            )

And profile["sample"][1][0] // 2, in this case will come out to (opt_batch :=1) // 2 which equals 0 and in get_sample_input the method self.checkdims then gets called with batch_size=0 as a result.
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/blob/4c2bcafd854f7bc74d3ca9c5c3c90112e9fe6e55/models.py#L977
Which in turn asserts:
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/blob/4c2bcafd854f7bc74d3ca9c5c3c90112e9fe6e55/models.py#L259
And fails.

So after looking at the code I noticed the "token min length" parameter from the UI isn't even properly passed through. And it was a pretty easy fix.
I changed
    elif self.text_maxlen > 77 and not static_batch:
        if self.text_optlen > 77:
            return (min_batch, opt_batch, max_batch * 2)

to
    elif self.text_maxlen > 77 and not static_batch:
        if self.text_optlen > 77:
            return (min_batch, opt_batch * 2, max_batch * 2)

Now it matches how the the default engine gets set up (which also specifies min_batch and opt_batch as 1 but sets it up as opt_batch = 2) and clears the assert.
And I passed the abandoned text_minlen parallel to opt and max_len through the code and plops it into the encoding states
                "encoder_hidden_states": [
                    --(min_batch, self.text_optlen, self.embedding_dim),
                    ++(min_batch, self.text_minlen, self.embedding_dim),
                    (opt_batch, self.text_optlen, self.embedding_dim),
                    (max_batch, self.text_maxlen, self.embedding_dim),
                ],

Now the engine properly generates, and works as expected, at least as far as I can see(min and max for batch and tokens are set correct and work)
You can check the few places that I touched here: https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT/compare/main...Madrawn:Stable-Diffusion-WebUI-TensorRT:main


chore(clippy): make clippy happy

Fixing a bunch of clippy errors (cargo clippy, using stable tooling and latest rust release) and ran fmt too.

Oh yes! Should of had them on save will review this shortly thanks for this


Dependency updates and language force

Updates language selection and dependencies.

@helrond This is failing because the deploy is failing based on not having AWS S3 access. Is that expected?

Yes, that's expected.

Yes, that's expected.

Ok, I'll merge to base unless you have any concerns @helrond?

Yup, go ahead.


An extra black bar shows under the dropdown list of the empty 'Custom Environment'

Storage Explorer Version: 1.19.1
Build Number: 20210422.2
Branch: hotfix/1.19.1
Platform/OS: Windows 10
Architecture: ia32
Regression From: Previous release (1.18.1)
Steps to Reproduce

Launch Storage Explorer -> Open Connect dialog -> Click 'Subscription -> Custom Environment'.(Make sure there is no custom environment).
Click the dropdown list of the 'Custom Environment'.
Check there is no extra black bar.

Expected Experience
There is no extra black bar.

Actual Experience
There is an extra black bar.

This is probably just what dropdown controls do when they have no options to choose from. We should probably disable the control if that's the case.


Cannot compile desktop_webview_window on Linux

Cannot compile, webkitgtk2-4.1 is already installed,
Getting deprecated error on linux.
Using arch linux.
error: 'webkit_web_view_run_javascript_finish' is deprecated: Use 'webkit_web_view_evaluate_javascript_finish' instead [-Werror,-Wdeprecated-declarations]
Flutter 3.10.1 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d3d8effc68 (6 days ago) • 2023-05-16 17:59:05 -0700
Engine • revision b4fb11214d
Tools • Dart 3.0.1 • DevTools 2.23.1

@MuhammedKpln how did you got around this?

They already published fix, use git version instead.

@MuhammedKpln how did you get around this?

They already published fix, use git version instead.


IPv6 support

I've added the missing code to support IPv6 addresses.

Thank you again for this! Merged into 0.14.0 :+1:


docs: Added links to llama.cpp REST API documentation

docs: Added links to llama.cpp REST API documentation and fixed a small spelling error in the readme.
(Submitting PR per @ericcurtin at https://github.com/containers/ramalama/issues/265#issuecomment-2402510416)

The failure is because you didn't sign your commit, please amend your commits with:
git commit -s --amend
I really wish we had a bot that delivered this feedback on failed DCO build, this happens all the time

Just did the git commit -s --amend and found I had to force-update the branch - hope that did everything correctly! Thanks @ericcurtin  - let's see what happens when DCO tries again here shortly lol

Could you rebase this, then the CI/CD system will be fixed.
git pull origin main
git commit -a --amend -s
git push --force

@ericcurtin I think I got it all resolved - should be good to go now.

LGTM

Thanks @josiahbryan


Compile away next/link proptypes in production

This saves 7KB as prop-types-exact is not needed in production.

Just curious, any reason to not use transform-react-remove-prop-types instead?

Just curious, any reason to not use transform-react-remove-prop-types instead?

We already do, but Next.js doesn't run babel over node_modules, so they're only removed from your own code.

@dzienisz what's the reason for 👎?


gITHUB

This looks like a mis-click to merge something from a work-in-progress branch. I'm going to close it for now. If you want this, please check with @dhoehna who's the author of those commits for how you can help.


Which crack to use?

I'm code illiterate but from what I've read it seems as though certain cracked executables are less stable than others so which one do you recommend?

I'm using Triplesec+CODEX crack, no crashes since the v3 crack, I rarely
even got crashes on the v2 crack.
On Thu, May 25, 2017 at 12:49 PM, bigbadraddad<EMAIL_ADDRESS>wrote:

I'm code illiterate but from what I've read it seems as though certain
cracked executables are less stable than others so which one do you
recommend?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/marcussacana/FAR/issues/3, or mute the thread
https://github.com/notifications/unsubscribe-auth/Aa4_WjvCds3YgYIcM8Y6OHfFVBL3ne1Lks5r9VymgaJpZM4NmPSv
.

In my case i use the SSE and ALI123 (only to test)


Dynamic DNS -- Add support for dns.lightningwirelabs.com

I would like the Dynamic DNS feature to support dns.lightningwirelabs.com. I had no success with the  custom option.
The documentation can be found here: https://dns.lightningwirelabs.com/knowledge-base/api/ddns
I can provide an API Key for testing if needed.
Here is an example from another project:
`class DDNSProviderLightningWireLabs(DDNSProvider):
handle    = "dns.lightningwirelabs.com"
name      = "Lightning Wire Labs DNS Service"
website   = "https://dns.lightningwirelabs.com/"
# Information about the format of the HTTPS request is to be found
# https://dns.lightningwirelabs.com/knowledge-base/api/ddns

url = "https://dns.lightningwirelabs.com/update"

def update(self):
	# Raise an error if no auth details are given.
	if not self.token:
		raise DDNSConfigurationError

	data =  {
		"hostname" : self.hostname,
		"token"    : self.token,
		"address6" : self.get_address("ipv6", "-"),
		"address4" : self.get_address("ipv4", "-"),
	}

	# Send update to the server.
	response = self.send_request(self.url, data=data)

	# Handle success messages.
	if response.code == 200:
		return

	# If we got here, some other update error happened.
	raise DDNSUpdateError`

is it possible to integrate it?


Add Set

We now have WeakMap, WeakSet and Map.  Set is conspicuously missing.

When do you plan to deploy version with Map?


pull request for e2e test at 11/10/2016 02:45:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Why can't I map jsx matches?

I did not modify the configuration, but I could not match the corresponding content successfully, why?

Most likely because the reg expression pattern the mapper is using does not find any matches. Mind you, the regex TypeScript mapper is rather a simple approach that may not produce the best result with jsx files (eg ).
You can share your jsx file and I can have a look at it.

I give up, what are the free and easy to use file call index class plug-in? I am a beginner in non-English programming and it is difficult for me to understand structures.

I give up, what are the free and easy to use file call relationship index type plug-in? I am a beginner in non-English programming and it is difficult for me to understand structures.

Not a problem, I am closing the issue then.
If you ever want to try I am happy to guide you


cGAN with multi-labels of multi-classes

Hi, I'm trying to modify the cGAN code so that it can be trained on these 3 labels:
label1 is a continuous value that ranges from 0.1 to 0.5 (e.g. 0.25, 0.34, 0.11....)
label2 is a discrete value that ranges from 45 to 75 (e.g. 47, 58, 61, 52....)
label4 is a discrete value that is either 1 or 2
I'm using a conditional version of the DCGAN code. These are the edits I tried making to the code (to have 2 labels with different classes) but it's not working for me: stackoverflow link
What edits to your code should I make in order to train the cGAN on 4 different conditional inputs (instead of just 1)? Thanks!

See https://github.com/eriklindernoren/Keras-GAN/issues/20 if it is helpful.


allow for filtering, mapping, creating, updating with async functions

Async all the things!

💯 Great work!


Ignore package-lock.json and yarn.lock explicitly

https://github.com/Leaflet/Leaflet/pull/6124#issuecomment-379366811

Thank you!


Typescript/Angular implementation

Hello,
I am developing an angular application that uses openseadragon viewer and I'd like to place some svg overlays on this viewer.
However, I am having trouble getting the svg-overlay package initialized into the openseaviewer.
I've installed both npm packages and am importing them as shown below.
import * as OpenSeadragon from 'openseadragon';
import * as OsdSvgOverlay from 'svg-overlay';

this.openSeadragonViewer = OpenSeadragon({
     id: "openSeadragonContainer",
     ...
});

var overlay = this.openSeadragonViewer.svgOverlay();

After this code executes it throws an error saying that '.svgOverlay is not a function'.
I've also tried declaring them in another way
declare var OsdSvgOverlay: any;

But this throws the same error.
Is there something I am doing wrong here? Or can anyone who succesfully added this in a typescript / angular project share their expertise?
Thanks in advance!

I don't think there is an npm package for the svg-overlay:
https://www.npmjs.com/package/svg-overlay
Did you not get an error when you tried to install it?
At any rate, you may need to do some work to make it function with import. I'm actually not entirely sure how plugins should work in that kind of environment.

I referenced the package straight from github using the following:
"svg-overlay": "github:openseadragon/svg-overlay"

I eventually got it working by adding the file to my vendor.ts file and writing this inside the openseadragon-svg-overlay.js file:
function OsdSvgOverlay( viewer ) {
    return new OsdSvgOverlay.Overlay( viewer );
}

and the import
import * as OsdSvgOverlay from '../../../../../wwwroot/lib/osd-svg-overlay/openseadragon-svg-overlay.js';

Good to know! Is there anything we can do to the plugin to make that process easier for the next person?

Have there been any updates on this in relation to React? I have been attempting to replicate this solution with a React/typescript app to be able to utilize the svg-overlay function with no luck. Any suggestions @iangilman or @daanvanrobays?

No updates as far as I'm aware of. What issues are you encountering? Are you getting any errors? Can you tell which part is working?

Thank you for the prompt response @iangilman! I had been trying to replicate the work done by daan and finally was able to get things working in React utilizing his suggestions. Below is how I setup the svg-overlay plugin within my repo.
// OpenSeadragon SVG Overlay plugin 0.0.5

var $ = window.OpenSeadragon;

if (!$) {
    $ = require('openseadragon');
    if (!$) {
        throw new Error('OpenSeadragon is missing.');
    }
}

var svgNS = 'http://www.w3.org/2000/svg';

// ----------
$.Viewer.prototype.svgOverlay = function () {
    if (this._svgOverlayInfo) {
        return this._svgOverlayInfo;
    }

    this._svgOverlayInfo = new Overlay(this);
    return this._svgOverlayInfo;
};

// ----------
var Overlay = function (viewer) {
    var self = this;

    this._viewer = viewer;
    this._containerWidth = 0;
    this._containerHeight = 0;

    this._svg = document.createElementNS(svgNS, 'svg');
    this._svg.style.position = 'absolute';
    this._svg.style.left = 0;
    this._svg.style.top = 0;
    this._svg.style.width = '100%';
    this._svg.style.height = '100%';
    this._viewer.canvas.appendChild(this._svg);

    this._node = document.createElementNS(svgNS, 'g');
    this._svg.appendChild(this._node);

    this._viewer.addHandler('animation', function () {
        self.resize();
    });

    this._viewer.addHandler('open', function () {
        self.resize();
    });

    this._viewer.addHandler('rotate', function (evt) {
        self.resize();
    });

    this._viewer.addHandler('flip', function () {
        self.resize();
    });

    this._viewer.addHandler('resize', function () {
        self.resize();
    });

    this.resize();
};

// ----------
Overlay.prototype = {
    // ----------
    node: function () {
        return this._node;
    },

    // ----------
    resize: function () {
        if (this._containerWidth !== this._viewer.container.clientWidth) {
            this._containerWidth = this._viewer.container.clientWidth;
            this._svg.setAttribute('width', this._containerWidth);
        }

        if (this._containerHeight !== this._viewer.container.clientHeight) {
            this._containerHeight = this._viewer.container.clientHeight;
            this._svg.setAttribute('height', this._containerHeight);
        }

        var p = this._viewer.viewport.pixelFromPoint(new $.Point(0, 0), true);
        var zoom = this._viewer.viewport.getZoom(true);
        var rotation = this._viewer.viewport.getRotation();
        var flipped = this._viewer.viewport.getFlip();
        // TODO: Expose an accessor for _containerInnerSize in the OSD API so we don't have to use the private variable.
        var containerSizeX = this._viewer.viewport._containerInnerSize.x;
        var scaleX = containerSizeX * zoom;
        var scaleY = scaleX;

        if (flipped) {
            // Makes the x component of the scale negative to flip the svg
            scaleX = -scaleX;
            // Translates svg back into the correct coordinates when the x scale is made negative.
            p.x = -p.x + containerSizeX;
        }

        this._node.setAttribute(
            'transform',
            'translate(' + p.x + ',' + p.y + ') scale(' + scaleX + ',' + scaleY + ') rotate(' + rotation + ')'
        );
    },
    // ----------
    onClick: function (node, handler) {
        // TODO: Fast click for mobile browsers

        new $.MouseTracker({
            element: node,
            clickHandler: handler,
        }).setTracking(true);
    },
};

export const OsdSvgOverlay = (viewer) => {
    return new Overlay(viewer);
};

I then import const { OsdSvgOverlay } = require('../../../utils/openseadragon/openseadragon-svg-overlay');
and call the function by passing in viewer const overlay = OsdSvgOverlay(viewer);
from there I can treat it the same as if it const overlay = viewer.svgOverlay()
Thanks again for the prompt response!

Looks great! Do you think it might be possible to update this repository to support this modality but also still support the "old fashioned" loading technique? I don't have a lot of experience with creating code that supports both, but surely people do it!

TBH I am not really sure how to go about doing that but if it would be helpful I would be more than happy to add a PR that adds a file of the overlay plugin configured in the way daan did it that I copied and then update the README with a section on implementation utilizing the new plugin. I don't know if that would be helpful or not but unfortunately that is probably the limit of what I would be able to do to help enhance the functionality.

Yeah I hear you loud and clean on the "clean" approach. I'll definitely think through it and see if I can come up with anything!


Remove blazor template content projects from .sln. Can still run directly from commandline.

This is a quick way of sidestepping the Win7 "path too long" build error in the short term. Once we've reorganized the src/Components/* file layout the issue would go away on its own too, but that may take more time.
This PR is to stop building the Blazor templates content projects in CI. To be clear, by "content projects", I mean the projects that the templates produce, not the template project itself. There is no strict reason why we need the content projects to get built. It is kind of nice to do so (could catch some regression theoretically) but it's irrelevant if we also have E2E tests on the template projects anyway, so we're OK without it.

The CI failure has nothing to do with this PR.

I retried it. I think there's been some flakiness with the identity UI packages on *nix the past few days. @haok - I thought this was resolved?

Nate has a fix for the identity UI views sometimes being missing in https://github.com/aspnet/AspNetCore/pull/6369 but I'm not sure if that's the same issue you were referring to @rynowak


fix: load normal envs during build

What is the purpose of this pull request?

What problem is this solving?

Types of changes

[ ] Feat: (new functionality)
[ ] Bug fix: ([#ref number] non-breaking change which fixes an issue)
[ ] Chore: (improvements that will not reflect in production behaviour)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Requires change to documentation, which has been updated accordingly.

#84  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @keeganpotgieter and the rest of your teammates on  Graphite


Hkube Log does not display number and array

HKube micro-service
Describe the bug
if the standard output contains only a number or array in the hkube log a blank line will appear (the data can be found in the ELK)
Expected behavior
A clear and concise description of what you expected to happen.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Python algorithm code
def start(args, hkubeapi):
    print("log alg started")
    i = 1000
    z = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print("i="+str(i))
    print(i)
    print("=============================")
    print("z="+str(z))
    print(z)
    print("=============================")
    return 42

log from UI

log from kubectl

Python algorithm code
def start(args, hkubeapi):
    print("log alg started")
    i = 1000
    z = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    print("i="+str(i))
    print(i)
    print("=============================")
    print("z="+str(z))
    print(z)
    print("=============================")
    return 42

log from UI

log from kubectl

tested on
systemVersion: "v2.0.57",
fullSystemVersion: "v2.0.57-1610535559909",

tested on
systemVersion: "v2.0.57",
fullSystemVersion: "v2.0.57-1610535559909",


Shows spinner on status info boxes while loading

It can be a little confusing to tell whether the info boxes on the visualiser
tasks tab have been updated yet or not when using Filter on Server in the
datatables search box. This makes it more clear by resetting the number to a
question mark on updates and also turning the icon into a spinner while it's
waiting to load.

nice! lgtm

Doh, we gotta fix this build failures. The front end is not even tested. So I'm just merging this.

Thanks @daveFNbuck :)

No problem, thanks for the quick merge :)


pandas 0.20 compatibility

This will be fun.  Not sure how deep this all goes, but I think we're in for some compatibility headaches.
In [3]: J = jams.load('trapped.jams')
/home/bmcfee/git/jams/jams/core.py:1852: FutureWarning: pandas.tslib is deprecated and will be removed in a future version.
You can access Timedelta as pandas.Timedelta
  if isinstance(obj, pd.tslib.Timedelta):

For reference, here are the release notes.
Running locally, it's a total disaster:
Ran 759 tests in 23.096s

FAILED (failures=271)

😱😱😱

It looks like these all(?) stem from the same issue inside JamsFrame.add_observation that is not allowing us to append strings into the value column.

Punting upstream to https://github.com/pandas-dev/pandas/issues/16309 , but I don't think we should wait on pandas to fix it for us.


[Help needed?] Adding DoS/DDoS methods

if you want, i can write a few attack vectors for the bot. Ofcourse without Scapy, which will make the final binary a lot bigger, so the options are a bit limited.
Send me a message if you want me to push a commit :)

@Nexuzzzz  Yes, I'm interested in how this works. If you are going to participate in Hacktoberfest, you can wait until October to push the commit.

@Nexuzzzz Yes, I'm interested in how this works. If you are going to participate in Hacktoberfest, you can wait until October to push the commit.

I have never participated in Hacktoberfest, could you elaborate a bit?

It's an event thrown every year by Digital Ocean and Github. basically, they track if you have done a certain number of PRs on Github during the event in October, and you will get some swag (t-shirt and stickers, usually). You can find out more info if you do a search for "Digital Ocean Github Hacktoberfest".

It's an event thrown every year by Digital Ocean and Github. basically, they track if you have done a certain number of PRs on Github during the event in October, and you will get some swag (t-shirt and stickers, usually). You can find out more info if you do a search for "Digital Ocean Github Hacktoberfest".

ah, thanks for explaining. I'll just push it later on when i have time (exam year), because i have no idea how to participate or join Hacktoberfest lol

https://hacktoberfest.digitalocean.com/


Design, Develop, and Test Convex Adaptors

Core changes:
This PR encompasses the development and unit testing of the Convex Adaptor that allows:

Depositing Curve LPTs
Withdrawing Curve LPTs
Claiming Rewards

There are several different phases / scopes. They are as follows:

Scope 1 (for Curve-Convex Market): SupplyLPT Functionality
Scope 2 (for Curve-Convex Market): WithdrawLPT Functionality
Scope 3 (for Curve-Convex Market): ClaimRewards Functionality
Scope 4: Creation of a Frax-Convex Market Adaptor with similar functionality as that done above with Curve-Convex Markets

Extra: HealthFactor Logic smart contracts that likely will be used by the CollateralMorphoBlueAdaptor.sol and DebtMorphoBlueAdaptor.sol

 ℹ Context
Context:
tldr of general resaerch; General context on rewards setup of Convex to help scope out work - A user/contract can collect rewards by:

depositing lpt & staking cvxLPT (not sure if there is much benefit w/ just holding cvxLPT)

boosted CRV, liquidity mining rewards

staking cvxCRV (aka staking CRV effectively for the protocol)

3crv gov fee, tx fees, share of boosted CRV from LPs, liquidity mining rewards (as CVX)

staking CVX

performance fees (assuming as CVX)

depositing CRV and getting cvxCRV

not sure if we are going to get any rewards for just holding cvxCRV

Functionality listed in priority:

depositing lpt & staking cvxLPT
withdrawing & unwrapping cvxLPT to CRVLPT
claiming rewards from all reward contracts (TODO: confirm that if the cellar is staking CRV(cvxCRV), CVX, then if it calls withdraw and unwrap, and sets the bool to claim rewards that it would get all rewards associated to the cellar)
staking CVX
staking CRV

 ℹ TODOs
General TODO:

[x] Research Curve-Convex Markets and codebase
[x] Review scope with Crispy before writing up code
[ ] Research FRAX-Convex Markets and codebase

Scope 1: SupplyLPT Functionality

[x] Stub out code
[x] Add strategist functions interacting w/ external protocol
[x] Add base functions
[ ] Write unit tests
[ ] Reformat and remove unneeded comments and TODOs
[ ] Full PR Review from Crispy.
[ ] PR Review and refine
[ ] Finalize

Scope 2: WithdrawLPT Functionality

[x] Stub out code
[x] Add strategist functions interacting w/ external protocol
[x] Add base functions
[ ] Write unit tests
[ ] Reformat and remove unneeded comments and TODOs
[ ] Full PR Review from Crispy.
[ ] PR Review and refine
[ ] Finalize

Scope 3: ClaimRewards Functionality

[x] Stub out code
[x] Add strategist functions interacting w/ external protocol
[x] Add base functions
[ ] Write unit tests
[ ] Reformat and remove unneeded comments and TODOs
[ ] Full PR Review from Crispy.
[ ] PR Review and refine
[ ] Finalize

Notes:

Research: Will review Convex current codebase, app, and docs before looking at the previous PRs.
Reviews will be done for the pseudo-code for above functionalities and then for full implementation.

 ℹ Live Discussion Topics (discussed during the Draft PR stage)

Boosting Curve positions on our own, that is up to the curve adaptor design. Likely not as that adds much more complexity dealing with ve voting.
Boosting / gaining more APR via interacting with veCVX, that is also out of scope for now.
Exposure to any past risks w/ Curve / Convex: TBD
Claiming Extra Rewards outside of the BaseReward contracts:

baseRewardPool.getReward( address, bool ) should cover claiming a user's accrued rewards (inclusive of extra rewards). There is a stash contract for each baseRewardPool contract that holds onto extra rewards external to Convex. The bool within getReward() allows one to claim the reward tokens from the stash contract.
TODO: confirm this with tests.

---
 ℹ Questions & References
Technical Questions:

Is there a way to query the Booster.sol for the associated BaseRewardsPool.sol? If not... then I guess we use the subgraph?
Is the Booster contract the main gateway to deposit and withdraw LPTs, and stake them, and then the BaseRewardsPool used to withdraw and stake rewards tokens? So it looks like BaseRewardsPool uses IDeposit from SNX, and from checking around it connects to the Booster contract and withdraws the LPTs.

So for withdrawing, it could make sense to use withdrawAndUnwrap

References:

Convex Docs: https://docs.convexfinance.com/convexfinanceintegration/
Convex Codebase: https://github.com/convex-eth // TODO: not sure why it's not working
Prior PR from zkoranges here: TODO:
Prior branch from Crispy: TODO:

 ℹ Extra Notes & Tests to Carry Out

Tests to Carry Out:

Check if cellar gets receipt tokens from depositing into convex any LPTs.

If yes, then write tests confirming we get correct amount. Maybe TODO: of implementing the check onchain in the same tx.
// TODO: not sure if we actually get a cvx recipt token... I think it might actually just be internal. One way to check... is to go to the actual deployed convex booster contract and see if ppl receive anything. And to test it.

General Research Notes/Thoughts:
We want functionality that covers:
Within Booster.sol (the main deposit contract for LP tokens)

deposit() LPTs & receive convex receipt token (deposit into a pool "n" and receive the deposit token)

maybe depositAll() LPTs & receive convex receipt tokens (this function deposits all lp tokens for pool "n" and stake into the rewards contract)

withdraw() LPTs & burn convex receipt token

maybe withdrawAll() which withdraws all from pool "n"

stake convex receipt tokens into Convex for more rewards

Within BaseRewardPool.sol - https://docs.convexfinance.com/convexfinanceintegration/baserewardpool

baseRewardPool.getReward( address, bool ) to claim baseRewardPool rewards, and extra rewards (signified by passed param of bool - true indicates to grab any extra rewards from stash contract)
stake() convex receipt tokens (in case they were not staked for some reason when initially depositing LPTs).

Use baseRewardPool.stake( amount ) to stake a given amount for your address
Use baseRewardPool.stakeAll() to stake all tokens for your address
Use baseRewardPool.stakeFor( address, amount ) to stake on behalf of another address (*This transfers ownership of the tokens!)

withdraw()

Use baseRewardPool.withdraw( amount, bool ) to withdraw a specific amount. bool is to also claim while withdrawing
Use baseRewardPool.withdrawAll( bool ) to withdraw all tokens staked. bool is to also claim while withdrawing
Use baseRewardPool.withdrawAndUnwrap( amount, bool ) to withdraw a specific amount of tokens AND also unwrap the tokens back into the underlying LP tokens. bool is to also claim while withdrawing
Use baseRewardPool.withdrawAllAndUnwrap(bool claim) to withdraw all tokens AND also unwrap the tokens back into the underlying LP tokens. bool is to also claim while withdrawing

Functionality I am unsure if it's in the scope of this PR:

Staking CRV
Staking cvxCRV (liquid veCRV)

<!--- example - Design decisions made in PR>
<!--- example - Remember running `forge fmt` before committing the PR>
<!--- example - Reference for how to run relevant tests i.e. forge test --match-contract X --fork-url $RPC_URL -vvv>

Lots of research done so far to map out the most likely aspects to interact with inside of Convex protocol. Revisiting this tomorrow to further outline possible options to discuss in this PR.

totalAssets rebalance deviation question --> pretty sure we don't have a problem unless all the rewards are converted to CurveLPTs. If they are, then we'll need to somehow account for them while they're in "escrow," and effectively loop through the reward contracts, and convert them to the CurveLPT when balanceOf() is called.

OK, so after further research and thought, here's what I am thinking:
ConvexAdaptor - Deposit & Stake, Withdraw & Unwrap (and claim extra rewards), Claim Rewards (w/o withdrawing LPTs)

Keeps account of LPTs
Able to claim rewards… but does not keep track of them (need ERC20s for that).

There may be reason to just have separate rewardsAdaptor to handle rewards and keep track of them. In order to use it though, the Cellar needs to have ERC20Adaptors for when rewards have been claimed from Convex Rewards Contracts.

So the rewardsAdaptor would keep track of accrued rewards, but not distributed rewards. IF WE DO NOT DO THIS, THEN REBALANCE DEVIATION WILL BE TRIGGERED.

ConvexRewardsAdaptor

We may want to make a separate ConvexRewardsAdaptor that keeps track of accrued rewards tokens so as to not trigger RebalanceDeviation reversion when claiming rewards that a calling Cellar has ERC20 active positions in the assets already.

Keeping track of reward token:

Query BaseRewardPool to get details on rewardToken and extraRewards. From there we just work with the details we are given, and have to find a getter that keeps track of accrued rewards for the cellar.

See when it updates too, we may want to know this detail so we don’t leave unclaimed rewards.

Keeping track of extra reward tokens

Additional rewards differ when dealing with Curve, FRAX, Prisma markets. TODO: confirm that FRAX and Prisma markets and any others will likely just had a BaseRewardPool and extraRewards like the Curve markets on Convex.

ConvexAdaptor.sol created and compiling for Curve-Convex Markets. There seem to be architectural differences for Frax-Convex Markets, and Convex Markets on side-chains. It remains to be seen about other markets (PRISMA, etc.) on mainnet.
I will research this asap so we can conclude an architectural design that either:

Singular Adaptor design that is agnostic to all Convex Markets, or
Consists of bespoke adaptors for specific Convex Markets

Convex-Frax Staking Platform Integration
tl;dr - Convex-Frax platform involves using a personal staking proxy vault and likely different function sigs associated to mutative methods interacting with Frax underlying contracts. My guess is that we will need new adaptors for this but I will think on this.
TODO:

[ ] Create ConvexFraxAdaptor.sol w/ pseudo-code for Strategist Functions
[ ] Implement Strategist Functions
[ ] Implement Base Functions
[ ] Stateless Fuzzing Tests
[ ] PR Review
[ ] Finalization

Research Notes:
OK, so here’s the summary of the research for convex-fax platform:

There is a repo, not many eyes on it apparently, that isn’t mentioned in the docs. This is what the Frax markets are using.
Schematically, this is what is going on (see iPad schematic)
Booster function createVault() is called by cellar to create its own personal staking proxy vault. I believe the tx triggers the new vault to get socialized boost from Convex too.
With the vault created, all that needs to be done is deposit/withdraw/claim via the vault.

I believe the vault simply engages with the FRAX markets and has the boost applied to it since Frax has proxied veFXS rewards functionality?

Things to NOTE:

earned() does not include fees
A better way to call earned() would be via helper contract bc some pools might be slightly off: 0x9Ce7c648244F111CCd338Cc5e269C5961ad9B308

UPDATE: currently in the middle of writing implementation logic for ConvexFraxAdaptor.sol. The rough implementation for strategist functions for deposit() and withdrawLockedAndUnwrap() are done. The rest of the code is still a duplicate of the ConvexAdaptor (for curve) and needs to be rewritten. Swtiching gears to finish PR #156 Review.

Thanks for the PR Review! I've made the changes and responded to your comments. I've also made quite a number of changes that we discussed outside of this PR Review.
There are still compilation errors, where the primary one is working around the following (see below). We'll discuss further.

Changes have been made. Please take a look and resolve change requests when you have a chance @crispymangoes. Thanks for everything mate!


Add a Gitter chat badge to README.md

johnbellone/consul-cookbook now has a Chat Room on Gitter
@johnbellone has just created a chat room. You can visit it here: https://gitter.im/johnbellone/consul-cookbook.
This pull-request adds this badge to your README.md:

If my aim is a little off, please let me know.
Happy chatting.
PS: Click here if you would prefer not to receive automatic pull-requests from Gitter in future.

Coverage remained the same at 100.0% when pulling 88d968c0f8de7784dfa30b8592657d71d4b0bde8 on gitter-badger:gitter-badge into 39971a16a01a0aeaa3289767d2e2c6c1ee0e1ab7 on johnbellone:master.


Adding metrics from routers

When I include object of APIRouter() to app, I don't see metrics from router endpoints.
In the example below there is no /create_abtest metric in /metrics, only endpoints from app
How can I solve it?
front_routes = APIRouter()
@front_routes.post("/create_abtest/")
async def create_abtest():
...
app = FastAPI(
description=description,
version="0.9",
openapi_url=f"/openapi.json",
docs_url=f"/docs",
redoc_url=f"/redoc",
)
app.include_router(
front_routes,
prefix='/api/v1',
tags=['front_views'],
responses={
404: {"description": "Not Found"}
}
)
instrumentator = Instrumentator()
instrumentator.instrument(app).expose(app)

When I delete prefix parameter from method include_router, the problem is solved. But I need this prefix, any ideas?

Also, when I add tags there is no metrics

@ibilenko how did you resolve this?


Update watch.pp

Increase order for watch fragment.  When enabling vault, the closing brace comes after the watches fragments  and breaks consul-template.

Hi, as there hasn't been any activity on this PR for some time, I'm closing it.


Conda

Hi,
Would you consider making your library available on conda?
Thanks!

Hi @ludaavics :slightly_smiling_face: What does that entail?

I haven't gone through the process yet, but I think it should be pretty straightforward?
I'm happy to take an initial stab at it, create the PR to conda-forge, listing you as maintainer, and ping you on the relevant PR.

That would be great! :+1:

https://github.com/conda-forge/staged-recipes/pull/21362

@sondrelg could you please  comment on the PR above to confirm that you're OK being the maintainer for the conda recipe? thanks!

I guess this is implemented. What are the implications of this @ludaavics? Do I need to update the release workflows to push/trigger anything?
If not, I guess we might be able to close this?

My understanding is that every pypi release should automatically be released on conda now.
Just need to address anything that may come up on the feedstock repo where we're both marked as maintainers


Support flex-direction: row-reverse on Box

We use this property in a chat view where the ordering and alignments of elements in a flexbox is reversed when it's from a user.
E.g., a message from another user (simplified):

We'd then reverse that ordering for messages from the viewer and align the elements to the right-hand-side.

@bradencanderson can we do this in JavaScript instead? Using row-reverse actually makes the keyboard navigation not flow correctly (so less accessible)

“Authors must not use order or the -reverse values of flex-flow/flex-direction as a substitute for correct source ordering, as that can ruin the accessibility of the document.”
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Ordering_Flex_Items
Also https://www.w3.org/TR/css-flexbox-1/#order-accessibility

Thanks @christianvuerings, I didn't know! We currently have a bunch of custom CSS that relies on row-reverse, so I'll update it to not use that in the future.


Create gesamtschule-hardt

@runningfun Pull request merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!


Dependabot Added

Fixes #155
Changes

Dependabot Added
path .github\workflows\dependabot.yaml

Additional Information
GSSOC 2024

@andoriyaprashant Please review my pull request


JPEG lossless transcoding resulting JXL images without exif metadata

Describe the bug
I transcoded JPEG images to JXL lossless with cjxl input.jpg output.jxl --lossless_jpeg=1 -e 9 --brotli_effort=11 using JPEG XL encoder v0.8.2, and the converted JXL images don't contain the proper exif metadata. I can retrieve the exif by transcoding the images back to JPEG, so the exif metadata was stored somewhere in the JXL; however, it can not be directly accessed by exiftool.
To Reproduce
dbtsai@Mac-mini % exiftool DSCF0170.jxl
ExifTool Version Number         : 12.60
File Name                       : DSCF0170.jxl
Directory                       : .
File Size                       : 2.5 MB
File Modification Date/Time     : 2023:07:11 02:19:07-07:00
File Access Date/Time           : 2023:07:15 15:02:22-07:00
File Inode Change Date/Time     : 2023:07:15 15:02:17-07:00
File Permissions                : -rw-r--r--
File Type                       : JXL
File Type Extension             : jxl
MIME Type                       : image/jxl
Major Brand                     : JPEG XL Image (.JXL)
Minor Version                   : 0.0.0
Compatible Brands               : jxl

dbtsai@Mac-mini % djxl DSCF0170.jxl DSCF0170.jpg
JPEG XL decoder v0.8.2 0.8.2 [NEON]
Read 2516883 compressed bytes.
Reconstructed to JPEG.
2848 x 2136, 12.29 MP/s [12.29, 12.29], 6.25 MB/s [6.25, 6.25], 1 reps, 10 threads.

dbtsai@Mac-mini % exiftool DSCF0170.jpg
ExifTool Version Number         : 12.60
File Name                       : DSCF0170.jpg
Directory                       : .
File Size                       : 3.1 MB
File Modification Date/Time     : 2023:07:15 15:04:46-07:00
File Access Date/Time           : 2023:07:15 15:04:50-07:00
File Inode Change Date/Time     : 2023:07:15 15:04:49-07:00
File Permissions                : -rw-r--r--
File Type                       : JPEG
File Type Extension             : jpg
MIME Type                       : image/jpeg
Exif Byte Order                 : Little-endian (Intel, II)
Make                            : FUJIFILM
Camera Model Name               : FinePix F31fd
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Software                        : Digital Camera FinePix F31fd   Ver1.00
Modify Date                     : 2007:07:08 19:06:28
Y Cb Cr Positioning             : Co-sited
Copyright                       :
Exposure Time                   : 1/100
F Number                        : 5.0
Exposure Program                : Program AE

Expected behavior
Lossless transcoded JXL from JPG should contain proper exif metadata.
Environment

OS: MacOSX Sonoma Public Beta
CPU type: ARM64
cjxl/djxl version string: JPEG XL encoder v0.8.2 0.8.2 [NEON]

The version of ExifTool you are using is likely the cause since JXL support was improved in version 12.63 however you are using version 12.60 which lacks the improved support for reading JXL files.
https://exiftool.org/history.html

Thanks @goodusername123 . How do I disable brotli for metadata compression? After upgrading to exiftool 12.64, I got
ExifTool Version Number         : 12.64
File Name                       : DSCF0170.jxl
Directory                       : .
File Size                       : 2.5 MB
File Modification Date/Time     : 2023:07:11 02:19:07-07:00
File Access Date/Time           : 2023:07:15 15:02:22-07:00
File Inode Change Date/Time     : 2023:07:15 15:02:17-07:00
File Permissions                : -rw-r--r--
File Type                       : JXL
File Type Extension             : jxl
MIME Type                       : image/jxl
Major Brand                     : JPEG XL Image (.JXL)
Minor Version                   : 0.0.0
Compatible Brands               : jxl
Image Width                     : 2848
Image Height                    : 2136
Warning                         : Install IO::Uncompress::Brotli to decode Brotli-compressed metadata
Image Size                      : 2848x2136
Megapixels                      : 6.1

But I have brotli installed in my system
==> brotli: stable 1.0.9 (bottled), HEAD
Generic-purpose lossless compression algorithm by Google

You should be able to disable metadata compression in cjxl with --compress_boxes=0 also I think the reason you are getting the error about Brotli in ExifTool despite having Brotli installed is because ExifTool requires a Perl module/wrapper to interface/communicate with Brotli.

With sudo perl -MCPAN -e 'install IO::Uncompress::Brotli', I can confirm that exiftool 12.64 can properly read brotli compressed exif.
Look like in MacOSX Sonoma Public Beta, the Preview is not able to read exif for both uncompressed or compressed exif. The image looks correct though.

Note that exiv2 should support brotli compressed boxes since version 0.28 as well.

however some apps that use exiv2 like gThumb still don't show it

They're probably still linked against the 0.27.x (or older) version, or the distributed 0.28.x version could be built w/o brotli support...

This seems not to be the case, because

I'm using stable Manjaro and exiv2 0.28 is the only one available and required by pix/gThumb
it doesn't have any problems reading exif using command line, so it is probably built with brotli support.
darktable seems to be using the same exiv2 and shows exif correctly

Re embedded ICC profile: it is stored in the actual code stream and not as metadata. Neither Exiv2 nor exiftool decode the codestream AFIAK. See e.g. https://github.com/Exiv2/exiv2/issues/1506 and https://github.com/exiftool/exiftool/issues/157

Re embedded ICC profile: it is stored in the actual code stream and not as metadata. Neither Exiv2 nor exiftool decode the codestream AFIAK. See e.g. Exiv2/exiv2#1506 and exiftool/exiftool#157

Yes, this is what I also suspect (and exiftool explicity states that it has no ICC support).
However there are more mysteries regarding ICC and JXL:

gThumb and GIMP can read ICC profile from lossless JPG conversion, but not from vardct JXL file.
JXL has currently no support for AdobeRGB color space in vardct mode (gamut cropped to sRGB and invalid transfer function), but works ok with lossless JPG.

Sure, but color management has nothing to do w/ metadata parsing. Those apps access it directly via libjxl.
Re Adobe RGB, when you decode lossy as float, even though the resulting color space is "unexpected" the data is not lost/clipped, and the app can still recover everything to whatever color space it wants, provided it does color management right. Try darktable for example.

Sure, but color management has nothing to do w/ metadata parsing. Those apps access ICC directly via libjxl.
Re Adobe RGB, when you decode lossy as float, even though the resulting color space is "unexpected" the data is not lost/clipped, and the app can still recover everything to whatever color space it wants, provided it does color management right. Try darktable for example.

No, the vardct AdobeRGB image is not displayed correctly by Darktable and Eye Of Gnome either. The wide gamut information is lost. This is becasue even if you encode and decode AdobeRGB image using cjxl and djxl, you will get RGB_D65_SRG_Rel_Lin colorspace (unless overridden by color space argument).
But AdobeRGB doesn't use linear transfer function nor sRGB color primaries. The decoded image is incorrect, using color management to solve the issue is not a proper way of dealing with it.

Closing this as I confirm that the brotli compressed metadata can be read from newer version of exiftools.


ocamlPackages.ocplib-simplex: 0.4 -> 0.4.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/project/ocaml:ocplib-simplex/versions.
meta.description for ocamlPackages.ocplib-simplex is: An OCaml library implementing a simplex algorithm, in a functional style, for solving systems of linear inequalities
meta.homepage for ocamlPackages.ocplib-simplex is: https://github.com/OCamlPro-Iguernlala/ocplib-simplex
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.4.1 in filename of file in /nix/store/dgmlnsbnapbxigk8pl8w1lydy2sxw70b-ocaml4.14.1-ocplib-simplex-0.4.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
alt-ergo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/dgmlnsbnapbxigk8pl8w1lydy2sxw70b-ocaml4.14.1-ocplib-simplex-0.4.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ocamlPackages.ocplib-simplex https://github.com/r-ryantm/nixpkgs/archive/879dfacb5dc8af039161bab81e0022682e5ec199.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/879dfacb5dc8af039161bab81e0022682e5ec199#ocamlPackages.ocplib-simplex

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dgmlnsbnapbxigk8pl8w1lydy2sxw70b-ocaml4.14.1-ocplib-simplex-0.4.1
ls -la /nix/store/dgmlnsbnapbxigk8pl8w1lydy2sxw70b-ocaml4.14.1-ocplib-simplex-0.4.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

alt-ergo
ocamlPackages.ocplib-simplex

Maintainer pings
cc @vbgl for testing.

Superseded by #256623.


js-controller 3.3.x

I have follow warnings in my log.

elegram.0
2021-04-30 12:20:25.625
warn
State value to set for "telegram.0.communicate.botSendChatId" has wrong type "number" but has to be "string"

telegram.0
2021-04-30 12:20:25.624
warn
Read-only state "telegram.0.communicate.botSendChatId" has been written without ack-flag with value "665966497"

telegram.0
2021-04-30 12:20:25.622
warn
State value to set for "telegram.0.communicate.botSendMessageId" has wrong type "number" but has to be "string"

telegram.0
2021-04-30 12:20:25.621
warn
Read-only state "telegram.0.communicate.botSendMessageId" has been written without ack-flag with value "3620"

telegram.0
2021-04-30 12:20:25.524
warn
State value to set for "telegram.0.communicate.botSendChatId" has wrong type "number" but has to be "string"

telegram.0
2021-04-30 12:20:25.524
warn
Read-only state "telegram.0.communicate.botSendChatId" has been written without ack-flag with value "665966497"

telegram.0
2021-04-30 12:20:25.523
warn
State value to set for "telegram.0.communicate.botSendMessageId" has wrong type "number" but has to be "string"

telegram.0
2021-04-30 12:20:25.522
warn
Read-only state "telegram.0.communicate.botSendMessageId" has been written without ack-flag with value "3619"

same here

same by me

same here

same here

same here

+1

Dann macht doch bitte alle "Thumbs up" im ersten post, so sieht man das viiiiel besser
Und ja steht auf meiner Liste und kommt demnächst dran

Same by me

Please test fix and install via github.

Fixed

Fixed, but update hat a lot of warnings:
`

2021-06-08 14:30:34.240  - info:  host.iobroker iobroker NPM version: 6.14.12npm install  iobroker-community-adapters/ioBroker.telegram#d25d7bebd295ddd406950aeb728a4a9dab343e67  --prefix "/opt/iobroker" (System call)
2021-06-08 14:30:57.347  - info:  host.iobroker iobroker npm WARN deprecated<EMAIL_ADDRESS>request has  been deprecated, see https://github.com/request/request/issues/3142
2021-06-08 14:30:58.755  - info:  host.iobroker iobroker npm WARN deprecated<EMAIL_ADDRESS> request-promise has been deprecated because it extends the now  deprecated request package, see  https://github.com/request/request/issues/3142
2021-06-08 14:31:18.634  - info:  host.iobroker iobroker npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 4.0.x || 4.1.x but none is installed. You must  install peer dependencies yourself.
2021-06-08 14:31:18.644  - info:  host.iobroker iobroker npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| 4.0.x || 4.1.x but none is installed. You must  install peer dependencies yourself.
2021-06-08 14:31:18.656  - info: host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
2021-06-08 14:31:18.657  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.669  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/node_modules/fsevents):
2021-06-08 14:31:18.670  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.685  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/osx-temperature-sensor):npm  WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"}  (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.698  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/zigbee-herdsman-converters/node_modules/fsevents):
2021-06-08 14:31:18.699  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.712  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents):
2021-06-08 14:31:18.712  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.724  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/zigbee-herdsman/node_modules/chokidar/node_modules/fsevents):
2021-06-08 14:31:18.725  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.734  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/zigbee-herdsman/node_modules/fsevents):
2021-06-08 14:31:18.735  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.747  - info:  host.iobroker iobroker npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/zigbee-herdsman/node_modules/jest-haste-map/node_modules/fsevents):
2021-06-08 14:31:18.748  - info:  host.iobroker iobroker npm WARN notsup SKIPPING OPTIONAL DEPENDENCY:  Unsupported platform for<EMAIL_ADDRESS>wanted  {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2021-06-08 14:31:18.752  - info:  host.iobroker iobroker +<EMAIL_ADDRESS>1 package from 1  contributor, removed 56 packages and updated 11 packages in 43.678s
2021-06-08 14:31:39.818  - info: host.iobroker iobroker
2021-06-08 14:31:39.819  - info: host.iobroker iobroker 153 packages are looking for funding  run npm fund for details
2021-06-08 14:31:39.886  - info:  host.iobroker iobroker upload [6] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/words.js words.js  application/javascript
2021-06-08 14:31:39.968  - info:  host.iobroker iobroker upload [5] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/telegram.png  telegram.png image/png
2021-06-08 14:31:40.024  - info:  host.iobroker iobroker upload [4] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/jsonCustom.json  jsonCustom.json application/json
2021-06-08 14:31:40.079  - info:  host.iobroker iobroker upload [3] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/index_m.html  index_m.html text/html
2021-06-08 14:31:40.135  - info:  host.iobroker iobroker upload [2] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/index.html index.html  text/html
2021-06-08 14:31:40.190  - info:  host.iobroker iobroker upload [1] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/custom_m.html  custom_m.html text/html
2021-06-08 14:31:40.245  - info:  host.iobroker iobroker upload [0] telegram.admin  /opt/iobroker/node_modules/iobroker.telegram/admin/blockly.js blockly.js  application/javascript
2021-06-08 14:31:40.379  - info: host.iobroker iobroker Update "system.adapter.telegram.0"
2021-06-08 14:31:40.411  - info: host.iobroker stopInstance system.adapter.telegram.0 (force=false, process=true)
2021-06-08 14:31:40.459  - info: host.iobroker stopInstance system.adapter.telegram.0 send kill signal
2021-06-08 14:31:41.471  - info: host.iobroker iobroker exit 0

`

js-controller 3.3.12
admin 4.2.1
I just installed github version and had no errors
$ ./iobroker url "https://github.com/iobroker-community-adapters/ioBroker.telegram"
install iobroker-community-adapters/ioBroker.telegram#d25d7bebd295ddd406950aeb728a4a9dab343e67
NPM version: 6.14.11
npm install iobroker-community-adapters/ioBroker.telegram#d25d7bebd295ddd406950aeb728a4a9dab343e67 --loglevel error --prefix "/opt/iobroker" (System call)
upload [6] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/words.js words.js application/javascript
upload [5] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/telegram.png telegram.png image/png
upload [4] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/jsonCustom.json jsonCustom.json application/json
upload [3] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/index_m.html index_m.html text/html
upload [2] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/index.html index.html text/html
upload [1] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/custom_m.html custom_m.html text/html
upload [0] telegram.admin /opt/iobroker/node_modules/iobroker.telegram/admin/blockly.js blockly.js application/javascript
Update "system.adapter.telegram.0"
process exited with code 0


Bazel Compile tensorflow failure

System information
windows 10 64bit
bazel version
Build label: 0.7.0
Build target: bazel-out/msvc_x64-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Wed Oct 18 14:25:56 2017<PHONE_NUMBER>)
Build timestamp:<PHONE_NUMBER>
Build timestamp as int:<PHONE_NUMBER>
i run ./configure:
configure
WARNING: Running Bazel server needs to be killed, because the startup options are different.
You have bazel 0.7.0 installed.
Please specify the location of python. [Default is F:\barzel\py2.7\python.exe]: D:/Anaconda3/python.exe
Found possible Python library paths:
D:\Anaconda3\lib\site-packages
Please input the desired Python library path to use.  Default is [D:\Anaconda3\lib\site-packages]
Do you wish to build TensorFlow with XLA JIT support? [y/N]: n
No XLA JIT support will be enabled for TensorFlow.
Do you wish to build TensorFlow with GDR support? [y/N]: n
No GDR support will be enabled for TensorFlow.
Do you wish to build TensorFlow with VERBS support? [y/N]: n
No VERBS support will be enabled for TensorFlow.
Do you wish to build TensorFlow with CUDA support? [y/N]: n
No CUDA support will be enabled for TensorFlow.
Do you wish to build TensorFlow with MPI support? [y/N]: n
No MPI support will be enabled for TensorFlow.
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:
Add "--config=mkl" to your bazel command to build with MKL support.
Please note that MKL on MacOS or windows is still not supported.
If you would like to use a local MKL instead of downloading, please set the environment variable "TF_MKL_ROOT" every time before build.
then i run:
bazel build --verbose_failures //tensorflow:libtensorflow_cc.so
ERROR: F:/barzel/tensorflow1/tensorflow-master/tensorflow/cc/BUILD:422:1: Linking of rule '//tensorflow/cc:ops/sparse_ops_gen_cc' failed (Exit 1181): link.exe failed: error executing command
cd C:/users/cfenich/appdata/local/temp/_bazel_cfenich/ku2zcbwb/execroot/org_tensorflow
SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\shared;C:\Program Files (x86)\Windows Kits\8.1\include\um;C:\Program Files (x86)\Windows Kits\8.1\include\winrt;
SET LIB=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64;
SET PATH=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Performance Tools\x64;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Performance Tools;C:\Program Files (x86)\Windows Kits\8.1\bin\x64;C:\Program Files (x86)\Windows Kits\8.1\bin\x86;C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64;;C:\WINDOWS\system32
SET PWD=/proc/self/cwd
SET TEMP=C:\Users\CFenich\AppData\Local\Temp
SET TMP=C:\Users\CFenich\AppData\Local\Temp
SET USE_LINKER=1
C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/link.exe /nologo /OUT:bazel-out/host/bin/tensorflow/cc/ops/sparse_ops_gen_cc.exe tensorflow_framework /SUBSYSTEM:CONSOLE -Wl,-rpath,$ORIGIN/,-rpath,$ORIGIN/..,-rpath,$ORIGIN/../.. -pthread /MACHINE:X64 @bazel-out/host/bin/tensorflow/cc/ops/sparse_ops_gen_cc.exe-2.params /DEFAULTLIB:msvcrt.lib.
LINK : warning LNK4044: 无法识别的选项“/Wl,-rpath,$ORIGIN/,-rpath,$ORIGIN/..,-rpath,$ORIGIN/../..”；已忽略
LINK : warning LNK4044: 无法识别的选项“/pthread”；已忽略
LINK : warning LNK4044: 无法识别的选项“/lm”；已忽略
LINK : warning LNK4044: 无法识别的选项“/lm”；已忽略
LINK : warning LNK4044: 无法识别的选项“/lm”；已忽略
LINK : fatal error LNK1181: 无法打开输入文件“tensorflow_framework.obj”

@asimshankar

same problem， you can try build on linux

Does it work if you add --config=monolithic to the bazel build command? Unfortunately we don't have that shared object working on Windows yet (waiting on Bazel support AFAIK). The only downside is that custom ops won't work with libtensorflow_cc built this way.

@allenlavoie thanks!but, it doesn't work. if i want to use tensorflow c++ on windows, could i build tensorflow by cmake?

Oh right, our Bazel build is still not quite there on Windows. Is the issue that we don't have an exported symbol list for the C++ API? CMake would be good to try.

Right, currently the supported path on windows is cmake.

Closing this issue due to staleness. Please use the latest version of TensorFlow and build again.
Feel free to report any issues you encounter with latest TensorFlow. Thanks!


Changed files wrong due to inclusion of merge commits

I'm using the changed files as so:
jobs:
  - job: check_changed_files
    displayName: Check changed files
    steps:
      - checkout: self
        fetchDepth: "0"
      - task: ChangedFiles@1
        name: check_changed_files_task
        inputs:
          ${{ if eq(variables['Build.Reason'], 'PullRequest') }}:
            refBranch: $(System.PullRequest.TargetBranch)
          rules: |
            [DocsChanged]
            arch/doc/**
            [ArchitectureChanged]
            **/*.yaml

In the case where it is not a pull request, i.e. a merge happens to develop. I noticed it is including a lot more files. I think what's occurring is that users who merge develop into their feature branch, then merge their feature branch back into develop have this issue. These merge commits are checked with the git log command to see which files changed, producing more files changed.
Does this seem like the current behavior? Or am I using the extension wrong?

Ok, after further investigation, it doesn't seem to be related to merge commits. I created a PR with one commit and merged it immediately after. It still has the issue where it is including many commits that were not included as part of my merge. This causes many more files to be included. During the pull request, this worked fine. It's only the case when it's not a pull request. Based on this, it seems that I might not be using the extension correctly?

After more investigation it seems I was confused by what the extension does. I looked at the getBuildChanges API to understand it better. Is there a way to specify just the changes from the files that were merged from a PR? Basically, if a merge happens to develop occurs, I want to have changed-files check only the files that were updated from that PR that was merged.


Look into removing file stat checks in terminal link detection

Performance concerns brought up in https://github.com/Microsoft/vscode/pull/24451#issuecomment-293830028
Notes:

Link validation was added in 1.11
Folders (eg. the prompt cwd) will be underlines but do nothing when clicked
File regexes may need to be improved?
Verify that web links still override local links

/cc @bpasero


documentation: docbook to org [WIP]

auto-converted
cc: @danbst
This is how it was created:
#!/usr/bin/env nix-shell
#!nix-shell -i ruby -p git pandoc

def orgname(f)
  File.join(File.dirname(f), File.basename(f, '.xml') + '.org')
end

Dir.glob('**/*.xml').each do |f|
  out = orgname f
  `pandoc -r docbook -w org -o #{out} #{f}`
  `git rm #{f}`
  `git add #{out}`
  `git commit -m 'docbook -> org'`
end

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nixcon-2019-documentation-task-force-meeting-outcome/4551/10

Does this result in a loss of information? Are there any attributes in the docbook XML, that org (or at least pandoc's conversion) cannot represent?
The scripts to build the documentation would also need to be updated. Do you have a version of the rendered docs as they are after this PR?
Should every file be committed on its own?

@JohnAZoidberg I think this is more a demonstration for what would automated "reformat-all-the-docs" PR look like.

I noticed a bunch of down-votes - the discussion about our documentation is taking place on discourse. This is very much just a POC and not something we should merge.

I noticed a bunch of down-votes - the discussion about our documentation is taking place on discourse. This is very much just a POC and not something we should merge.

Might want to make that more prominent in both the issue description and in the link from Discourse. ;)


Calling rust asynchronously does not enter then

a.listTable().then((value) => {
      // list.value = value,
      list = value,
      debugPrint("table"),
      update(["table"]),
    });

Hi, could you please share a minimal reproducible sample, then it will be much easier to see what is the problem :)

Found the problem, but I don't know why it locks

After commenting that piece of code, it's fine.


Allow video frame processing with push callbacks / delegates

🚀 Feature
Allow processing video frames with push callbacks or delegate instead of current poll / fetching
Motivation & Examples
I explored demo and examples and I noticed is mot cases at least on iOS you have to schedule a timer to keep processing video frames at some requested interval. For applications that require minimum latency would be good to be able to process those video frames with some callback or delegate class. Ideally we could also specify dispatch queue where this processing would take place.
The motivation is to:

minimise latency or
reduce cpu usage in case scheduling timer at very low interval such as 1ms.
simplify code so doesn't require each time doing some mutex locking mechanism.

Sounds like worth looking into.  Thanks for the suggestion!


Incorporate logic for handling local images in project

Good point.  I'll include this as commented information in the main project, and incorporate the logic for copying images from a project folder:

[ ] Include the example usage as commented information in the main AssetGenerator project
[ ] Incoporate the logic for copying images from a project folder into the AssetGenerator project
[ ] Remove the AssetGeneratorExample project.

I've just pushed a change to my branch that splits the models into separate folders based on what test is being run, so you can see what I have in mind.

Changing the name of this PR to more describe what it is now doing.

The Image attribute can be used now as long as images are uploaded to the ImageDependencies directory in the project.


Error in Bearing: "Arguments (coefficients and w) must have the same dimension"

The following code is returning this error:
from ross.bearing_seal_element import BearingElement
bearing = BearingElement(n=0, kxx=[481, 4810, 18810], cxx=[3.13, 10.81, 22.99], kyy=[481, 4810, 18810], kxy=[194, 2078, 8776], kyx=[-194, -2078, -8776], cyy=[3.13, 10.81, 22.99], cxy=[0.276, 0.69, 1.19], cyx=[-0.276, -0.69, -1.19], w=[115.19, 345.575, 691.15])
Every argument has dimension 3, but somehow it sees as if they didn't.

I noticed that nearly all of these errors come from parameters in 'brgs' folders in our example files. They are not publicly available.

It also has to do with handling another error:
"dfitpack.error: (m>k) failed for hidden m: fpcurf0:m=2"
During handling of the above exception, another exception occurs:
"Arguments (coefficients and w) must have the same dimension"


webpackChunkName: "[request]" only works with context dependencies

Bug report

What is the current behavior?
Using webpackChunkName: "[request]" on import only works if the request is a context dependency (one with a variable name).
If the current behavior is a bug, please provide the steps to reproduce.

create empty src/lazy.js
create src/index.js with import(/* webpackChunkName: "[request]" */ './lazy');
run npx webpack-cli:

Hash:<PHONE_NUMBER>62ab386250
Version: webpack 4.30.0
Time: 367ms
Built at: 04/29/2019 4:22:09 PM
       Asset      Size  Chunks             Chunk Names
[request].js  77 bytes       0  [emitted]  [request]
     main.js  1.99 KiB       1  [emitted]  main

notice imported chunk is called [request].js
replace src/index.js with import(/* webpackChunkName: "[request]" */ './lazy' + globalVar);
run npx webpack-cli:

Hash: 729fe5220ba2d900b7ec
Version: webpack 4.30.0
Time: 653ms
Built at: 04/29/2019 4:21:09 PM
  Asset      Size  Chunks             Chunk Names
lazy.js  76 bytes       0  [emitted]  lazy
main.js  2.31 KiB       1  [emitted]  main

notice imported chunk is called lazy.js

What is the expected behavior?
I expected both builds to create an important chunk with the name of the request.
If this isn't supposed to work by design, it should be mentioned in https://webpack.js.org/api/module-methods/#magic-comments.

Other relevant information:
webpack version:  4.30.0
Node.js version: v10.10.0
Operating System: Windows
Additional tools:

[request] is intended for cases were the name should depend on a variable expression.
In case of import(/* webpackChunkName: "[request]" */ './lazy') you can put the text into the comment to: import(/* webpackChunkName: "lazy" */ './lazy'). There is no need to use [request].

Yes, I understand I could always put the name directly. I just thought I would also be able to use [request] on all the lazy imports so that they would default to using the request name. If it's truly not intended to work, then this isn't a bug. Perhaps missing documentation instead.


[UX][Publisher] List un-published API versions in the versions tab

Description:

When user navigates to API details page and navigates to versions tab, currently its only list down the published APIs. We should list down the unpublished ones also there with a label that indicates the status of it (published/created/deprecated etc ...)

Suggested Labels:

[Type/UX]

Affected Product Version:

2.2.0

The purpose of having the 'Versions' tab is to summarize and display active API subscriptions created under each version of the API. The APIs which are not published cannot have subscriptions, hence it does not make sense to list down unpublished APIs in 'API Subscriptions by Versions' tab.


Slightly less annoying warning level

Unused parameter warnings on virtual methods/callbacks is a bit annoying...

Agreed!!


some question about loss function

Hi~
thank you for your code ^^
I found that loss function below is only used in evaluate, and in training use cross-entropy to train base class.

maybe i misunderstood, but in this way, it doesn't do anything for training.
can you help me get over :)

Thanks for your interest in our work.
Sorry for not making this explicit in the paper but Poodle is a post-processing technique. We plug it into a pre-trained model (e.g., simple/rot/rot+kd as in our paper) when classifying novel classes to improve the performance compared to vanilla nearest-neighbor classification.

thank you for your reply, and sorry to bother you again~
there is my understanding about training process:

use base classes(train set) to train feature extractor(e.g. Rsenet12), and then use this feature extractor to evaluate few-shot learning (from novel classes like val set).
use KD to train student model in base classes which is similar to above and use student model to evaluate few-shot learning in novel classes which is similar to above.
when training is over, use poodle loss to improve accuracy, but poodle loss will not act on feature extractor~
if it have any problem, please do point out for me.
thank you again :)

Yes, your understanding is correct.

ok, i got it !!
thank you very much :)


Fix style-lint config usage in IDEs

Our style-linter configuration did not work in IntellIJ because of relative file-paths

Nice improvement! 🔥


Cannot finish checkout process when a user applies a giftcard

Description
If you go through the checkout process and use a giftcard which makes the total zero, then the payment step in checkout gets stuck in an infinite loading loop, and just shows the loader animation. See the screenshot below

Steps to reproduce

In the medusa admin page create a giftcard with a balance of 100
Go to the store page
Add a product which costs less than $50 into the cart
Navigate to the cart page
Add in the valid giftcard
Go to checkout
Fill in the shipping address form and go to the shipping step
Select the shipping service and go to the payment step
You should see this infinite loader

Suggestions for improvement

One option is to remove the payment step if a giftcard has been applied
Another is to not load a payment option, and just display the finish checkout button

Note: if I go ahead and click the trash icon for the giftcard, found on the far right side of the page, then the payment form will immediately appear.


SQLServerConnection TDS Commands executed twice

Driver version
Provide the JDBC driver version (e.g. 10.2.0).
10.2.
Problem description
In trying to figure out why an upgrade from 6.2.2 driver to 10.2.0 was preforming very much worse on a high latency network connection, I noticed strange TDS Command logging.  Some TDS Commands, such as commit and setAutoCommit, are being executed twice!
I debugged locally to find the problem, then looked into the git history.  This is the commit which introduced the problem.  The diff is large for the SQLServerConnection class, you will need to manually expand it.
Notice two calls to executeCommand(new ConnectionCommand(sql, logContext));.  On lines 3777 and 3782 in the diff.
On current main branch you can see the issue here on lines 3908 and 3913.
JDBC trace logs
An example of a double call for setAutoCommit:
16-Feb-2022 17:26:00.470 FINER [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.SQLServerConnection:17.setAutoCommit ENTRY true
16-Feb-2022 17:37:08.322 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startRequest TDSCommand@5f8ccf71 (setAutoCommit): starting request...
16-Feb-2022 17:37:08.351 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@5f8ccf71 (setAutoCommit): finishing request
16-Feb-2022 17:37:08.358 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onRequestComplete TDSCommand@5f8ccf71 (setAutoCommit): request complete
16-Feb-2022 17:37:08.359 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@5f8ccf71 (setAutoCommit): Reading response...
16-Feb-2022 17:37:08.431 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onResponseEOM TDSCommand@5f8ccf71 (setAutoCommit): disabling interrupts
16-Feb-2022 17:37:15.880 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startRequest TDSCommand@7bd470e6 (setAutoCommit): starting request...
16-Feb-2022 17:37:15.881 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@7bd470e6 (setAutoCommit): finishing request
16-Feb-2022 17:37:15.882 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onRequestComplete TDSCommand@7bd470e6 (setAutoCommit): request complete
16-Feb-2022 17:37:15.883 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@7bd470e6 (setAutoCommit): Reading response...
16-Feb-2022 17:37:15.956 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onResponseEOM TDSCommand@7bd470e6 (setAutoCommit): disabling interrupts
16-Feb-2022 17:42:04.369 FINER [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.SQLServerConnection:17.setAutoCommit RETURN

Another for commit:
16-Feb-2022 17:26:00.317 FINER [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.SQLServerConnection:17.commit ENTRY
16-Feb-2022 17:26:00.318 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.detach TDSCommand@3bf967dc (SQLServerPreparedStatement:69 executeXXX): detaching...
16-Feb-2022 17:26:00.318 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startRequest TDSCommand@49bda83e (Connection.commit): starting request...
16-Feb-2022 17:26:00.318 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@49bda83e (Connection.commit): finishing request
16-Feb-2022 17:26:00.318 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onRequestComplete TDSCommand@49bda83e (Connection.commit): request complete
16-Feb-2022 17:26:00.318 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@49bda83e (Connection.commit): Reading response...
16-Feb-2022 17:26:00.402 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onResponseEOM TDSCommand@49bda83e (Connection.commit): disabling interrupts
16-Feb-2022 17:26:00.402 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startRequest TDSCommand@40d12708 (Connection.commit): starting request...
16-Feb-2022 17:26:00.402 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@40d12708 (Connection.commit): finishing request
16-Feb-2022 17:26:00.402 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onRequestComplete TDSCommand@40d12708 (Connection.commit): request complete
16-Feb-2022 17:26:00.402 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.startResponse TDSCommand@40d12708 (Connection.commit): Reading response...
16-Feb-2022 17:26:00.470 FINEST [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.TDSCommand.onResponseEOM TDSCommand@40d12708 (Connection.commit): disabling interrupts
16-Feb-2022 17:26:00.470 FINER [http-nio-8080-exec-7] com.microsoft.sqlserver.jdbc.SQLServerConnection:17.commit RETURN

The problem appears in the code for the 10.2.0 and 10.1.0 release tags, but not in 9.4.1 tag.  I will try downgrading to 9.4.1 for now.

Hi @rgustafson-ie, thanks for bringing this to our attention. We'll keep you posted as we resolve this issue.


Azure AD Passport is an Archived project, best remove it from your list.

Looks like azure-ad-passport is an archived project, should it be removed from this list? Not sure we, an enterprise, can use a project that is not supported.

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

ID: 0b787325-589c-b5f5-f530-7f1fe12e075e
Version Independent ID: 6d678569-0ebe-f2ef-ecd7-69cc62b4b7be
Content: Microsoft identity platform authentication libraries
Content Source: articles/active-directory/develop/reference-v2-libraries.md
Service: active-directory
Sub-service: develop
GitHub Login: @mmacy
Microsoft Alias: marsma

Thank you, @abarrafo. This does link to an archived repository. I made a pull request to remove the azure-ad-passport link: https://github.com/MicrosoftDocs/azure-docs-pr/pull/169050
CC @mmacy


RuntimeWarning: invalid value encountered in log

when i am training my own dataset,it works  well in few minutes and then i encounted this problem: experiments/rfcn/../../rfcn/../lib/bbox/bbox_transform.py:95: RuntimeWarning: invalid value encountered in log   targets_dw = np.log(gt_widths / ex_widths) then the RPNL1loss turned to Nan.
Can anyone meet this and How to solve it?

@Hsintao check your own dataset bbox label, maybe the box label has invalid value


Update to Javax messaging Client and other dependencies.

Dependencies update to ensure security compliance and for spring compliance.
Updating to newest version

maven-plugin-plugin 3.11.0
qpid-jms-client 1.11.0
azure-identity 1.11.2

Add

junit 5.10.2
jakarta.jms-api 2.0.3

Remove

geronimo-jms_2.0_spec
junit 4

1.0.1

Also update the minor version for this release, lets go with 1.0.2

Refers to: pom.xml:7 in 97c09c6. [](commit_id = 97c09c6c1081b3763d0b8a39c54df1f89abc4064, deletion_comment = False)


Remove idb from maestro

Proposed Changes
Since we're gonna move away from view hierarchy fallback and initState. It's safe to get rid of IDB now.
Testing

[x] Local
[ ] Staging

Issues Fixed

🎉

👏👏👏


how to define routes in modules routes.php?

looking for an example for defining route in module routes.php right now its just
Route::group(['prefix' => 'module'], function() {
	Route::get('/', function() {
		dd('This is the module index page.');
	});
});

how to define resource routes and controller routes.

The same way you would normally in Laravel.
http://laravel.com/docs/5.0/routing
The default namespace will be set to your modules Http\Controllers path. Example: you wouldn't need to type out the full path to your controller:
Route::get('blog', 'App\Modules\Blog\Http\Controllers\BlogController@index');

But rather, you only need to reference the controller itself:
Route::get('blog', 'BlogController@index');


Add transition opacity transform to simple data join

Resolves #259
Remove root element from bar series - #255

LGTM :+1:


purl missing from report

What happened:
Runned syft to produce BOM
What you expected to happen:
All dependencies should contain purl.
How to reproduce it (as minimally and precisely as possible):
syft . -o cyclonedx
Anything else we need to know?:
Attached the BOM without purl for tomcat embedded core for example (attached the output)
Environment:

syft version (use syft version -v):
0.2.0 buildversion 10.08

OS (e.g: cat /etc/os-release or similar):
RHEL [7.6]

bom.zip

Thanks for reporting @jagusztinl . The java cataloger currently only creates a purl when POM metadata is available within the discovered jar (https://github.com/anchore/syft/blob/main/syft/pkg/java_metadata.go#L36), we should be trying to craft a purl for other kinds of artifacts as well.

Thanks for filling the bug here!
Our approach is to populate a PURL whenever we have the correct data to do so. If there are specific cases where we are generating an empty string where the information for the package does exist please file that separately to this ticket.
I'm going to close this issue in favor of more specific reports since we cannot guarantee everything always for all images. We can however act on the issues where a specific PURL is not generated when correct metadata is provided.


Remove cargo_component_bindings crate.

This PR is a breaking change to cargo-component with the intention of improving component build time (now down to two transitive crate dependencies) and get rust-analyzer fully working with bindings.
It removes the cargo_component_bindings and cargo_component_macro crates. Instead of using a macro for including the generated bindings, cargo-component now directly writes to a src/bindings.rs file which is included as a submodule in main.rs or lib.rs.
Additionally, the update subcommand was removed as it is no longer necessary since there is no cargo_component_bindings crate referenced in Cargo.toml; the functionality to update cargo-component itself can simply be replaced with a cargo install or cargo binstall.
Closes #210 and #196.

Putting this up as a proposal for removing the cargo_component_bindings crate in favor of just having cargo-component generate the bindings source directly into the component projects.
This has the benefit of cutting down on the number of dependencies from user's component packages and also getting rust-analyzer to work in workspaces as there's no longer any macro that reads a file in a target subdirectory.

In the future, I'd love for wit-bindgen to be capable of (optionally) generating the runtime support functions into the bindings source itself so that we can remove the wit-bindgen dependency from user components, but we can live with it for now.

Hi @peterhuene,
I'm following this PR and looking at updating to v0.7.0, but ran into issues until I realzied that Cargo.toml also has to change to:
[dependencies]
wit-bindgen = "0.16.0"

# Now this is a build dep?
[build-dependencies]
cargo-component= "0.7.0"

Is this right? Seems to work. The readme might need to be updated too (possibly a separate issue?)

Ah, it's just an upgrading issue really since I already had an existing repo. I tried cargo component new --lib and it confirmed we don't need the build-dep


Add External Link to image

HI
i´m very new with photoswipe and i would appreciate it if somebody could give me an example how do add an external link to every image e.g. http://www.google.com if the image is clicked
I don´t understand the custom meta data example with datasomething so any detailed example would be very helpfull for me
Thanx
Frank

Added example "14-tap-image-go-to-url.html" to 3.0.3

hi , thank you for this solution !!!
but i noticed that window.open(currentImage.metaData.relatedUrl);  will not open andy window on mobile devices. i tried this on ipod 4 and android 2.3
So im using now window.location.href = currentImage.metaData.relatedUrl;  and it´s working on mobile devices ..
But my question is if location.href is a good solution or is there any other that will work on mobile devices too ?


Error compiling Less stylesheet

I'm trying to customize the stylesheet and after adding:
@import "packages/file-icons/styles/icons";  // to use the defined icons
I get this error:
'packages/file-icons/styles/icons.less' wasn't found
Atom v.1.0.19
OS X El Capitan

thanks for logging an issue.
Is this still happening with latest atom and file-icons?
I haven't upgraded to EL Capitan yet but will most likely soon and see if I can reproduce this.

I read a LOT of complaints about it! So, when this happens don't forget to "install the packages" first, lol. Yes, as simple as that. It works great. Thanks.

Closed