Identifiers for ECDE page content

The ECDE team would ideally like to use json files to integrate the page content we build here into the ECDE.
However, right now they're using the markdown text because it is clear which markdown data file is for which variable.
They've presented this as an identifier issue and have asked that we add identifiers for each indicator to the json info.

I think the problem here is that we need to be clearer about which json files contain the content for the indicator pages on the ECDE because the consolidated json files already have an "indicator" field that links each batch of content to a specific indicator.
Currently the json files with content for the ECDE are:
Consolidated.json - which contains the main text for the pages
FiltersConsol.json - which contain the text for the drop down menus
PUPlotsConsol.json - which contain suggested text for the pop-up plots on the "explore page"

@sharppaul
Would it help if we placed the json files for the ECDE in a separate "consolidated" directory?
Or is there a particular json solution that you need? e.g. adding an "identifier" attribute to each "indicator" section.

OK so I understand this now.
The ECDE will automate updates to their pages from our json content.
Given that it is likely that the indicator names may change they need each indicator to have a unique unchanging identifier.
The identifier can simply be a number.

Hi Charlie,
You understood correctly, yes.
If you want I can make an example in another git-branch. Then if you think it's all right we can merge it with your JSON.
Paul

Like discussed in the meeting today, here are my two examples. The bottom one is the original in it's current state.
[
    // Consolidated.json (identifier: C3S_434_<number>)
    // Identifier won't have to change ever, numbers can be decided on order of release, etc.
    {
        "C3S_434_12345": {
            "PageTitle": "Climatic suitability for the tiger mosquito - season length",
            "Indicator": "Climatic suitability for the tiger mosquito - season length",
            "Units": "(days)",
            "ConsolidatedText_Main": "**Context**\n ... ",
            "ConsolidatedText_Explore": "**Context**\n ... "
        }
    },

    // Consolidated.json (identifier: pagetitle with spaces replaced with dashes (matches c3s.maris.nl indicator URL (without -detail)))
    // Titles may change but this identifier may not.
    {
        "climatic-suitability-of-tiger-mosquito--season-length": {
            "PageTitle": "Climatic suitability for the tiger mosquito - season length",
            "Indicator": "Climatic suitability for the tiger mosquito - season length",
            "Units": "(days)",
            "ConsolidatedText_Main": "**Context**\n ... ",
            "ConsolidatedText_Explore": "**Context**\n ... "
        }
    },

    // Consolidated.json (old) (not recommended, order based)
    [
        {
            "PageTitle": "Climatic suitability for the tiger mosquito - season length",
            "Indicator": "Climatic suitability for the tiger mosquito - season length",
            "Units": "(days)",
            "ConsolidatedText_Main": "**Context**\n ... ",
            "ConsolidatedText_Explore": "**Context**\n ... "
        }
    ]
]

Thanks @sharppaul, I prefer the numeric option for identifiers.
@jhaigh0 I have added identifiers to the ECDE spreadsheet and added an identifier column to the tabs with consolidated content. Can you include the identifiers in the json following the first of Paul's examples.
Consolidated
FiltersConsol
PUPlotsConsol

identifiers have been added to the json files

Thanks for the update @charliepascoe


PLAT-20930: Prevent reading a invalid tooltip message.

Prevent reading a invalid message when tooltip is shown in range input.
Tooltip is popup type component, so TV reads tooltip content when tooltip is appeared.
According to UX team, TV should not read this tooltip message.
https://jira2.lgsvl.com/browse/PLAT-20930
Enyo-DCO-1.1-Signed-off-by: Bongsub Kim<EMAIL_ADDRESS>

Closing PR as Jira is closed.


youtube-search-cleanup: Support mobile youtube

Added support for mobile website
Example url: https://m.youtube.com/results?search_query=shuffle+dance+music+
The blocked elements are per video and it's not one block with videos.
The rule I made, is based on the fact that below the channel name is an extra badge (this is different in every language, so mine is Dutch and says  "Gerelateerd" (Related))
Don't know actually why you put a red border around the elements...
PrintScreen

Heya @JohnyP36, this rule looks pretty brittle, as any new label type would create false-positives. Unless these take a huge amount of vertical space, I'd rather not risk merging this rule in. Would you be OK with that?
The :style( stuff what I add when I test rules, and I forgot to take them out before merging :grimacing:  We need to remove these.


Added NIST MT evaluation metric and added NIST international_tokenize()

Added the NIST score, based on http://dl.acm.org/citation.cfm?id=1289273 and mteval-14.pl implementation
I'm unsure of whether the final arithmetic mean computation is correct, i.e. https://github.com/alvations/nltk/blob/develop/nltk/translate/nist_score.py#L121 .
~Should it be return bp * sum(p_n) or return bp * sum(map(math.log, p_n))? If anyone knows the right answer, please help to clarify. Thanks in advance!~

I've squashed the commits and corrected the arithmetic mean implementation.
This PR is ready for review =)

[CI: retest]

@alvations: you could identify yourself in the code as author (then after your name, say porting from Perl or whatever; also name the Perl authors?)

Actually, I've no idea who wrote the NIST tokenizer, I would assume it's Doddington himself years ago but it's unclear.
But it's so tied up with original BLEU from Papineni 16 years ago that they cite him as the original author of the nist mteval script.
See ftp://jaguar.ncsl.nist.gov/mt/resources/mteval-v14.pl


Actually CheckRevisionExists() on bare revisions in locks

The CheckRevisionExists() method exists on SourceManager, but we don't actually call it for the one purpose for which I intended it - to ensure that a bare revision in a lock file is actually a real revision.
I didn't implement it initially because it ended up being a fairly slow, blocking call in the middle of solving, but a) that's not a reason not to do it and b) we can offset most of that cost by inspecting the incoming lock at the beginning of solving for any such bare revs and issuing a bunch of parallel CheckRevisionExists() calls.
Much of the cost of checking revision existence will also be removed once we have persistent caching - #130.

Turning this back on will probably make outcomes much better for the fairly-commonly-encountered bug where dep init reads an unpushed commit from the GOPATH, then fails with a cryptic error about "reference is not a tree".
The downside is that it'll solve those problems by simply causing that local commit to be ignored, discarding it in favor of something from upstream. And, unless we add checking on the dep side to see if the generated lock was modified by solving, it'll do this silently.
Still, probably a better outcome.


import PathCompleter

Is anyone with the same mistake?

Hello,
Make sure to install/upgrade all requirements :
--> pip install -r requirements.txt
hexsh1dow


Cognito sign-up experience with passwordless

Hi, wondering if there is any advice on how to setup the sign-up experience with cognito when we intend to implement the passwordless sign-in. Some issues that we are running into:

cognito really wants a password for each user, even if they won't use it. when we create a user with AdminCreateUser, the user is left in a FORCE_CHANGE_PASSWORD state which blocks other things. we had to update the user immediate after being created with a permanent password (AdminSetUserPassword) to switch it to CONFIRMED. is this the best approach?
our application does not have a web frontend, but we are trying to allow users to verify their email with a code. there is a VerifyUserAttribute for this... but don't seen an equivalent AdminVerifyUserAttribute that can be invoked in the backend (without an access token). any suggestions on how to handle this?

thanks for any help!

the user is left in a FORCE_CHANGE_PASSWORD state which blocks other things

What does that block actually? Honest question. As far as I know that state is a fine state to be in and does not prevent signing in with custom auth flows.

good question! it was giving us an error while trying to confirm the user. our goal was to verify the user's email and phone, and recently changed our code to use VerifyUserAttribute instead. just tested this function with a user in FORCE_CHANGE_PASSWORD and didn't face any issues. so maybe we'll leave users in that state instead of forcing a permanent password... thanks for the reply!

another related issue: when we try to sign-up in the front end, the cognito SignUp API requires a password... without it we get a 1 validation error detected: Value at 'password' failed to satisfy constraint: Member must not be null
just wondering how people typically deal with this... you wouldn't need it with passwordless sign-in. thanks!

Afraid the answers is pretty pragmatic and you've considered this no doubt: generate a random password, eg on the frontend side where you call the signup API from. May be as simple as using a uuid4 (depending on password policy though). If you don't allow SRP / username password login on any of your user pool app clients, users cannot sign in with a password (even if they would know the randomly generated one).

thanks @ottokruse ! i found an example in #92 which was useful, and for random password generation this is a good library that is easy to configure to match the password policy.


Donut charts do not pick color customization

Is your feature request related to a problem? Please describe.
Last week I was playing around with the css customization to try some company-theming. It worked well but I noticed that the donut charts are not affected. I've digged a bit into the code and found out that the colors are hard-coded, see e.g. here.
I've digged into the css and, given that I'm not an expert in the subject, it seems to me not possible to customize such colors at the moment.
Describe the solution you'd like
Ideally, some way to customize charts colors. Possibly via some css property of sort.
Describe alternatives you've considered
I've toyed around with custom properties. They are largely supported and, I think, they could be a good fit. AFAICT they are also endorsed upstream.

@wswebcreation assuming I read the code correctly, do you have any idea how to implement the customizations? Would be using custom properties a viable solution for you? I would attempt to provide a PR, if so.
I'd really love to have the donut themed much like the rest of the report. :smile:

Hi @BaCaRoZzo
Thanks for this Feature Request. It is a possibility to do this with custom properties.
For now I'm fine with a PR on the donuts but feel free to also change some other stuff

@wswebcreation the roadmap sounds nice, thanks for the hard-work you put in maintaining such a nice project!
I'll prepare the PR then.

For now I'm fine with a PR on the donuts but feel free to also change some other stuff

Probably some minor fixes but don't think I'm going for nothing more. I'm honestly a bit out of my expertise scope here. :sweat_smile:

Closing this one thanks to your PR, we will proceed the the conversation there


The question about loss function

I have a question why you need  to add L2_loss into loss, instead of only adding conf_loss and loc_loss?

In the paper, the author mentioned the regularization loss like below:

We fine-tune the resulting model using SGD with initial learning rate 10−3, 0.9 momentum, 0.0005 weight decay, and batch size 32

That's the reason why.

Thanks for your answer. But I still have a question.
How can I use the file in logs to draw a graph.
I found some information on the internet that I should write the command$ tensorboard --logdir='logs/'
But I get  strange message and I couldn't connect to the link http://localhost:6006/.
Perhaps you can give me some advise, thank you.
Here is the message I get
Traceback (most recent call last):
File "/usr/local/bin/tensorboard", line 8, in
sys.exit(run_main())
File "/usr/local/lib/python3.6/dist-packages/tensorboard/main.py", line 65, in run_main
default.get_plugins() + default.get_dynamic_plugins(),
File "/usr/local/lib/python3.6/dist-packages/tensorboard/default.py", line 125, in get_dynamic_plugins
"tensorboard_plugins"
File "/usr/local/lib/python3.6/dist-packages/tensorboard/default.py", line 124, in
for entry_point in pkg_resources.iter_entry_points(
File "/usr/local/lib/python3.6/dist-packages/pkg_resources/init.py", line 2442, in load
self.require(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/pkg_resources/init.py", line 2465, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/usr/local/lib/python3.6/dist-packages/pkg_resources/init.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (grpcio 1.24.0 (/usr/local/lib/python3.6/dist-packages), Requirement.parse('grpcio>=1.24.3'))


Added tails file prime generation and tails file hashing

Before:

After:

The entries in the tails file aren't actually primes, they are G2 curve points. The process for generating them looks correct here. Essentially, it is the case that tail[index] = g_dash * (gamma ** index), where gamma is a scalar field element. I'm not sure I would describe g_dash as 'the' generator of the G2 group as it seems to be picked randomly for each registry.

The entries in the tails file aren't actually primes, they are G2 curve points. The process for generating them looks correct here. Essentially, it is the case that tail[index] = g_dash * (gamma ** index), where gamma is a scalar field element. I'm not sure I would describe g_dash as 'the' generator of the G2 group as it seems to be picked randomly for each registry. Every curve point is technically a generator but there is also a standard one that is used elsewhere.

This text is from another part of the same specification where they call G2 as the generator

I have updated the first message with the new updated screenshot of edited spec. Also, I have changed the mention of  primes with points in curve G2 in that section (I guess it needs a separate issue to track down and replace all such instances in case this is present elsewhere too)

Looks great — nice work.  A few minor cleanups mostly in the text that existed before you started.
Not sure about the “To Do” right below your PR.  Is there something you can add about for the format of the file (e.g. how to extract the points from it), or should it be removed?

Looks great — nice work. A few minor cleanups mostly in the text that existed before you started.
Not sure about the “To Do” right below your PR. Is there something you can add about for the format of the file (e.g. how to extract the points from it), or should it be removed?

for the TO DO where we have to define the format of the tails file, I am guessing we have to write what all data is written in the file, and in which order.

The values are elliptic curve points and not primes encoded. I need to look deeper as to how those points are encoded

Yeah, that's the reason why the are encoded to the octet stream, which makes it difficult to create a human understandable format

The points are encoded as uncompressed big-endian coordinates: {x.0, x.1, y.0, y.1} for 32*4 = 112 bytes, for the two Fp2 components.

I have updated the first message with the new updated screenshot of edited spec after adding the tails file format


bpd: fix crash on unicode paths.

Thanks for pointing this out! I went with a somewhat different fix—can you check whether this addresses the problem?

works like a charm! Thanks for the fix! Wonderful project, btw.

:smiley: :tada: :sparkles:


feature: added support for POST to ApiChain

added support for POST to ApiChain

Changed Prompt to support POST call as well
Made code changes to support POST via fetch

@jacoblee93 Can you review and let me know if there are any other inputs. Thanks!

A few more comments!

@jacoblee93 addressed the comments and also raised PR for LC hub as well. Let me know if anything more needs to be added. Thanks!

@jacoblee93 Have addressed review comments let me know if I am missing something. Thanks !

Hey @vjsai, sorry for the delay. I actually think we should think a bit more about the effect on existing folks using this before making a big prompt change - I'd be more open to adding this as an extension (use a different prompt if the user wants to enable the chain to use different methods) if you're open to that?

Now that #1803 is merged I think this is superseded - sorry for the confusion.


Add category block order

https://phabricator.endlessm.com/T35663

This branch originally had much more stuff, which I branched off into #228.


Errors when trying to create SP Site / Connect-PNPOnline Error

Is the "" suppose to be in the command here?

@jstevens5591  Try installing the AzureADPreview powershell module and run again.

@jstevens5591 please try @aravindmunna 's suggestion. Thanks


Fill and Fit video transformation

It looks to be not really obvious how to transform video size to Fill or Fit the new requested frame size. Will appreciate any guidance on how it's possible to do that in a proper way.
For example, I have a video with the following params:
sourceWidth = 2160
sourceHeight = 3840
rotation = -0.0

and I'm willing to transform it to the following size and fill the frame:
width = 1080
height = 592

This code will work for me:
Transform(
  PointF(1 + sourceWidth.toFloat() % width, (sourceHeight.toFloat() / height) / (sourceWidth / width)),
  PointF(0.5f, 0.5f),
  rotation,
)

However, the same logic won't work for:
sourceWidth = 720
sourceHeight = 1280
rotation = -90.0

Even assuming we are rotating the video from 90 to 0 degrees I've tried to replace x with y, but still no luck. The frame is being stretched.
There are many different scenarios of transformation I need to handle such:

Square video (FILL/FIT)
Portrait video 16/9 (FILL/FIT)
Landscape video 9/16 (FILL/FIT)
Original video size (FILL/FIT) where initial size is determined by the first uploaded video.
All these options could be applied for video sets with different video sizes, so I need some generic logic here to calculate the final transformation.

@izzytwosheds Sorry if I was being unclear here, but now I think I can share more specific details.
To convert the video to the desired size I used this conversion logic: https://github.com/MasayukiSuda/Mp4Composer-android/blob/84b20be5218af7da25f2523bed5c19c482325518/mp4compose/src/main/java/com/daasuu/mp4compose/FillMode.java
Using getScaleAspectCrop specifically to make the video Fill into the new frame size.
So the logic works fine when the initial video rotation is 0 and there is no need to rotate it. However, if the initial video rotation is being set to 90 degrees then I'm rotating the video via Transformation to -90 degrees and the output is being stretched in the wrong way.
I'm wondering if there is a simple way to make the rotation first and then apply size transformation for the specific video. Do you have some thoughts?
Sorry if I'm still not 100% clear, still digging into it. But I feel the logic behind transformation with rotation doesn't work as expected.

My transformation code looks like this:
val scaleCalc =
              fillMode.getScaleAspectCrop(videoRotation, sourceFormat.width, sourceFormat.height, width, height)
Transform(
  PointF(scaleCalc[0], scaleCalc[1]),
  PointF(0.5f, 0.5f),
  rotation,
)

This video works fine with the mentioned code since it has 0 degree initial rotation, so I'm not rotating it within Transform.
The video with the following params:
sourceWidth = 2160
sourceHeight = 3840
rotation = 0.0

and I'm willing to transform it to the following size and fill the frame (16/9 ratio to make it landscape from the portrait):
width = 1080
height = 592

This video with:
sourceWidth = 768
sourceHeight = 1024
rotation = 90.0

goal (portrait -> landscape 16/9):
width = 768
height = 432

let me look at these. Thank you for sharing specific examples.
Just to clarify, you are using 'DefaultVideoFrameRenderFilter`, right?

@izzytwosheds correct, everything is tested with DefaultVideoFrameRenderFilter

The output looks like this. However, if I'll take the same video being already rotated then the transformation logic will work fine.

One important point: rotation in DefaultFrameRenderFilter is not a rotation of target video frame, it is a rotation of source video frame relative to target video frame. Orientation (rotation) of target frame is provided via target MediaFormat. It is a little confusing, I know.
Let's talk about target video frame first.
Landscape video is usually defined like this:
width = 1280
height = 720
rotation = 0
Portrait video is defined like this:
width = 720
height = 1280
rotation = 0
OR
width = 1280
height = 720
rotation = 90
Second way is more common - you change video orientation simply by changing 4 bytes instead of recalculating entire video.
LiTr accounts for target frame orientation, there is nothing special you have to do there. Just make your size calculations based on frame rectangle. You can treat orientation of 90 as if frame has a portrait aspect ratio - LiTr will adjust all parameter you pass in.
Now to source frame.
In Transform your rotation is always 0, unless you specifically want to rotate your frame.
For FILL position is always (0.5, 0.5) and scale is (1.0, 1.0). Those are default values, you can pass no DefaultVideoFrameRenderTransform entirely, LiTr should just scale fit your source frame into target frame.
For FIT you will have to play around with position. See TransformationPresenter.squareCenterCrop method. It stretches the source frame beyond the bounds of target frame.

Come to think of it, FIT transformation I described above is actually CROP. For FIT largest scale parameter would be 1, entire source frame would have to stay within the target frame. position and rotation parameters would stay the same, though.

@izzytwosheds thanks for the explanation! I guess it works for me when I'm setting rotation to 0 in the target track object. I'll keep testing and will let you know if something won't work as expected.

@novachevskyi Are things working well for you? Can we close this issue?

Yes, please close it.
On Mon, Nov 7, 2022, 4:52 PM Izzat Bahadirov @.***>
wrote:

@novachevskyi https://github.com/novachevskyi Are things working well
for you? Can we close this issue?
—
Reply to this email directly, view it on GitHub
https://github.com/linkedin/LiTr/issues/218#issuecomment-1305729536, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP2B764LH2KLDV5ZEIZ2HDWHEJUHANCNFSM6AAAAAAQVVXLDY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Numbers converging to NaN on larger datasets/lower tolerance levels.

Probably due to ILGPU mishandling sqrt and other math functions

Does not appear anymore


fix non-orthogonal example

Amit calls this axial
http://www.redblobgames.com/grids/hexagons/#coordinates

Thanks!


Update .travis.yml

remove the obsolete sudo: false
stop installing the latest npm version; we should test on real life cases

@johnjbarton: after you decide what to do with this PR, can you release a new patch version?

done


Test and make iromlab work under Python 3

Needs fixing of Isolyzer: https://github.com/KBNLresearch/verifyISOSize/issues/3 - DONE

Make relative imports work, both from script and package. See also: http://stackoverflow.com/questions/14132789/relative-imports-for-the-billionth-time

All seems to work in https://github.com/KBNLresearch/iromlab/commit/587b996033a08646e6e172d46b5582fe9759e0b4


Add 'Install Packages' To Packages Drop Down

For me at least, I expected the top level Packages menu to have entry for jumping to installing/managing packages. Hell Straight up having an Install Packages button somewhere always visiable would lead to way more activity, albeit be more crude. But let's stick to my former feature request.
Just my opinion,
Francois

Thanks for the suggestion! This seems similar to https://github.com/atom/settings-view/issues/651 - would you mind taking a look at that one and seeing if it's what you're looking for?

That sounds pretty close. I'm cool with this being marked as duplicate and/or just referenced in that discussion if there are subtle differences.


Remove Compiled Model prototype

Removing the compiled model code so we don't need to maintain it (for #1896)
@divega @ajcvickers @AndriySvyryd

:shipit:


Switch WM10 missing in iobroker but shown via mqtt

Hi,
in my setup I have a WM10 switch controlling the hc1 pump which is missing in iobroker while shown via MQTT:
EMS-ESP:

iobroker:

MQTT:

Do you have an explanation for that or is it a bug which should be fixed?
I am using the latest release version 1.15:

Thank you

It seems like the issue is on the ems-esp api part as it does not recognize the device in the api call

It should exist as listed in the api call for all system components:

Okay now I have found the issue was already reported and seems to be fixed in the latest dev build.
https://github.com/emsesp/EMS-ESP32/issues/692


Converting Preview to other Image formats, and a quirk in the example

I want to convert from the List<Uint8List> given in the the camera preview stream to the Image class in the brendan-duncan/image library. I don't have even an inkling of how to begin accomplishing this!
All I know is that:

The brendan-duncan Image class has a constructor that takes width/height parameters, as well as a Uint8List.
In your example (which, thank you!), you use the last element from the List<Uint8List> to pass to the Image.memory constructor in the widget tree.
The stream you expose for the preview seems to actually provide a Uint8List, not a List<Uint8List>, despite your example successfully treating it as the latter? This is the "quirk" I was referring to in the title.

Hi,
as it provides a stream to process images as they arrive this is a Uint8List and not a List.
I think you refer to this code :
StreamBuilder(
        stream: previewStream.bufferTime(Duration(milliseconds: 1500)),
        builder: (context, snapshot) {
           if(!snapshot.hasData && snapshot.data.isNotEmpty)
             return Container();
           List<Uint8List> data = snapshot.data;
           print("...${DateTime.now()} new image received... ${data.last.lengthInBytes} bytes");
           return Image.memory(
             data.last,
             width: 120,
           );
       }

The reason we have a List here is because of previewStream.bufferTime(Duration(milliseconds: 1500)).
As flutter require some time to redraw each image, I added a bufferTime that take all photo during 1500 ms and stack them in a buffer. This is just for demo purpose, showing that we successfully get all images from camera in the stream visually.
If you remove the bufferTime, you will get a simple Uint8List and no a list.
Hope this helps.

Hi,
Thank for you the reply. Yes this helps a bit, but I am still unable to work with the Uint8List of bytes and get it to the desired data type, as the preview image data's format and sizing is opaque to me. Without modifying any example code, I made the assumption that it's the default 1920x1080 as specified for Android in your code, but that threw a RangeError.
Flutter seems to have no problem doing some low level operations to infer size from the bytes, but I can't seem to figure out how to either do that myself or leverage Flutter code to do it for me.
So I am still unsure how one can convert Uint8List from your imageStream to Image from brendan-duncan/image.

Just my luck, I post and then solve it!
The solution is to take the Uint8List from imageStream and pass it directly to imglib.decodeImage(), where imglib is brendan-duncan/image.

Thank you ^^
Glad you enjoy our lib.


Not an issue: Can we create a paragraph of text?

Using TRN class I can create text field of single line , however to create multiple line text like paragraph of lines its not working. TRN places all line text in single line only.
Is there any  way to create multi-line in  paragraph? (just like word wrap as shown in ref. image).

duplicate #32


Support cancellation

Probably need a use case before designing API.

Can't remember exactly what I meant by this.


update DAs to claim SCC profile "IBM Cloud Framework for Financial Services" version 1.6.0

Description
update DAs to claim SCC profile "IBM Cloud Framework for Financial Services" version 1.6.0 since older versions are now depricated.
(NOTE: The name of the profile changed since 1.3.0)
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

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

GitHub release
v4.8.0

Your semantic-release bot :package::rocket:


OPTIONS returns "200 OK" even though there is no body

Isn't "204 No Content" a more appropriate return status for OPTIONS requests, as they don't return anything in their bodies?
AFAIU, "200 OK" should be used when the request is successful and there is some data to return, and "204 No Content" when the request is successful but there isn't data to return. "200 OK" is used currently because in https://github.com/julienschmidt/httprouter/blob/master/router.go#L382, no status is set.
When I send an OPTIONS request to my server, I get:
HTTP/1.1 200 OK
Allow: GET, HEAD, POST, OPTIONS
Date: Sat, 10 Sep 2016 23:08:40 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8

IMO, even the Content-Type is misleading because there's no content at all.
I applied the following patch to my local code:
diff --git a/router.go b/router.go
index bb17330..bcc69bf 100644
--- a/router.go
+++ b/router.go
@@ -381,6 +381,7 @@ func (r *Router) ServeHTTP(w http.ResponseWriter, req *http.Request) {
                if r.HandleOPTIONS {
                        if allow := r.allowed(path, req.Method); len(allow) > 0 {
                                w.Header().Set("Allow", allow)
+                               w.WriteHeader(http.StatusNoContent)
                                return
                        }
                }

And it seemed to do the trick. If you agree with this, I can send a PR.

According to https://tools.ietf.org/html/rfc7231#section-6.3.1 200 status code is perfectly valid for an OPTIONS request. As far as I know 204 is usually used when there is some kind of content involved (in the request for example), but the response does not have any.
I don't see any improvement in semantics by returning 204 (and in the end this is a semantical question IMO), but I am not against it either.

According to that same link, returning 200 OK for an OPTIONS request is valid only when it succeeded and  it has data to return:

The payload sent in a 200 response depends on the request method. For the methods defined by this specification, the intended meaning of the payload can be summarized as:
...
OPTIONS  a representation of the communications options;

The server isn't returning any data for the OPTIONS request; the "communications options" are indicated via the response header Allow.
It's also more explicit in the following section:

Aside from responses to CONNECT, a 200 response always has a payload,
though an origin server MAY generate a payload body of zero length.
If no payload is desired, an origin server ought to send 204 (No
Content) instead.

Returning 204 No Content isn't necessarily related to a request with some content; for example, DELETE /resource/1 is a typical example of a request which should return 204 No Content on success and it has no content in the request as well.
I opened this issue because I'm writing some test cases for a server and I'm validating every  data returned by 200 OK responses; in the case of the OPTIONS response here, the status is 200 OK but there's no data to validate - which is exactly the purpose of the status 204 No Content, IMO.
According to the RFC, a server may generate a payload body of zero length for a 200 OK response, but it seems much more appropriate to use a status which indicates just that.

According to that same link, returning 200 OK for an OPTIONS request is valid only when it succeeded and it has data to return

Although that's what the spec suggests, I wouldn't be too strict on that one. That's an option you can choose. It recommends to use 204 when there is no content, but it's not a strict rule.
I would say relying on the status code to determine whether there is content is not really a good choice.
My particular issue with using multiple success status codes is that clients might not be ready to handle them all, this doing this change is definitely breaking. I would rather use 200 always instead of changing from 204 to 200 if necessary. (That of course does not apply to error status codes as a client MUST handle every non-success status and have some kind of fallback logic for unknown statuses)

I would say relying on the status code to determine whether there is content is not really a good choice.

Odd. RFC7230-section3.3.3 would seem to disagree with your assertion, concerning using 204.

My particular issue with using multiple success status codes is that clients might not be ready to handle them all, this doing this change is definitely breaking. I would rather use 200 always instead of changing from 204 to 200 if necessary. (That of course does not apply to error status codes as a client MUST handle every non-success status and have some kind of fallback logic for unknown statuses)

Although I'm certain someone hardcoded if status == 200, I disagree with the rest of your assertion. One would generally check for success (200<=status<300), correctable failure (400<=status<500), and uncorrectable failure (500<=status) to determine how to proceed.
Would kinda wonder about a portion of the logic in "router.go" though; wouldn't there always be an allow length? At minimum, wouldn't Allow: OPTIONS always be possible to qualify for a successful return?

Odd. RFC7230-section3.3.3 would seem to disagree with your assertion, concerning using 204.

I think I wasn't totally clear. I agree that 204 should mean there is actually no content. On the other hand, 200 with an empty body should be fine too. Maybe not for an OPTIONS request, but I think clients/servers with this level of RFC conformity is rare.
Ultimately my main argument is backwards compatibility which is no longer valid if we are talking about a new major version.

Changing the status code is now possible via a global OPTIONS handler. See Automatic OPTIONS responses and CORS.
I will leave this issue open, since 204 should be considered as the default response code in v2.


Want to add a To-Do list in frontend projects

Project title
To-Do List
Project Description
Having details to things to be done
Doc Domain

[] Solidity , Html, Css , JavaScript , Web3.js / Ether.js
[] Solidity , ReactJs /NextJs , Web3.js /Ether.js
[] Solidity , Python3 , Web3.py
[] Other , feel free to mention below

Are you contributing under any open-source program ?
SSOC'23

I will make a to-do-list which will be storing new items and we can strike of any item which we feel to remove. It will be good designed. We will not be deleting the items we will strike the items not needed just like a real list. A little different from general to-do-list.

Great, start working on this

hey Please assign this issue to me


feature request - way to explicitly generate the default blueprints CRUD ops into new Controller

Hi. Apologies in advance if raising an issue for a feature request isn't the way to raise a feature request.
Very briefly, I have been using SailsJS since v0.10.x Great framework, and easy way to get up and running fast. Can't wait to see treeline asap either.
Anyhow, with 2 years experience, one feature that I feel is blatantly missing is the ability to do something like  "sails generate api/controller Name --scaffold"   and it creates the controller but with explicit blueprint like code for each of the find, findOne, create, update, destroy functions inserted into the newly created Controller. Presumably, the generated code follows best practices too, and inserts all the error checking etc too. Then customization becomes trivial based on code templates, and it is simple to just delete any of the functions you don't actually want declared.
Is this something you would consider for the upcoming 0.12 release?  Certainly be interested to hear what others think? (and if there is already a feature for doing what I describe, then I'd be happy to be educated and marvel at my ignorance :smile: )

Apologies in advance if raising an issue for a feature request isn't the way to raise a feature request.

Hi @arcseldon!  We just updated the contribution guide last week actually-- would you please give the new process for proposals a read and follow the instructions there? Thank you!


proposal: cmd/vet: enable fuzz checks in 'tests' analysis pass

There are several things that vet can do to support native fuzzing. This issue tracks all of the potential checks that could be added.
Vet should fail if...

the inputs to any f.Add call don't match the ones in f.Fuzz
there is any code after f.Fuzz
the f.Fuzz function is missing a *testing.T as its first parameter
there is any call to a *testing.F method from within the f.Fuzz function

Maybe a dumb question, but can "the f.Fuzz function is missing a *testing.T as its first parameter" be enforced by the typechecker/compiler instead?

It would be i

There are several things that vet can do to support native fuzzing. This issue tracks all of the potential checks that could be added.
Vet should fail if...

the inputs to any f.Add call don't match the ones in f.Fuzz

Could you perhaps elaborate on this one? Do you have a specific pattern in mind?

 I don't have an answer to this question though. Possibly? The use of generics might make things easier here as well, but I haven't looked too deeply into this yet.
However, in general, the more issues like this that we can detect at compile-time the better.

Could you perhaps elaborate on this one? Do you have a specific pattern in mind?

@zpavlinovic Yes, I'm thinking of something like this:
func FuzzFoo(f *testing.F) {
  f.Add("some string")
  f.Fuzz(func(*testing.T, int) { })
}

In the case above, f.Add is attempting to add a value to the corpus which is a single string. However, the f.Fuzz function accepts an int as its type. It would be nice if this can fail at compile time, but a vet check would be helpful if that's not feasible. That code should be corrected to something like this:
func FuzzFoo(f *testing.F) {
  f.Add(50)
  f.Fuzz(func(*testing.T, int) { })
}

or
func FuzzFoo(f *testing.F) {
  f.Add("some string")
  f.Fuzz(func(*testing.T, string) { })
}

All these four checks can be covered by a simple vet checker. My main question is whether this checker mets the frequency requirement. After all, running a malformed target will result in panic, so there may be few malformed targets in the tested code.
I am more interested in the bugs that fail "silently", e.g. the expected mutations are not performed. Are there some patterns that are malformed but the related tests won't crash?

For anyone looking at this later, golang.org/x/tools/go/analysis/passes/tests is a vet analysis that detects problems with tests, examples, and benchmarks, for example, a missing *T parameter, or an // Output comment in the wrong place.
It's probably a good place to check fuzz tests here, rather than defining a new pass.

Submitted review for some of the validations : https://go-review.googlesource.com/c/tools/+/374495

The documentation here mentions that fuzz targets have no return values: https://go.dev/doc/fuzz/#glos-fuzz-target
However, that doesn't appear in the documentation for F.Fuzz, and doesn't seem to be enforced. Should we report a diagnostic for fuzz targets with result parameters?

Any objection to promoting this to a proposal, so that it can be decided upon for 1.19? We have already started implementing this for gopls, and it would just require a flag-flip to enable it for vet.

@findleyr, can you say exactly what the implemented check does? Also, there is already a vet 'tests' analysis module. It seems like probably the fuzz target checker should go in there instead of being a separate analysis?
Also @ianlancetaylor observes that the 'tests' analysis already does know about fuzz calls, although this appears to be undocumented in 'go tool vet help tests'. (#50198 seems to have been that support?)

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Thanks, retitled. This sounds fine, especially if you have experience with these working well in gopls.

Well we don't have much experience yet, as most of our users are not writing fuzz tests. However, I believe the new diagnostics will be helpful, and have ~0 false positives, so they seem worth including in cmd/vet.

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group


feat: Remove momento account signup

Remove momento account signup command and replace with an error message pointing to the Console.
The subcommand and arguments are kept (and made options) so that if someone uses the command with these, they get a helpful error message:
$ cargo run -- account --help
Manage accounts

Usage: momento account [OPTIONS] <COMMAND>

Commands:
  signup  **DEPRECATED** Please go to the Momento Console to sign up
  help    Print this message or the help of the given subcommand(s)

Options:
      --verbose            Log more information
  -p, --profile <PROFILE>  User profile [default: default]
  -h, --help               Print help

$ cargo run -- account signup --help
**DEPRECATED** Please go to the Momento Console to sign up

Usage: momento account signup [OPTIONS] [COMMAND]

Commands:
  gcp   **DEPRECATED** Please go to the Momento Console to sign up
  aws   **DEPRECATED** Please go to the Momento Console to sign up
  help  Print this message or the help of the given subcommand(s)

Options:
      --verbose            Log more information
  -p, --profile <PROFILE>  User profile [default: default]
  -h, --help               Print help

$ cargo run -- account signup
ERROR: This command has been deprecated and removed!
Please go to the console to sign up for Momento and generate a token:
 https://console.gomomento.com

$ cargo run -- account signup aws
ERROR: This command has been deprecated and removed!
Please go to the console to sign up for Momento and generate a token:
 https://console.gomomento.com

$ cargo run -- account signup aws --email foo
ERROR: This command has been deprecated and removed!
Please go to the console to sign up for Momento and generate a token:
 https://console.gomomento.com

This is blocked on getting the new sdk version in but wanted to open it up to get feedback that this is the right approach to take.

Can we add a direct URL link to the console so people can easily cut and paste into browser? I would go a step further and just pop up the browser for them with the link but that might be harder / too much effort.

Can we add a direct URL link to the console so people can easily cut and paste into browser? I would go a step further and just pop up the browser for them with the link but that might be harder / too much effort.

@danielamiao it's in the error currently
ERROR: This command has been deprecated and removed!
Please go to the console to sign up for Momento and generate a token:
 https://console.gomomento.com

I could also do pop the browser, but personally I don't like that behavior that much? I don't think it's that hard though if you want that.

@rlinehan ah ok thanks! I think maybe just add it to help menu too?

can you please show what the main help screen looks like with these changes? I am curious whether you hid the old command and also would like to see what the current list of top level commands is. (Sorry I know I could glean this from the code but I haven't had time to go through it all yet.)

can you please show what the main help screen looks like with these changes? I am curious whether you hid the old command and also would like to see what the current list of top level commands is. (Sorry I know I could glean this from the code but I haven't had time to go through it all yet.)

@cprice404 I haven't hidden account from the top level of commands but I could, since signup is currently the only subcommand for that.
$ cargo run -- --help
Command line tool for Momento Serverless Cache

Usage: momento [OPTIONS] <COMMAND>

Commands:
  cache      Interact with caches
  topic      Interact with topics
  configure  Configure credentials
  account    Manage accounts
  help       Print this message or the help of the given subcommand(s)

Options:
      --verbose            Log more information
  -p, --profile <PROFILE>  User profile [default: default]
  -h, --help               Print help
  -V, --version            Print version

@poppoerika I pushed a commit that updates the README... do you know what the process is for updating the japanese (and also portuguese I guess) version of this?


Add circleci status badge

Add a CircleCI status badge that indicates whether the current build is failing or passing, similar to what we have here: https://github.com/gro-intelligence/api-client/tree/CLEWS-37320-add-circleci-status-badge

@kmetallic04  I think after i merged https://github.com/gro-intelligence/api-client/pull/324,  github automatically closed that branch so any further build would fail.

@kmetallic04 I think after i merged #324, github automatically closed that branch so any further build would fail.

@muzigao I think there was a race condition where the automatic deletion happened in the period between which the build cloned gh-pages and the point when it attempted to push upstream. A simple retrigger did the trick. We should definitely try and minimize the length of this window (by e.g adding a git pull just before the auto-commit step).


[FEDORA 33] systemd-resolved incompatibility with local dnsmasq resolution

In Fedora 33, DNS resolution with local libvirt DNS is not working due to the presence of systemd-resolved.
Partially fixed by #37 with disabling the service and giving NM ownership.

Fiexd by #41


Added Faker::Company.tax_id_number

Added a tax_id_number method to Faker::Company. There is also aliases for this method as "ein" and "tin" for ease of use. Added an appropriate format to the en locale, though as this is only for US tax ID numbers, it might be better placed in en_us.

@aaron-mmt  Please rebase with master, fix the Rubocop violations and change the changelog.md - add the PR info and your GitHub ID there.
I understand that it took us a while to review your PR. I'm sorry about that. I started as a collaborator a few days ago, and I'm trying to fix and solve all the pending tickets. If you don't want to do these changes or you don't have time, let us know. We can find someone to knock out this challenge.

I'll do my best to get to it this weekend. Thanks.

Closed due to inactivity. Feel free to reopen and finish the changes. Thanks 👍


Add result.stdout and result.stderr

This adds result.stdout and result.stderr to retrieve the full output.
This also adds error.stdout and error.stderr, since knowing the output on errors is very useful.
I tried to implement it in as few lines as possible, but it's a little difficult to do so.

Conflict

Fixed. :+1:


How to finetune the given pre-trained model?

I was looking to finetune the vits model using some custom data, but noticed that the released model is only the generator, and discriminator is also required to continue training from the checkpoint. Is the discriminator model available somewhere or is there any way to finetune the available model?

No discriminator model, so no way for fine-tuning.

No discriminator model, so no way for fine-tuning.

The pre-trained model in this repo might not have a discriminator but the one at coqui-tts does have it. And I get good results when fine-tuning that vits model to a new voice with few steps.

No discriminator model, so no way for fine-tuning.

The pre-trained model in this repo might not have a discriminator but the one at coqui-tts does have it. And I get good results when fine-tuning that vits model to a new voice with few steps.

where is the coqui discriminator?

You can also use the hifi-gan pretrained discriminator. VITS uses hifi-gan's code.
https://github.com/jaywalnut310/vits/blob/2e561ba58618d021b5b8323d3765880f7e0ecfdb/models.py#L364

The pre-trained model in this repo might not have a discriminator but the one at coqui-tts does have it. And I get good results when fine-tuning that vits model to a new voice with few steps.

@iamkhalidbashir Did you do fine-tuning with pretrained model on vctk (or LJ?) and with additional speaker?
And about coqui-tts, can you tell where is the discriminator? Downloaded model look like generator.

Hi, everyone, following the suggestion from @CookiePPP , I have a fork with a running loop for finetuning(only for LJSpeech atm). I am using the LJSpeech generator from this repo and I extracted the discriminator from Hifi-Gan and amended the code slightly to make it work.
https://github.com/nivibilla/efficient-vits/
I would love to get help with finetuning as I'm currently limited to just using colab lol.


[Key Vault - Administration] Deploy test resources failing in nightly runs

Key Vault - Administration nightly test runs are failing with:

Error message:
Failed to export security domain data
Stack trace:
Write-Error: /mnt/vss/_work/1/s/eng/common/TestResources/New-TestResources.ps1:755
Line |
755 |              &$postDeploymentScript -ResourceGroupName $ResourceGroupN …
|              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Failed to export security domain data.

For more details check here:

https://dev.azure.com/azure-sdk/internal/_build/results?buildId=1798983&view=results

remove mgmt label as this is not related with mgmt plane packages. Thanks

Duplicate of #22599


Enable access csres approve

Amendments to permit Access to the RAWeb services running on 22443 from Global Protect client devices and tidy up names on the descriptions in the relevant SGs

thanks @smjmoj  and @juddin927 looks like only approved peeps can merge the PR - can you do the honours when appropriate


Feature/global router writer

@stevenmburns @Lastdayends
Do not merge and I am still updating code.

Hi Steve,
I will do the merge. (I need check the code and run some testcase before
merging it to master).
Yaguang
On Tue, Sep 24, 2019 at 7:12 PM Steve Burns<EMAIL_ADDRESS>wrote:

@stevenmburns approved this pull request.
I see, only the internal data structures of the Gcell global router were
changed. Then I don't need to fix anything on the Python side.
Let's check this into master. Looks great!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ALIGN-2Danaloglayout_ALIGN-2Dpublic_pull_175-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAKIMLZRCDGF7JNUDORBIY63QLKUFFA5CNFSM4I2FCYRKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCFZVOKA-23pullrequestreview-2D292771624&d=DwMCaQ&c=u6LDEWzohnDQ01ySGnxMzg&r=ZMUCBc0sWFUe5MzbQ3jL6w&m=hEz1yoDSPCID7orrSeRLSIMObcHDvf_eYZuIUABkx6o&s=Ze-sUVJgZwo1FA_zH7FjeQ-U4gj0S4jeqkAvllQ1r1g&e=,
or mute the thread
https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKIMLZQKSJPMA4VNFYE3Y5DQLKUFFANCNFSM4I2FCYRA&d=DwMCaQ&c=u6LDEWzohnDQ01ySGnxMzg&r=ZMUCBc0sWFUe5MzbQ3jL6w&m=hEz1yoDSPCID7orrSeRLSIMObcHDvf_eYZuIUABkx6o&s=iFjUcFzowwAVCiTGOGPl-635LaV701hTXgCDqTf8b5s&e=
.

looks good


Support Scala 2.12.16

It was released last month. I wanted to update a cross-built library but Scapegoat failed. This adds the relevant support.

👍🏼

@sksamuel, could you please release a new version?

I can do that


Made constant_dataset prediction length consistent

perhaps it doesn't matter but since the test_ds has target length of 30 it might be more consistent to make the prediction length match up?
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi @kashif I think one could argue that it's actually better not to have the time ranges of train/test data aligned in any way. In short: it's a more general test case.
In general, models should be trainable on some data and then applied to a completely unrelated time range. Moreover, short test instances should be compatible with models that contemplate padding. Hard-coding that len(train_data) = len(test_data) + prediction_length in some test cases may hide issues, in case someone checks in a model that does assume such relationship.
I hope that's OK with you!

makes sense thanks!


Allow to specify the pid file

For my application logic (unicorn zero-downtime logic), I'm saving the pid in a specific file.
I need runit to take the pid from that file, and not save it on its own.

Unless you know something I don't, Runit does not support this specifically.


Add ProjectTo for CA

Ensures that the gradient of a CA is of type CA.

Codecov Report

Merging #202 (d654990) into master (efff2cd) will decrease coverage by 0.33%.
The diff coverage is 66.66%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##           master     #202      +/-   ##
==========================================
- Coverage   73.35%   73.03%   -0.33%
==========================================
  Files          20       20
  Lines         683      686       +3
==========================================
  Hits          501      501
- Misses        182      185       +3

Impacted Files
Coverage Δ

src/compat/chainrulescore.jl
81.81% <66.66%> (+6.81%)
:arrow_up:

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks!

@JuliaRegistrator register

@jonniedie this patch did not get released


Add lambda syntactic sugar

Support lambda style expression in foreach, select and where prebuilt functions.
For example, After the change, the expression could be:
foreach(items, u => json(u)) instead of foreach(items, u, json(u)), it is more readable.
foreach(items, u, json(u)) -> foreach(items, u => json(u))
where(items, u, u > 1) -> where(items, u => u > 1)
select(items, u, json(u)) -> select(items, u => json(u))
pr link:
C#: https://github.com/microsoft/botbuilder-dotnet/pull/3899
js: https://github.com/microsoft/botbuilder-js/pull/2328

Closing now that the PR has been merged into the R10 branch.


Atomization operations cannot set keys that already exist

I recently used KVDex in my own project and I found that the non-atomic Set operation is different from KV in that when the key already exists, you need to specify the Overwrite attribute for it to succeed, and similarly, when using the atomic Set operation, I found it impossible to successfully overwrite an existing key.
Here is the example

Thanks for bringing my attention to this. As for the normal set() operation, that is the expected behaviour. I can start by explaining my reasoning for making it behave different than the native set() by default:

It mimics the behaviour of traditional databases, where data by a primary key cannot be overwritten by default, and the developer is forced to explicitly handle cases where you wish to overwrite existing values.
The add() method should act exactly the same as set(), but with an automatically generated id. If add() were to overwrite data by default, this could cause it to randomly overwrite existing values, which I consider very bad behaviour. So to keep these two methods aligned, set() must not overwrite by default.

As for the atomic set() operation, I understand that not being able to overwrite existing values can be an issue. Right now this limitation is due to indexable collections, as if you are overwriting a value that has index entries, these index entries would not be deleted, which can cause collision issues when inserting new data. This probably can be fixed though by handling standard collections and indexable collections differently, likely by throwing an error for the case of indexable collections when using atomic set() with overwrite = true. I will look into this.

Closing this now due to 3.0.0 being released, which includes the overwrite option for atomic set().


Hard use of observe notification callback

Hi, Our application needs to ensure repeatedly collecting data from the lwm2m devices. The software will try to use obs mechanism if the device support observe, if not supported it will repeat READ from the device.
However we found it very hard to build robust solution with the obs notification callback if we want to handle exceptional situations, such as obs unsupported, obs timeout, device reset etc.
After spending time to look into the source code, it seems the "count" can provide some indication about the situation, however it is mixed use with the observe sequence indicator. So we can not be sure if it is the seuqnce number or status inidcator when its is value is "COAP_202_DELETED" for instance. Currently our solution is adding a "first" flag in the userData structure, we will use it to help checking the meaning of "count" parameter.
Should we add addition parameter in this callback so the meaning won't be mixed?
void obs_notify_callback(uint16_t clientID,
lwm2m_uri_t * uriP,
int count,
lwm2m_media_type_t format,
uint8_t * data,
int dataLength,
void * userData)
"count" meaning digged from the source code:
Obs not supported:
COAP_405_METHOD_NOT_ALLOWED
Obs Timeout:
COAP_503_SERVICE_UNAVAILABLE
Device reset:
COAP_202_DELETED
Any other value:
The observe option as order indicator

Be sure that coap observe is adapter to you often this is not the case.
See https://github.com/eclipse/leshan/wiki/LWM2M-Observe
Polling with read request or using new send operation from LWM2M 1.1 is maybe a better choice.
Could we close this one ?

I close this issue but feel free to reopen if needed.


⚠ SceneTime has degraded performance

In d60fcf6, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1562 ms

Resolved: SceneTime performance has improved in 2db95c6 after 8 minutes.


Add a new role (Global Secure Access)

[Enter feedback here]
How can I add a new role (Global Secure Access) to this page?
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 0767aac4-fcd9-eaac-2c30-8f17d8eadd92
Version Independent ID: a380a828-03f9-e037-3a62-e4165fda7cb6
Content: Azure AD built-in roles - Microsoft Entra
Content Source: articles/active-directory/roles/permissions-reference.md
Service: active-directory
Sub-service: roles
GitHub Login: @rolyon
Microsoft Alias: rolyon

@moti-ba
Thanks for your feedback! We will investigate and update as appropriate.

#assign:rolyon

Hi @moti-ba
Thanks for your feedback. I'll contact you separately to add this role to the docs.
thanks

#please-close


[AutoPR] compute/resource-manager

Created to accumulate context: compute/resource-manager

(message created by the CI based on PR content)

Codecov Report

Merging #3383 into master will increase coverage by 0.01%.
The diff coverage is 49.25%.

@@            Coverage Diff             @@
##           master    #3383      +/-   ##
==========================================
+ Coverage    37.6%   37.61%   +0.01%
==========================================
  Files        8677     8676       -1
  Lines      263684   263740      +56
==========================================
+ Hits        99151    99208      +57
+ Misses     164533   164532       -1

Impacted Files
Coverage Δ

...e/v2018_06_01/models/virtual_machine_update_py3.py
13.15% <ø> (ø)
:arrow_up:

.../compute/v2018_06_01/models/diagnostics_profile.py
66.66% <ø> (ø)
:arrow_up:

...l_machine_scale_set_managed_disk_parameters_py3.py
75% <ø> (ø)
:arrow_up:

.../v2018_06_01/models/gallery_artifact_source_py3.py
45.45% <ø> (ø)
:arrow_up:

...dels/virtual_machine_scale_set_vm_instance_view.py
29.41% <ø> (ø)
:arrow_up:

...compute/v2018_06_01/models/boot_diagnostics_py3.py
44.44% <ø> (ø)
:arrow_up:

.../compute/v2018_06_01/models/image_data_disk_py3.py
21.73% <ø> (ø)
:arrow_up:

.../v2018_06_01/models/additional_capabilities_py3.py
50% <ø> (ø)
:arrow_up:

...te/v2018_06_01/models/gallery_os_disk_image_py3.py
45.45% <ø> (ø)
:arrow_up:

...2018_06_01/models/virtual_machine_instance_view.py
100% <ø> (ø)
:arrow_up:

... and 85 more

Continue to review full report at Codecov.

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


change the app create to the primary master

for now , it alert on 3 masters , we only need it run on one primary master
@vizakua @gburges

👍


Merge entries within the 'commands' config

Merge entries in the 'commands' config when loading multiple files (rather than replacing it / dropping existing entries).
With this change, if you have a ~/.config/projectable/config.toml file that contains...
[commands]
"ctrl-t" = "echo hey there"
"ctrl-y" = "echo this is a demo"

and then a $PWD/.projectable.toml file that contains...
[commands]
"ctrl-t" = "echo this is replaced"
"ctrl-u" = "echo this is another command"

Then when you run prj in that $PWD (or below), you'll get three commands: one for ctrl-t, one for ctrl-y, and one for ctrl-u. The command bound to ctrl-t will be the one that in this example says "replaced".
Previously, the whole command map was getting replaced, which meant in this scenario you'd only end up with ctrl-t and ctrl-u (the ctrl-y command from the parent config just got discarded).
I suppose this could be considered a breaking change, but for me, it's what I expected when I first read the docs about the built-in configuration merging, so hopefully it's inline with the intentions of the project :)

(It's a very tiny diff, because all that was needed is to switch to using the HashMap merge function instead of the merge macro that only looks at the whole value non-recursively.)

Thanks for the PR! Yeah, I'd definitely say that this behavior makes more sense when looking at config merging as a whole.


Support for borrowing newtypes

First of all, thank you for this library! I like it a lot.
I have a request:
I would like to make newtypes containing borrowed values, but it appears that doesn't work.
For example, this:
#[nutype(derive(Debug))]
struct A<'a>(Cow<'a, str>);

Expands to this:
#[doc(hidden)]
mod __nutype_private_A__ {
    use super::*;

    #[derive(Debug, )]
   /// Lifetime on A is missing
    pub struct A(Cow<'a, str>);

    impl A {
        pub fn new(raw_value: Cow<'a, str>) -> Self {
            fn sanitize(mut value: Cow<'a, str>) -> Cow<'a, str> { value }
            Self(sanitize(raw_value))
        }
    }

    impl A { pub fn into_inner(self) -> Cow<'a, str> { self.0 } }
}
use __nutype_private_A__::A

The important part is that the lifetime declaration on A seems to be lost. Is it possible to make this work?

Hi, thanks for reporting the issue.
Currently generics are not yet support, but I plan to add support for this.
There is a related issue to this: https://github.com/greyblake/nutype/issues/130

The basics implementation to support generics is merged in https://github.com/greyblake/nutype/pull/135
There some corner cases that need to be addressed before a new version can be published, see generics label.
@Ducky2048  If would appreciate if you can try the current implementation out and let me know if there something else missing!

It works perfectly for what I initially asked for, which is great!
What I found is that automatically deriving Serialize and Deserialize doesn't seem to work:
#[nutype(
    derive(
        Debug,
        Serialize,
        Deserialize,
    ),
)]
pub struct Borrowing<'a>(Cow<'a, str>);

Expands to:
#[derive(Debug, )]
pub struct Borrowing<'a> (Cow<'a, str>);
// perfect
impl<'a> Borrowing<'a> {
    pub fn new(raw_value: Cow<'a, str>) -> Self { Self(Self::__sanitize__(raw_value)) }
    fn __sanitize__(mut value: Cow<'a, str>) -> Cow<'a, str> { value }
}

// also perfect
impl<'a> Borrowing<'a> {
    #[inline]
    pub fn into_inner(self) -> Cow<'a, str> { self.0 }
}

// missing lifetime
impl ::serde::Serialize for Borrowing { fn serialize<S>(&self, serializer: S) -> ::core::result::Result<S::Ok, S::Error> where S: ::serde::Serializer { serializer.serialize_newtype_struct("Borrowing", &self.0) } }

// missing lifetime
impl<'de> ::serde::Deserialize<'de> for Borrowing {
    fn deserialize<D: ::serde::Deserializer<'de>>(deserializer: D) -> Result<Self, D::Error> {
        struct __Visitor<'de> {
            marker: ::std::marker::PhantomData<Borrowing>,
            lifetime: ::std::marker::PhantomData<&'de ()>,
        }
        impl<'de> ::serde::de::Visitor<'de> for __Visitor<'de> {
            type Value = Borrowing;
            fn expecting(&self, formatter: &mut ::core::fmt::Formatter) -> ::core::fmt::Result { formatter.write_fmt(::core::format_args!("tuple struct Borrowing")) }
            fn visit_newtype_struct<DE>(self, deserializer: DE) -> Result<Self::Value, DE::Error> where DE: ::serde::Deserializer<'de> {
                let raw_value: Cow<'a, str> = match <Cow<'a, str> as ::serde::Deserialize>::deserialize(deserializer) {
                    Ok(val) => val,
                    Err(err) => return Err(err)
                };
                Ok(Borrowing::new(raw_value))
            }
        }
        ::serde::de::Deserializer::deserialize_newtype_struct(deserializer, "Borrowing", __Visitor { marker: Default::default(), lifetime: Default::default() })
    }
}

@Ducky2048 Deserialize & Serialize for Cow<'a, str> should work (merged in https://github.com/greyblake/nutype/pull/144).
Note, that it's not yet the full generics support for the serde traits.

@greyblake Thanks a lot! I just donated 100 € for humanitarian aid to Ukraine. It's a miniscule amount in comparison to what the country needs, but maybe it helps just a little.

@Ducky2048 That's very nice of you! Thank you very much!

@Ducky2048  I just finished the work with generics and published  0.4.3-beta.1.
I am planning to release 0.4.3 in a week.


img file

hey, i have extracted and renamed the image file on my sd card but the hudl doesnt seem to find it.  is there any thing o am missing?

Download https://github.com/remay/tmf-hudl/releases/download/tmf-custom-rom-v1.0/hudl.20140424.153851.TMF-Custom-v1.0.img.zip
Unzip it
rename it 'update.img'
put it on your SD card (in the root directory)
put the SD card into the Hudl
Boot the Hudl into recovery
select the 'update rkimge from external storage' option

If  you've followed that exactly and it's not working, then take a screenshot of the Hudl (with your phone) showing the message and attach a reply here.

Download https://github.com/remay/tmf-hudl/releases/download/tmf-custom-rom-v1.0/hudl.20140424.153851.TMF-Custom-v1.0.img.zip
Unzip it
rename it 'update.img'
put it on your SD card (in the root directory)
put the SD card into the Hudl
Boot the Hudl into recovery
select the 'update rkimge from external storage' option

If  you've followed that exactly and it's not working, then take a screenshot of the Hudl (with your phone) showing the message and attach a reply here.

thanks for the quick reply. yep thats what ive done doesnt seem to see the image file.  i thought it was the card at first so put it in a subfloder to check found the sub folder but not the file :/

thanks for the quick reply. yep thats what ive done doesnt seem to see the image file.  i thought it was the card at first so put it in a subfloder to check found the sub folder but not the file :/

That doesn't look like the recovery screen for a Hudl 1.  There is no option "update rkimage from external storage".  Is that a Hudl 2?   This firmware image is for Hudl 1 devices only.

That doesn't look like the recovery screen for a Hudl 1.  There is no option "update rkimage from external storage".  Is that a Hudl 2?   This firmware image is for Hudl 1 devices only.

ah yep that will be why!! is there any info on a similar process for hudl2's?

ah yep that will be why!! is there any info on a similar process for hudl2's?

I've not seen any custom images for the Hudl 2, but I haven't looked terribly hard as I don't have one.    I don't knwo how you ended up here, but if your stuck at the 'won't connect to internet' screen having factory reset your device, then there are reports of a method I documented for the Hudl 1 (https://rob.themayfamily.me.uk/hudl-fix) working for Hudl 2 devices - but I can't offer any support I'm afraid.

I've not seen any custom images for the Hudl 2, but I haven't looked terribly hard as I don't have one.    I don't knwo how you ended up here, but if your stuck at the 'won't connect to internet' screen having factory reset your device, then there are reports of a method I documented for the Hudl 1 (https://rob.themayfamily.me.uk/hudl-fix) working for Hudl 2 devices - but I can't offer any support I'm afraid.


feat(update): update to reading away

@all-contributors please add @yangwenmai for design

@all-contributors please add @yangwenmai for design


Support Content-Encoding: gzip

Jabba should support Gzip responses. This means passing through any upstream gzip responses, but also encoding responses as gzip that are currently content type identity

fixed, but needs testing. close this issue when automated tests start passing.

done


change log REST endpoint with v3 prefixed

[ ] If this pull request closes/resolves/fixes an existing issue, replace the issue number. Closes #.
[ ] Update the CHANGES log.

The previous name of log collection REST endpoint has inconsistency with other REST supported endpoint, such as /v3/segment. In this PR, we fix this problem.

cc @kezhenxu94

@kezhenxu94 Is this API new in 8.6? Whether we need changelog?

It' OK to me to add that prefix, the reason why I didn't add it is because for logging API, we don't have historical versions, (v1, v2).
This changes don't need change log as logging REST API is not released yet


redmine: Add SQLite support

Description of changes
For testing and development purposes, it's not necessary to setup a SQL server. SQLite is enough for these cases.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

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

[ ] Fits CONTRIBUTING.md.

@felixsinger are you still working on this? :eyes:

I accidentally deleted the branch and thus the pull request was closed. I will continue in another pull request later.

Continuing the work in #298740


UX support for HELM import/export

Requirements

Open
Add option 'HELM' to the format dropdown menu of modal window 'Open'/'Paste from the clipboard'

Save As
Add option 'HELM' to dropdown 'File format' of modal window 'Save Structure'

Backend part:
#1188

Verified.

Versions

Ketcher Version 2.23.0-rc.1 Build at 2024-07-02; 08:57:41
Indigo Toolkit Version 1.22.0-rc.1.0-g2bef0ce6c-wasm32-wasm-clang-19.0.0
Windows 10 Pro
Chrome Version 126.0.6478.127 (Official Build) (64-bit)


Defining a field named _id causes unexpected behaviour

Describe the issue that you're seeing.

If you define a field called _id, which is the natural thing to do after finding that id is not allowed.. it causes the path of the markdown file to be displayed where the value should be.
Reproduction
https://github.com/johtso/tina-id-bug
Steps to reproduce
No response
System Info
System:
    OS: macOS 13.0
    CPU: (8) arm64 Apple M1 Pro
    Memory: 417.47 MB / 16.00 GB
    Shell: 3.6.0 - /opt/homebrew/bin/fish
  Binaries:
    Node: 18.0.0 - ~/.nvm/versions/node/v18.0.0/bin/node
    Yarn: 1.22.19 - ~/Code/id-bug-repro/node_modules/.bin/yarn
    npm: 8.10.0 - ~/.nvm/versions/node/v18.0.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 108.0.5359.124
    Edge: 109.0.1518.78
    Firefox: 108.0.2
  npmPackages:
    @tinacms/cli: ^1.0.8 => 1.0.8
    tinacms: ^1.1.5 => 1.1.5

Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug.

You can now use the nameOverride property to get around this:
{
  type: 'string',
  name: 'myId',
  nameOverride: 'id'
},


work buffer passed to SPIFFS_mount must be aligned on some platforms

I'm seeing SPIFFS_mount() crash due to what looks like an unaligned memory access. Specifically, trying to access obj_lu_buf[cur_entry-entry_offset]. This is on an ARM Cortex-M0. I do have SPIFFS_ALIGNED_OBJECT_INDEX_TABLES set to 1.
Looks like SPIFFS_mount() fixes fd_space and cache alignment, but work and lu_work does not get fixed or checked. Perhaps SPIFFS_ALIGNED_OBJECT_INDEX_TABLES could be extended to something like SPIFFS_REQUIRE_ALIGNED_ACCESS, which would also verify that the pointers passed in align at 32b boundary. Though there might be architectures with stricter alignment requirements.
Also, I did have to specify -Wno-cast-align, otherwise I'm getting "cast increases required alignment of target type" warnings in a bunch of places, mostly related to fs->work and fs->lu_work usage. Let me know if you want me to file a separate bug for this.
(And thanks for the great work!)

I haven't fully thought it through, but perhaps a way to handle this would be to define a struct for each of fs->work and fs->l_work members that has a bunch of unions for each type of access that the spiffs code might want to do, e.g.,
typedef struct {
  struct {
    union {
      // Access as bytes.
      u8_t* as_u8;
      //  Access page header + pages.
      struct {
        spiffs_page_header header;
        spiffs_page_ix pages[0];
      } as_something;
      // As obj ids.
      struct {
        spiffs_obj_id obj_ids[0];
      } as_obj_ids;
    };
  } lu_work;
  struct {
    union {
      // Access as bytes.
      u8_t* as_u8;
      // <Add other access views here...>
    };
  } work;
} spiffs_work_buffer;

The caller can then instantiate spiffs_work_buffer (either statically, or on the heap with the right alignment), and the compiler should take care of the right alignment. In all the places where fs->work and fs->lu_work is cast to structures currently, it would be replaced with something like fs->work_buffer.lu_work.header, etc.
I'm probably missing something obvious on why this is a bad idea (other than slightly more verbosity).

Hi,
In my opinion that is a good idea as it is more verbose than casting things everywhere, and I wished I would have done it that way from the start. It would take some effort rewriting it now as the work buffers are used more or less everywhere. I'll have to muster up some courage to do this :)
What compiler (and version) are you using? I could try to reproduce at least the warnings here. As for the actual crash, what if you align the work buffer itself passed to SPIFFS_mount - will that fix it?
E.g. something like
u8_t my_spiffs_work_buffer[2*SPIFFS_LOG_PAGE_SIZE] __attribute__ ((aligned (sizeof(void *))));

What compiler (and version) are you using?

$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]
Basically, in any place that has a stored u8_t* that gets cast to some structure that has alignment requirements (e.g., a u32_t in it), this warning will show up.
If I align the work buffer, then things work fine. That's what I ended up doing.


Response for trained model not well formatted

I was going through the lab steps to create a new skill.
The skill will return the chord shape based in the question, e.g.
for the A major, it should return something like this:
      Certainly! Here's the A major chord shape:
      ```
            e|---0---|
            B|---2---|
            G|---2---|
            D|---2---|
            A|---0---|
            E|-------|
      ```

      Explore the A major chord: [Link to A major chord](https://chordbank.com/chords/a-major)

However it is cutting the response in the pipes | :
>>> can you drwan to me the G major chord?                                                                                [S][default]
╭───────────────────────────────────────────────────────────────────────────────────────────── ibm-merlinite-7b-mlx-q-fused-pt/ggml-model-Q4_K_M.gguf ─────────────────────────────────────────────────────────────────────────────────────────────╮
│ The G major chord shape is: 3---|                                                                                │
│ Please refer to the G major chord for more information: https://chordbank.com/chords/g-major                                                                                │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.896 seconds ─╯

It seems to be caused by the pipes in the chat output format.
Thanks.

@spolti are you able to reproduce this issue with the latest ilab version?

Closing this for now, @spolti feel free to reopen it if it's still an issue for you


Support Scala 2.13.0

Scala 2.13-RC1 has been released with many improvements to Scala's Future. Would be interesting to see how it affects Observable which uses Future internally.
Currently blocked by following releases:

minitest
cats
cats-effect

kind-projector will need to be changed to
"org.typelevel" % "kind-projector" % "0.10.0"

New version of monitest: 2.4.0
So just waiting for cats/cats-effect

cats 2.0.0-M1 and cats-effect 2.0.0-M1 have been published for Scala 2.13.0-RC1

Thanks @SethTisue - I made a PR #875
Not sure how fast we can release proper version but we could definitely do at least a snapshot soon

Scala 2.13 has been released.  Would love to have a corresponding Monix 3.0 official release too :-)

@ALPSMAC We're going to release for Scala 2.13 as soon as stable Cats-Effect version supporting this release is available (I think it is planned in the next 2-3 weeks)

Ah - perfect - thanks!
On Fri, Jun 14, 2019 at 6:12 AM Piotr Gawryś<EMAIL_ADDRESS>wrote:

@ALPSMAC https://github.com/ALPSMAC We're going to release for Scala
2.13 as soon as stable Cats-Effect version supporting this release is
available (I think it is planned in the next 2-3 weeks)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/monix/monix/issues/862?email_source=notifications&email_token=AF62ZNZ2XIAAZVUAW2EXIQLP2NVKXA5CNFSM4HEIYVWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXWLXDY#issuecomment-502053775,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF62ZN4VI3WWMO3MCTG377TP2NVKXANCNFSM4HEIYVWA
.

@Avasil Could a milestone build be put out until then, for people to start doing WIP upgrades?

@Daenyth Sure, I will release something in a couple of hours

Much appreciated!

@Daenyth
The release is in progress but 2.13 should be already available
3.0.0-eddc79d-SNAPSHOT
The version is the latest master + dependencies supporting 2.13

What resolver do I need for that?

@Daenyth I think it's "Sonatype OSS Snapshots" at "http://oss.sonatype.org/content/repositories/snapshots/"

3.0.0 is now released with support for Scala 2.13


Rename Architect to Principal SDE.

Hmm, I thought we decided Architect/Principal SDE?

Ah OK, I can change it.

/check-cla

@coreyhulen fixed

Looks like you might need to re-submit to get past he build errors.

otherwise looks good

@coreyhulen Feel free to merge


Fix code scanning alert - Incomplete string escaping or encoding

Tracking issue for:

[ ] https://github.com/aryasoni98/AI-Interview/security/code-scanning/3

I can work and resolve this issue. Please assign it to me. I'm under GSSOC22, so please add the label of it.


update circleCI deployment key

There is currently a failure on master due to a bad public key on CircleCI.

@conda-forge-admin, please update circle

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I updated the circle-ci deploy key and followed the project.


build: copy build output to the correct paths

Using console.Dockerfile as it was resulted in a blank page and lots of 404s. Updated paths are the same as in all.Dockerfile:
https://github.com/jitsucom/jitsu/blob/fb73e5921cfdaf94e487e9cbf7978279b614360d/all.Dockerfile#L38-L39

@echozio Thank you!


settings: npm command for run storybook

First of all: I just love this extension! 😄
According to the official documentation:
https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#angular13
Starting from Angular 13 i have to use angular.json to setup storybook
So my command to run sotorybook is ng run my-default-project:storybook
Which is why I have to use the "external server" option and run the storybook manually
It would be cool if in the settings you could just specify the npm command to start the internal storybook server!

As a workaround, I think these settings should work:
{
  "storyExplorer.server.internal.storybookBinaryPath": "./node_modules/.bin/ng",
  "storyExplorer.server.internal.commandLineArgs": [
    "run",
    "my-default-project:storybook"
  ]
}

(Depending on your project/environment, you may need to adjust the path to ng.)

nice idea, thanks!
but I needed to use ng.cmd
./node_modules/.bin/ng.cmd worked for me

it is also possible to run an npm command (what I originally wanted 😄). a little more generic
{
    "storyExplorer.server.internal.storybookBinaryPath": "C:/Program Files/nodejs/npm.cmd",
    "storyExplorer.server.internal.commandLineArgs": ["run", "storybook"]
}

I have configured tasks.json and launch.json files for debug storybook. But this starts a different task than the extension.
maybe it would be better to run a not npm/executable command from an extension, but custom existing tasks from tasks.json? 🤔
I found a solution for myself:
// launch.json
{
    "name": "storybook",
    "type": "chrome",
    "request": "launch",
    "port": 9222,
    "preLaunchTask": "run storybook",
    "url": "http://localhost:6006",
    "urlFilter": "http://localhost:6006",
    "userDataDir": false,
    "cleanUp": "onlyTab"
}

// tasks.json
{
    // instead of running storybrook command, I run the extension command
    "command": "${command:storyExplorer.startStorybookServer}",
    "label": "run storybook",
    "isBackground": false
}

this works as expected: if the server is already running, then debug starts instantly
but it doesn't work with "isBackground": true and with problemMatcher.

I think it might be useful to have some configuration here: launch the storybook script directly, run an npm script, or launch an existing task. I could see situations where any of those options could be useful.

With #803, launching a Storybook server via an npm script is now supported. There are a handful of new options now documented in the README that you can check out if you want to customize further. But if you were using a workaround with storyExplorer.server.internal.storybookBinaryPath and storyExplorer.server.internal.commandLineArgs, you can remove them now and instead set storyExplorer.server.internal.launchStrategy to npm. (I'm thinking about whether this should actually be the default, and start-storybook/storybook become fallbacks instead--feedback welcome!)
One other new launch option is launching an existing VS Code task, which should work as long as the task uses process execution under the hood. (That said, if you tell Story Explorer to run a task that runs a Story Explorer command to start the server, which will run a task that runs a Story Explorer command to start the server... that probably won't work. But it should for other tasks, or other launch strategies. 🙂)
Sidenote: I haven't really done much to improve debugging workflows here, but I think there's a fair bit that could be done in that space. Flexibility in launch strategies is a small improvement, but I think there's more opportunity--if you have ideas or suggestions here, feel free to open a new issue to explore the space a bit more. This has been broached vaguely before in #383.

First of all, I want to say thank you! 🙂
I've checked npm strategy - it works perfect!
I also tried the task strategy
But VS Code and Extension run 2 different tasks with the same label (or 2 instances of the same task, you can see in the screenshot)
Anyway one of these tasks will fail because they both try to use the same port
If I run task twice from VS Code I get a message The task is already active. Terminate task/Restart task (also in the screenshot). So VS Code can understand when a task is running. But your task for VS Code is another one.
I've checked the first random extension:
It use a method vscode.tasks.fetchTasks() to get tasks and vscode.tasks.executeTask(task) to runs one of them.
And in this case I got default behaviour with The task is already active message

one more point:
actually label is optional field for tasks
in this case vscode uses {type}: {script} for label
e g I can use "preLaunchTask": "npm: storybook" in launch.json for run task without label

Thanks for pointing out the relaunch behavior--what you describe should happen is in fact what I intended, but it turns out there was a bug that prevented it from working as expected. I just merged #812, which should fix that.
FWIW, there are some cases where the extension can't reuse an existing task the way things are, including:

if the other task had started before the extension was activated. This is because the extension uses the process ID of the other task to figure out what port the Storybook server is using, and VS Code only makes that information available via an event that fires when the task starts. So even if the extension knows the task is running, if it doesn't know its process ID because it hadn't started up in time to catch it when the task launched, it'll launch a new one.
if you reload your window and your existing tasks are reattached, VS Code itself doesn't seem to always recognize them as running tasks, so even if the above problems were solved, the tasks don't show up as running tasks in the first place, so we have to proceed as if they aren't running.

These scenarios are hopefully rare, but they could happen.
The extra launch ought to succeed in general, even if there's a port conflict--are you using Storybook 7 by chance? If so, there's a bug in the current beta which causes the port conflict prompt you're seeing there. (If not, then the way I'm doing it might not be working the way I thought. 🤔)

actually label is optional field for tasks

Yes, I think this is correct. In that case, AFAICT, the "label" is effectively derived from the other properties. So you could target that task using storybook as the label (and npm as the type, if you needed to disambiguate).
It's not super intuitive--I had to test that out to figure out what the right values were. I am matching on what VS Code internally presents as the task's name, which also isn't a required (or allowed) property of a task in tasks.json. I don't think there's any generic property that is guaranteed to exist on an arbitrary task, but best I can tell label is always at least supported and takes precedence if specified. It's not very clear, but it might be the least unclear option. There may be better ways to document it, though.

are you using Storybook 7 by chance?
no, we are currently using SB 6

This is because the extension uses the process ID of the other task to figure out what port the Storybook server is using

I debugged your code and figured out how it works.
I also understand why sometimes the extension cannot start the storybook
for experiment I duplicated pollForPort call
first time I got port 65302
a little later I got port 59117
but in fact the storybook is running on 6006!
I have not yet been able to reproduce the problem stably 😔


Test Stack Methods

Description
test each of the following:

[x] peek()
[x] push()
[x] pop()

@brianwchou lets also add
https://www.npmjs.com/package/ganache-time-traveler
You can do this in another PR

waiting for https://github.com/brianwchou/Soldity-Stack-Example/pull/8


Enhancement set "enable_advance_next_id = true" to test acvance next id

Proposed changes
Issue Number: close #xxx

set "enable_advance_next_id = true" to test acvance next id in p0 and p1
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run buildall


Allow toggling useSuspenseQuery generation

Is your feature request related to a problem? Please describe.
useSuspenseQuery support was added in 4.1.0, this is great. But useSuspenseQuery requires Apollo 3.8 and our app is still in the process of upgrading to it. This however has added useSuspenseQuery to all our generated files and gives a ton of warnings because it's running an Apollo hook that doesn't yet exist.
Describe the solution you'd like
Could we add config to allow toggling the useSuspenseQuery generation? As far as I can tell there isn't a way yet, but please let me know if there is.
Describe alternatives you've considered
Currently we've had to downgrade to the version prior to the minor update.
Additional context
Thank you!

Not to mention this will probably go into the bundle of everyone... would be amazing to be able to toggle those functions off

I agree.
The configuration only recognizes apolloClientVersion 2 or 3.
Generating code that is supported only by a feature introduced in Apollo client 3.8  is a breaking change.
I also think the default value for useSuspenseQuery should be false


Added expand on hover button

Issue: I have added a _expand.less file and I think everything is done correctly except the fact that after npm start I wan not able to see my button on the lite server..
It would be very helpful if you guide me in this as I am a beginner in contributing to open sources.
Thank you :)

Hi @Bhargav252000 in order to see your button on the server and here, you need to add it in buttons-examples.js under "Animated". Please add it in the correct alphabetical order.

Hey @shahednasser I am really sorry I cant do this. I have tried a lot but I don't know where am I going wrong, my CSS file working fine but LESS file not, don't know why ?
I think this issue must be handled by someone else.

There's no problem! Thank you for working on it and please work on other issues you think you can do!


No output video

Describe the bug
No output video file created.
The next script run doesn't generate any output video file, but plots are shown (correct plots).
Provide version info
What version of Python are you running? Python 3.7.3
What version of OpenCV are you running?  >>> cv2.version '4.1.0'
What version of vidstab are you running? The last one
OS: Windows 10
Provide error message
No error message shown
Provide code snippet
import matplotlib.pyplot as plt
from vidstab import VidStab
in_video = r'C:\Desktop\4.avi'
out_video = r'C:\Desktop\4_stab.avi'
stabilizer = VidStab()
stabilizer.stabilize(input_path=in_video, output_path=out_video)
stabilizer.plot_trajectory()
plt.show()
stabilizer.plot_transforms()
plt.show()
Are you able to provide the video?
any video )

Hi @evgdobr thanks for reporting the issue.
I tried recreating your issue on my windows machine with the below script.  The script seemed to process without issue.  Could you please confirm that your issue persists when running the below script on your machine?
Script
import os
import sys
import cv2
import vidstab

print(f'sys.version:\n{sys.version}\n')
print(f'vidstab version: {vidstab.__version__}')
print(f'cv2 version:     {cv2.__version__}')

work_dir = '.'
in_video = os.path.join(work_dir, 'video_in.avi')
out_video = os.path.join(work_dir, 'video_out.avi')

vidstab.download_ostrich_video(in_video)

if os.path.exists(out_video):
    os.remove(out_video)

print(f'Output file exists (pre-stab):  {os.path.exists(out_video)}')
stabilizer = vidstab.VidStab()
stabilizer.stabilize(input_path=in_video, output_path=out_video)
print(f'Output file exists (post-stab): {os.path.exists(out_video)}')

Console Output
sys.version:
3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)]

vidstab version: 1.6.2
cv2 version:     4.1.0
Output file exists (pre-stab):  False
Output file exists (post-stab): True

Hi @AdamSpannbauer ,
thanks for your answer!
the output is below,  and it works fine for downloaded ostrich video.
C:\Users\idobrovolskyi\AppData\Local\Programs\Python\Python37-32\python.exe D:/Repo/my_pet_prj/video_stab
sys.version:
3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 21:26:53) [MSC v.1916 32 bit (Intel)]
vidstab version: 1.6.2
cv2 version:     4.1.0
Output file exists (pre-stab):  False
Output file exists (post-stab): True
Process finished with exit code 0
then i had commented line vidstab.download_ostrich_video(in_video) and replaced in_video with my video.  The result is the same :)
So it works if video files are located in script dir.

To clarify, I'm able to change the location of the work_dir and the processing still work as intended (see below screenshot).  At this point, I'm not sure what else to try to recreate this issue for debugging.

you should not change work dir, just put in_video and out_video somewhere out of the workdir

I think you misunderstood my intention when I said: "change the location of the work_dir".  I didn't mean I changed the working directory (akin to os.chdir()), but rather that I changed the value of the work_dir variable in the script I posted (i.e. that the videos were loaded/saved outside of the working directory).
That's my fault on poor variable naming.  The work_dir variable in my debug script should probably be named video_location or something like that.

Hi @evgdobr any follow-up on this?  Does the debug script I shared with you work on your machine if you change the value of the work_dir variable to your desired location?

hi,
yes, it works, hence the problem is in my video

Would you be comfortable sharing the video? I'd be happy to help debug the issue if I can recreate it. I, of course, understand if you'd rather not share the input video.

Would you be comfortable sharing the video? I'd be happy to help debug the issue if I can recreate it. I, of course, understand if you'd rather not share the input video.

i had sent it yo your e-mail.