Source date handler improvement

Changes

Source date changes are now calculated by diff. This improves change accuracy a whole bunch, and has better support for undo-redo.
Ability to colorise lines based on search filter
Hover messages on source date gutter

Closes #819 and #279.

To test

Enable source dates
Enable source date gutter
Apply search date filter

Checklist

[x] have tested my change
[x] updated relevant documentation
[ ] Remove any/all console.logs I added
[x] eslint is not complaining
[ ] have added myself to the contributors' list in CONTRIBUTING.md
[x] for feature PRs: PR only includes one feature enhancement.

Well, I did some rudimentary testing. What little I tried did seem better than the previous scheme, but there is still a very simple way in which it behaves weirdly:
If I insert a line somewhere in the middle of the member, the data (SRCDTA) gets shifted down as one would expect, but the dates (SRCDAT) stay where they are, and a zero gets put at the very end. See below.
Before edit:

After adding 1 line, things get wonky:

Then somehow after adding another line, things are the way they should be:

Obviously, this is something that would need to be resolved before using VS Code in earnest in a source-date-sensitive shop. I have to stress that I've done very little testing. This is just something that popped up right away. Further testing could well uncover other issues.

@jkyeung A new build is available which should solve this issue.
Check it out and let me know what you find.

OK, here is the latest weirdness. Before edit:

About to delete two lines. Notice that what we would expect is 5 consecutive lines with date 961112; namely, what's depicted here as lines 472, 473, 476, 477, and 478:

But after deleting those two lines, somehow today's date got in there (at line 473):

And if I press Enter again to add another line, the dates shift around. Now 473 is back to the old date (which is correct) and the MOVE 'C' line (now 475) has today's date:

Thanks @jkyeung and @jwoehr for testing. The last remaining thing to do before a merge is to fix the range validators and make sure each date are just digits instead of checking if it's a number.

Extra note from @jkyeung

It looks weird to see "Since YYMMDD-YYMMDD". If it's a range, maybe change "Since" to "From".

Unfortunately, I've observed some more weirdness. Here I'm about to cut (Ctrl+X) the line marked A:

This is what happens when I paste it below the line marked C. Note that the line marked B has had its date changed. One would expect B to stay what it was and A to have today's date:

Finally, some extra weirdness unrelated to the numeric values of the dates. Here is what happens after dedenting (Shift+Tab) line 99 followed by (re)indenting it:

Ha, it must be assuming because the line number changed it's an updated line ... the date is going with the changed line value, rather than being tied to the content itself.

Approved. @jkyeung confirmed he is happy with the state of the branch.

Finally getting around to testing this.  found an issue:

After pressing ENTER at the cursor on line 19

should the source line be tagged with the date, or the blank line that was added?  I think the blank line only.
If I hit enter a couple more times, the new blank lines are tagged with the date, but the original line 19 was not:

Here I'm about to delete line 172, dated 220805. Note that lines 169, 170, 171, and 173 are all dated 990426, so after the deletion, there should be four lines in a row dated 990426:

But instead, one of those old lines gets the date which should have been deleted:

Well, the good news is that I haven't been able reproduce the problem using the latest build (which is the first one with 1.5.10 listed as the version).
The bad news is I haven't been able to reproduce the problem using the previous build either. Why this is bad is that I therefore cannot really establish that the new build fixed anything. And not being able to reproduce a behavior... certainly doesn't inspire confidence.
So we're back to where we were yesterday, which is: I doubt this code is bug-free, but I also doubt that I can reliably find any more buggy behavior in a short time, so probably the best thing to do is just release it, and if there are any remaining bugs, at least there will be a lot more testers.

@jkyeung I actually found the issue again and think I solved it this time.

Yeah, I stumbled on a way to reproduce the thing I just said I couldn't reproduce, and you probably stumbled on it too.
Just tried the latest build, and this time I can confirm: Couldn't reproduce the buggy behavior in the latest build, but reinstalling the previous build, I could reproduce it.
So, this does make me feel better, and I'm excited for its release!

This is truly just a comment, and not a bug report.
It's interesting. I've been using the latest and greatest build, and I observed more weirdness when cutting a bunch of lines and pasting them a few lines down from where they had been. Here's before the cut:

And here's after the paste:

What I expected was that the 5 lines I pasted would get today's date, and everything else would stay the same. From my perspective, I moved the 5 lines marked by the blue box and didn't touch the 3 lines marked by the red box.
I was dismayed at first, but then it hit me: As far as the diff algorithm is concerned, the net result of moving the blue box lines down is indistinguishable from moving the red box lines up! In this case, it chose to update the lines producing the smaller diff.
In this light, I went back and looked at a previous "bug" report and saw the same thing: From my perspective, I moved line A below lines B and C; but I could just as well have moved lines B and C above line A.
So, ultimately the exhibited behavior may be "correct" in some sense, but it feels kind of spooky and out of my control. And this precisely illustrates my initial doubts about a diff-based approach, rather than tracking actual user actions.
When I asked "What will be diffed against what?" I guess what I was after (now that I can see it in action) is: Will you be able to treat a cut followed by a paste as two separate actions? Because it seems like the general diff approach could still produce intuitive behavior if only we could force a snapshot to be taken after a cut, and have the result of the paste diffed against that.

OK, I've been trying to just go about my business and adjust my expectations regarding "equivalent edits". But in a particularly intricate sequence of individual user actions (delete a line, delete another nearby line, copy a different line and paste it a few lines down, copy another line and paste it on the line after that), the date behavior was just getting weirder and weirder until I couldn't reason about it anymore, even armed with the insight I expressed in my previous comment.
I can produce some screenshots if you really need them, but I am getting the distinct impression that what's happening is the differ is comparing the current buffer contents against the previous saved buffer contents. So some old dates from deleted lines can be resurrected if you happen to create a new line with the same content in the right place. From a user's perspective, it is utterly bizarre.
You did say, from the very early stages of tossing around the idea of using diffs, that you could compare the current buffer to the last saved buffer, and I kind of challenged you on that. I'm not sure everything I said at that time really sunk in for you, perhaps because there were multiple conversations going on at the same time. Besides completely unrelated stuff, even the conversation about source dates essentially had two concurrent threads going (one focused on the change-event scheme, the other on the diff scheme).
Here is an excerpt from Ryver, starting on "Tue Aug 16 at 2:20pm" (I don't know if everyone sees their own localized time; that's just what was on my screen):

John Y. Tue Aug 16 at 2:20pm
Hmm... when a change event comes, is there a way to know anything about the state of the document before the change? For example, can you tell whether ENTER was pressed while the cursor was in the middle of a line?
Liam Barry
I don't believe so.
John Y.
Hmm... not knowing the pre-change state could make it fundamentally impossible to ensure sensible date behavior.
People who, for whatever reason, need the dates to be accurate would need to really contort their editing style, to the point where I'm not sure it would be an advantage over just using SEU, frankly.
Liam Barry
I can confirm, the document in the event is the document post edit
The other way we could do it is to do a pure diff of when the file is opened/last saved to the current dirty one. But I am worried about performance if the file is huge.
John Y.
I agree, a whole-buffer diff sounds unreasonably expensive. And you need the buffer immediately before the change, which could be very different from the buffer at the last clean point. [emphasis added here]
Liam Barry
I will think about it over some beers tonight. That usually helps. Source dates is an incredibly tricky one.. it has been through many iterations before what it is now
John Y.
Conceptually, I think you would need the change event object to not just include the changed range coordinates, but the changed range contents.
I don't know how much you can monkey-patch the change object.
Liam Barry
You cannot, really
John Y.
So, I think the best you can do with the existing scheme is to be more eager about changing dates (for example, pressing Enter on pre-change line N would cause post-change N and N+1 to have today's date, even if you pressed Enter at the end of the original line N, so intuitively speaking, it should keep its old date).
John Y.
Hmm... well, without monkey-patching, I think you might be able to always keep your own copy of the pre-change buffer (by saving the post-change state after each change, assuming you have some kind of static storage, to be used as the pre-change state for the next change). Then you could use that to get the content of the pre-change range. I think saving the whole buffer to memory might be quicker than a proper diff, but still could be slow for big documents and potentially susceptible to actions in VS Code that change the buffer without firing a change event.
Liam Barry
I am going to give this package a whirl to track changes. It won't be until tomorrow but it looks promising. https://github.com/micnil/vscode-diff
John Y.
If it looks promising to you, then I'm eager to find out what you manage to do with it. I am personally a little leery of relying on any diff algorithm, no matter how fast or how elaborate, because I haven't seen one which gets things 100% correct, 100% of the time. Classic example: you've inserted an if..endif block, but the differ thinks you inserted the immediately preceding endif but not the one you actually inserted.
I think a differ might be good for ignoring times you've inserted a character and then immediately deleted it, so there's no net change, but SEU would change the date anyway because it's been touched.
Liam Barry
I think the diff is likely the safest way to get the changes in a document. The way we have now works, but it's prone to becoming out of sync with changes.

So, as it stands, this PR is significantly better than what it replaces. And for relatively simple maintenance (which is typical for RPG codebases at most places, I'll bet), it works well. But for intensive editing... I don't know. My comment about contorting one's editing style had been about the change event, but it also applies to the current diff scheme, since neither captures enough information about the state of the buffer immediately before any given change. For example, what I've been doing while testing, and what I'll probably have to continue to do to be confident I'm not making the dates wonky, is to make a copy of the member I really want to work on, work on the copy in VS Code, save it, and then replicate the changes in SEU on the real member, until both versions match (aside from the dates). Perhaps if I can get into the habit of saving after every change in VS Code, then I can skip the SEU step. Or maybe use VS Code's autosave?

@jkyeung Thanks for the feedback here. It goes a long way. I am starting to get more worried about merging this PR in, and instead should consider keeping the existing method but just adding minor improvements to that instead. At least with the existing method, it's much easier to track changes (since we track every change and don't use a diff). I will have to look into if I can just make the original stuff better.

I have decided to re-open this as I am more confident after finding a new way to test that the new diff based method is ok to you.
When you have a member open with dates, open the command palette with F1 and search 'compare active file with saved'. This will show you a diff, but will allow you to see that the lines that have changed have the correct dates based on the diff.

@jkyeung Take a look at my above comment and give that a go for me. Let me know what you think.

@worksofliam in reference to your comment
Decided to test this out. It's improved but there's still some weirdness.
Simple Test:

Write a new if block (if sStatus <> '')
Move an old if block below new if block (if $cust = *blanks)

Current v1.5.13:

Highlighting is good. Date codes are just wrong. Oddly enough if I exit this compare, delete my code, and add it again the dates appear.
PR 824:

Dates are better. Highlighting is fine, it looks like it is a little confused on an existing endif; but it's not wrong there was an endif; added. The only weirdness I see is the fact the highlighted dates don't match up with the highlighting from the diff.
Ideally I'd expect to see something like this where all the date and diff highlighting align.
Photoshopped:

@Wright4i Good find and great review. I will have to see about finding that issue later this week. This source date branch is tricky to get right, but when it's right it will be great.

So, this seems understandably stalled, but it would be great if there were some way to opt in to this source date handling, even though it's experimental. Installing from VSIX isn't hard, but the last one was for 1.5.10, and as of this writing, the released version is 1.5.23.
Obviously the most user-friendly way would be some kind of setting/configuration in the released extension that enables this. I don't know how difficult it would be to have two selectable source date handlers in the same extension.
Some other alternatives that I can think of, with varying levels of annoyingness for either the extension maintainer or users or both:

Provide a downloadable VSIX with the alternate source date handling for each new release.
Post detailed instructions that users can follow to build these for themselves.
Publish an alternative extension with a slightly different name, that perhaps would not get updates as frequently as the main extension, but that users could leave installed with autoupdate on and still not lose the alternative source date handling when a new version comes along.

What might be the least annoying of all, for both maintainer and users, is to just go ahead and merge this. Right now, as I see it, the released source date handling is not producing complaintsbug reports from users because it's so unusable that no one has it turned on. Merging this PR (and announcing the change "loudly" enough, to the right channels) might entice more people to try it. And as mentioned above, for small edits, or for people who save frequently, it may well work reliably enough that people don't see the weirdness too often. And those who do see it might provide feedback to help refine it.
Now, I should say that it's possible that my editing style and way of using VS Code is incredibly different than most other people, and perhaps there are plenty of Code for i users that have source dates turned on and are reasonably happy with it. If that's the case, then I guess merging this may be risky. But in its current state, I cannot really use the release version of Code for i except as an occasional read-only source browser.

@jkyeung Sorry that it has stalled.
I will do two things:

Update this branch to the latest version and let a new VSIX build. That will show here automatically when I am done.
Actually allow you to switch to this new version in the release version. That will be good for testing.

Liam

If I had known it was not a big deal to have both source date schemes in production, I would have suggested it way earlier! 😀:tada:


[BUG] Base network icon logo seems to not be working out of the box

Describe the bug
It seems that Base logo is not working, I can see in this PR, add base + zora logos,  that support was added but if we look at the docs or after trying it on stackly.app, it's seems to not be working.
On other networks that we support was good out of the box, hence might be something wrong.
Can someone guide me if I'm doing things correctly? or is connectkit issue?
Thanks so much for the awesome lib.
To reproduce
Add base network, check Base network.
Expected behavior
It should show the network logo as it does on other networks (arbitrum, mainnet, gnosis, etc).
Screenshots
Config

Not working by default

Seems to not be working on docs as well
https://docs.family.co/connectkit/chains#chains-chains-networks

Environment details
Here is our current versions, I think they are the latest:
    "connectkit": "^1.8.2",
    "viem": "2.21.55",
    "wagmi": "2.14.1"

Add any other context about the problem here.

I think the update with Base + Zora was not release yet, any estimation on the release date?


2.0.3 pytest parameters are not recognized

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
Hi! When trying to package 2.0.3 for Arch Linux I ran into issue trying to test pydantic:
I'm installing pydantic into a temporary directory to test it using pytest: https://gitlab.archlinux.org/archlinux/packaging/packages/python-pydantic/-/blob/c3c3d14480382723577c6532a496b9b90bc808fd/PKGBUILD#L52-66
Unfortunately with 2.0.3 I am running into:
ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: --benchmark-columns --benchmark-group-by group --benchmark-warmup on --benchmark-disable
  inifile: /build/python-pydantic/src/pydantic-2.0.3/pyproject.toml
  rootdir: /build/python-pydantic/src/pydantic-2.0.3

I have seen this with pydantic-core as well and there I had to manually sed the benchmark-related parameters out of the pyproject.toml. I'm a bit clueless as to why this fails though.
Example Code
n/a

Python, Pydantic & OS Version
I'm building from the 2.0.3 tarball from github.

Selected Assignee: @samuelcolvin

You need pytest-benchmark installed as per the  install instructions.

Oh, my bad... I didn't see that! Sorry.


Add example of using sol! to remove_liquidity

Add an example of using sol! to remove_liquidity, similar to existing ethers-rs examples:
https://github.com/gakonst/ethers-rs/blob/master/examples/transactions/examples/remove_liquidity.rs
Thank you for considering this request.

Hi @Degen-Player, thanks for your suggestion
I'm going to split up the ticket into individual tickets so they can be picked up individually

Thank you very much!

@Degen-Player
Regarding your request:

Demonstrate the usage of Ethereum as well as at least one other blockchain.
Instructions on how to create a signer for a blockchain other than Ethereum.

Just to be sure, when you refer to other blockchains, do you mean an other EVM-compatible networks (Optimism, Arbitrum, etc..) and how to instantiate and use multiple providers?
Alloy is currently streamlined for Ethereum-like networks though it does offer the ability for advanced users to implement their own. This is currently considered out of scope for these examples and will likely be added to the documentation.

Just to be sure, when you refer to other blockchains, do you mean an other EVM-compatible networks (Optimism, Arbitrum, etc..) and how to instantiate and use multiple providers?

exactly !


Label advertisements on topical homepages

To minimize potential confusion related to the intent of the advertisements on the topical toolkit pages, add a label to indicate that it is an advertisement.

Could say either "Advertisement" or "Sponsored Ad"


Fixes

Hey, I really like the simplicity of this DM, but I found a few bugs when using it. Decided to see if I could fix them.
The first one is a quick one, due to a typo the username wasn't getting properly copied from the save file. Fixed it and switched to strcpy for lisibility.
The second one is initialising the user's groups when logging, without that the user session is created with only the default group.

Thank you for your contribution! This save file bug is a shame really, I'm sorry it caused you trouble.
For the user groups it explains a lot of things... I'm glad you figured that out ^^. Your PR looks good to me, could you run astyle with this config on your modifications before I merge? Thanks again!

I just noticed you created a new "passwd" pointer named "pw" ; I already use one called "pwd". Could you fix that ? (or maybe there is something I don't understand ?)

I fixed the styling. The pw pointer is a pointer to the structure returned by getpwnam, needed to get the group id of the user's main group. It's necessary because for some reason you're forced to provide a group id to initgroups, the function that reads groups from /etc/groups and assign the user's to the session we're creating. You don't want to assign a random group to the user (during my testing I tried initgroups(username, 0) and ended up with my user in the root group), and the easiest way I found to get a group the user is in is using this password structure.
There might be better ways to do it, but I'm a noob regarding the authentication API :)


is it possible to download videos by passing in extractor key & video id?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.07.06 (update instructions) or later (specify commit)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
i'm interested in this for "refreshing infojsons", as i use yt-dlp as a library for another program. sometimes the download urls inside gets too old and stops working before i use them so i need to fetch a new infojson.
running yt-dlp with the same webpage_url does work but there's an edge case where an extractor returns back the playlist's url inside each video's webpage_url which could cause excessive unnecessary extraction/downloads (Steam extractor comes to mind, it can download videos on a store page. each video does have it's own id but the webpage_url returned is the store page)
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

For some sites, you can reconstruct the URL from just id. But in general, no, it isn't possible

there's an edge case where an extractor returns back the playlist's url inside each video's webpage_url

If this happens, that is a bug in the IE and can be reported as a "broken site"


Git Merge Resolve Dialog

Issue Type: Feature Request
This is a request for the ability, when a user resolves all of the merge conflicts in a file, for VS Code to ask whether they would like to mark the entire file as resolved in Git.
VS Code version: Code 1.36.1 (2213894ea0415ee8c85c5eea0d0ff81ecc191529, 2019-07-08T22:56:38.504Z)
OS version: Darwin x64 19.0.0

@chrmarti Since your extension already probes for conflict markers... shouldn't it be the one detecting this case?


Add SERVICE_INTERRUPT_WARNING env var and display it on login page if set

Acceptance criteria

It doesn't support HTML content and if I trust the acceptance criteria listed on the story it should?

Text overflow on mobile view
minor bug: text seems to overflow weirdly out of the box on a mobile view
yup this beautiful way of doing test data is in the open for all to see, "booya" seems to be one of my favourite phrases for some reason

Position on page
Maybe that box should be underneath the page title?
Also maybe not red for error but more an orange warning-y shade?

The text wrap bug isn't of huge importance - it's the browser trying to wrap text, where there's no spaces or good places to wrap.
In a "realistic" scenario text would wrap normally :)

@Demotive completely agreed to be honest don't think the warning is ever going to contain a long uninterrupted string without spaces ;)  @nickgravgaard please ignore that, removing it from previous comment :)


slow azure blob upload with the powershell action

Hi,
Uploading 3 small files (< 15 KB each) to an azure blob using the powershell action takes 3 minutes. For comparison, uploading the same files into a github release takes 1 second.
I am running something like this:
    - name: Publish to Azure blob
      uses: azure/powershell@v1
      with:
        inlineScript: |
          $context = New-AzStorageContext -StorageAccountName myaccount -SasToken "${{secrets.azureBlobQuerystring}}"
          Set-AzStorageBlobContent -File First.zip -Container mycontainer -Context $context.Context -Force
          Set-AzStorageBlobContent -File Second.zip -Container mycontainer -Context $context.Context -Force
          Set-AzStorageBlobContent -File Third.zip -Container mycontainer -Context $context.Context -Force
        azPSVersion: '3.1.0'

The above skips the login action since it uses a write only SaS token as we need to limit the access given in this repository. The length of the files as reported in the log by the powershell action are: 13278, 10807, 9747.
Is it expected? Is there any alternate way of running the action that avoids that? Should I use the cli action or even the rest API directly to upload the small files instead?

The problem with the azure action is worse, as depending on the run it can take much longer. I have 2 recent builds where one took 11 minutes and the other one 17, with no errors involved.
After hitting one of those 2 builds I have just moved to the rest API directly instead. Now its takes 1-2 seconds to publish all 3 files.
This is what I used:
curl -X PUT -H "x-ms-version: 2020-04-08" -H "Content-Type: application/octet-stream" -H "x-ms-blob-type: BlockBlob" \
  "https://myaccount.blob.core.windows.net/mycontainer/First.zip${{secrets.azureBlobQuerystring}}" \
  --data<EMAIL_ADDRESS>

The code shared earlier was uploading something but the zip was broken on downloads, here is the correct version / which is functionally correct and still takes 2 seconds:
- name: Publish to Azure blob
  run: |
    curl -X PUT -H "x-ms-version: 2020-04-08" -H "Content-Type: application/octet-stream" -H "x-ms-blob-type: BlockBlob" \
      "https://myaccount.blob.core.windows.net/mycontainer/First.zip${{secrets.azureBlobQuerystring}}" \
      --upload-file 'First.zip'
    curl -X PUT -H "x-ms-version: 2020-04-08" -H "Content-Type: application/octet-stream" -H "x-ms-blob-type: BlockBlob" \
      "https://myaccount.blob.core.windows.net/mycontainer/Second.zip${{secrets.azureBlobQuerystring}}" \
      --upload-file 'Second.zip'
    curl -X PUT -H "x-ms-version: 2020-04-08" -H "Content-Type: application/octet-stream" -H "x-ms-blob-type: BlockBlob" \
      "https://myaccount.blob.core.windows.net/mycontainer/Third.zip${{secrets.azureBlobQuerystring}}" \
      --upload-file 'Third.zip'

@freddyrios Assuming that the issue is fixed, closing this. Feel free to reopen incase the issue persists.

@BALAGA-GAYATRI the only reason this no longer affects me is because I no longer use the powershell action. Instead I use the rest API directly like stated above.
I would say this bug is as critical was it gets, as anybody running ending in this ticket while looking a solution to this issue will stop using the product i.e. the powershell action.

By the way, if that is no reason enough, think about the perception users get of Azure when they think uploading tiny blob files take 3 minutes. When in reality is the powershell action doing so.

hey @freddyrios the workaround with apis was misunderstood for solution. This issue is reopened and will be investigated.

Hey @freddyrios when I use this with azure/login@v1 action with enable-AzPSSession: true  and then executing powershell script for file upload takes 6s (3 files 6KB each). You can consider login action if you are looking for reducing the upload time.
For your reference -

workflow file
workflow run
Let us know if this helps.

hi @BALAGA-GAYATRI, we are using a sas token to limit the level of azure access we are giving to authors working on that repository and its workflow.
If this issue only triggers when using sas tokens instead of an account login, then perhaps our use case isn't very common.
For our specific case the trade off of keeping our advanced scenario by going to the rest API is reasonable.

hey @freddyrios If scope of the access is the concern, we use azure service principal credentials where the scope of the access can be restricted to access any particular resource / resource-group / subscription.
Visit login action readme for the rbac command used in generating credentials and visit scopes doc for understanding on setting scopes in the above command.

@BALAGA-GAYATRI thanks for sharing that. When we have another reason to change that workflow, we will give it a try / closer look.
I am ok to close it, given the issue only happens when using sas tokens instead of azure service principals, so people have 2 options:

use azure service principals / azure active directory instead of sas tokens
use the rest API (if not possible to use the above)


Update basis universal to version 1.16.3.

Part of https://github.com/godotengine/godot-proposals/issues/4271
Updates Basis Universal to a newer version and switches to UASTC.
Using https://github.com/Miraikomachi/MiraikomachiVRM/blob/master/Miraikomachi.vrm.
Future work is to add custom mipmaps support from basis universal.
@reduz
Before (button has corruption)

After

DXT5

Thanks!


ElasticSearch 5 support, bug in results / grouping

Have discovered a potential bug when using bosun compiled with 'go build -tags="esv5" '
Is related to elasticsearch - escount() function results, when using tagkeys.
The following simple Expression is being used to reproduce the issue:

$index = esdaily("@timestamp", "*" , "2006-01-02")
$minute = 1
$bucketSize = "${minute}m"
$keyField = "zone"
$es_search_time_duration = "5m"
$filter = esall()
["legacy"]escount($index , $keyField, $filter, $bucketSize, $es_search_time_duration , "")_

field string named "zone"($keyField) is being used to group the ElasticSearch results under the same tag key.
There are a total of 33 different "zone" keyfields in all indices of the ElasticSearch service that is being queried.
Bosun compiled without "esv5" tag produces complete results, and returns results for all 33 different "zone" keyfields.

Bosun compiled with "esv5" tag produces incomplete results, and returns results only for the first 10 "zone" keyfields, and ignores testing against the remaining 23 groups.

This produces incomplete ES results to test against, and makes elasticsearch 5.0 support unusable.
Bosun build used is compiled from master , Bosun_0.7.0_git_master_77a972c
2 builds used, one compiled with go build -tags="esv5" , and one without the esv5 tag.
Able to reproduce the issue, every time, also confirmed using different ElasticSearch servers.

Something to mention, that could be significant:
When using the following expression, to sum all the documents produced in the last 5 minutes, and compare the non esv5 build with the esv5 build:

$index = esdaily("@timestamp", "*" , "2006-01-02")
$minute = 1
$bucketSize = "${minute}m"
$keyField = ""
$es_search_time_duration = "5m"
$filter = esall()
sum(["legacy"]escount($index , $keyField, $filter, $bucketSize, $es_search_time_duration , ""))

_
Bosun compiled without "esv5" tag:

Bosun compiled with "esv5" tag:

Documents count is the same (slight difference is because of 2-3 seconds ahead in the count of the documents between the 2 builds - new documents being pushed in ES).
Therefore the complete document count is available in both  "non esv5 build", and the "esv5 build".
Something seems to be broken, in the "grouping"/"tag key" functionality of the esv5 build.

Further testing, with 2 KeyFields (2 groups) :
_

$index = esdaily("@timestamp", "*" , "2006-01-02")
$minute = 1
$bucketSize = "${minute}m"
$keyField = "zone,rack"
$es_search_time_duration = "5m"
$filter = esall()
["legacy"]escount($index , $keyField, $filter, $bucketSize, $es_search_time_duration , "")
_

Bosun compiled without "esv5" tag returns all 68 groups.
Bosun compiled with "esv5" tag returns 23 groups.
Multiple group tags(2), change the groups returned from 10 to 23 for the esv5 enabled build.
Let me know if I can help with further debugging this.

I send a agg request to esv5 directly without "size" in "agg",and it returns only 10 groups. So I feel this is limited by esv5.


Carousel Imperfect ？Borrowed react-slick

Carousel Imperfect ？Borrowed react-slick
react-slick  this is an excellent component library

@gonghengda what？


service "rancher-webhook" not found error when helm install rancher

If this is a UI issue, please file an issue at https://github.com/rancher/dashboard/
Rancher Server Setup

Rancher version: 2.6.0-rc1
Installation option (Docker install/Helm Chart): helm

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): rke1 v1.20.9

Proxy/Cert Details: none

Describe the bug

failed to do helm install rancher into an RKE cluster following the standard steps
The error happens in ~both fresh install and~ reinstall cases
To Reproduce

use the following command to install Rancher
> helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --version v2.6.0-rc1 \
  --set hostname=my-rancher.com --create-namespace --wait

Result
helm fails with the following error:
Error: create: failed to create: Internal error occurred: failed calling webhook "rancher.cattle.io": Post "https://rancher-webhook.cattle-system.svc:443/v1/webhook/mutation?timeout=10s": service "rancher-webhook" not found

Expected Result

Helm should install Rancher successfully

From my understanding, easiest way to reproduce and test is to install Rancher, uninstall Rancher and install Rancher again.

Cause:
When the rancher-webhook app is uninstalled, it will leave the resource MutatingWebhookConfiguration named rancher.cattle.io, which prevents us from re-installing Rancher into the cluster.

Available with v2.6.0-rc3

Waiting for a new release of the rancher-webhook app

need to update the value of CATTLE_RANCHER_WEBHOOK_MIN_VERSION when cutting rancher rc

can be tested in rancher-webhook 0.2.0-beta05
wait for a Rancher RC

To test this fix:

install rancher in HA mode (helm install)
wait for the rancher-webhook app to be installed, the app is managed by Rancher.
wait until a MutatingWebhookConfiguration named rancher.cattle.io is created

> k get MutatingWebhookConfiguration
NAME                             WEBHOOKS   AGE
mutating-webhook-configuration   7          48m
rancher.cattle.io                2          46m

uninstall Rancher
the above-mentioned MutatingWebhookConfiguration should be deleted along with rancher and rancher-webhook

Available to test with v2.6.0-rc5.

arvindiyengar: ~
$ rke --version
rke version v1.2.11

Steps to Reproduce

Provision a node and install Docker on it: curl https://releases.rancher.com/install-docker/20.10.sh | sh
Create an A record pointing at the node; this will be HOSTNAME
On my local machine, run rke up using the following cluster.yml, supplying the path to the SSH keys to the node under SSH_KEY_PATH:

nodes:
  - address: HOSTNAME
    user: root
    role:
      - controlplane
      - etcd
      - worker
    ssh_key_path: SSH_KEY_PATH
ssh_agent_auth: true

Run export KUBECONFIG=kube_config_cluster.yml in the directory that you ran rke up within
Run the following command to get the cluster ready to install Rancher by getting cert-manager installed:

# RANCHER_VERSION=v2.6.0-rc1
RANCHER_VERSION=v2.6.0-rc5

helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
helm repo add jetstack https://charts.jetstack.io
helm repo update

kubectl create namespace cattle-system

kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.crds.yaml
kubectl create namespace cert-manager
helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --version v1.0.4

Once cert-manager pods are all ready, run the following command to install Rancher in the cluster

helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --version ${RANCHER_VERSION} \
  --set hostname=${HOSTNAME} --create-namespace

Ensure that the MutatingWebhookConfiguration named rancher.cattle.io was created: kubectl get MutatingWebhookConfiguration. This takes a minute or so to be created.
Uninstall Rancher: helm uninstall rancher --namespace cattle-system
Check if the MutatingWebhookConfiguration named rancher.cattle.io was deleted post-install: kubectl get MutatingWebhookConfiguration. This should be true when reproducing and false after.
Reinstall Rancher:

# RANCHER_VERSION=v2.6.0-rc1
RANCHER_VERSION=v2.6.0-rc5

helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --version ${RANCHER_VERSION} \
  --set hostname=${HOSTNAME} --create-namespace

2.6.0-rc1
arvindiyengar: ~/Downloads/test2/est2/260_rc1
$ kubectl get MutatingWebhookConfiguration
NAME                             WEBHOOKS   AGE
cert-manager-webhook             1          2m21s
mutating-webhook-configuration   7          93s
rancher.cattle.io                2          0s
arvindiyengar: ~/Downloads/test2/est2/260_rc1
$ helm uninstall rancher --namespace cattle-system
release "rancher" uninstalled
arvindiyengar: ~/Downloads/test2/est2/260_rc1
$ kubectl get MutatingWebhookConfiguration -A
NAME                             WEBHOOKS   AGE
cert-manager-webhook             1          5m6s
mutating-webhook-configuration   7          4m18s
rancher.cattle.io                2          2m45s
arvindiyengar: ~/Downloads/test2/est2/260_rc1
$ helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --version ${RANCHER_VERSION} \
  --set hostname=${HOSTNAME} --create-namespace
Error: create: failed to create: Internal error occurred: failed calling webhook "rancher.cattle.io": Post "https://rancher-webhook.cattle-system.svc:443/v1/webhook/mutation?timeout=10s": service "rancher-webhook" not found

Reproduced error on ticket.
2.6.0-rc5
arvindiyengar: ~/Downloads/test2/est2/260_rc5
$ kubectl get MutatingWebhookConfiguration
NAME                             WEBHOOKS   AGE
cert-manager-webhook             1          3m28s
mutating-webhook-configuration   7          2m23s
rancher.cattle.io                2          66s
arvindiyengar: ~/Downloads/test2/est2/260_rc5
$ helm uninstall rancher --namespace cattle-system
release "rancher" uninstalled
arvindiyengar: ~/Downloads/test2/est2/260_rc5
$ kubectl get MutatingWebhookConfiguration
NAME                             WEBHOOKS   AGE
cert-manager-webhook             1          5m45s
mutating-webhook-configuration   7          4m40s
arvindiyengar: ~/Downloads/test2/est2/260_rc5
$ helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --version ${RANCHER_VERSION} \
  --set hostname=${HOSTNAME} --create-namespace
NAME: rancher
LAST DEPLOYED: Mon Aug 23 17:44:06 2021
NAMESPACE: cattle-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Rancher Server has been installed.

NOTE: Rancher may take several minutes to fully initialize. Please standby while Certificates are being issued, Containers are started and the Ingress rule comes up.

Check out our docs at https://rancher.com/docs/

If you provided your own bootstrap password during installation, browse to https://arvind-260rc5.cp-dev.rancher.space to get started.

If this is the first time you installed Rancher, get started by running this command and clicking the URL it generates:

\`\`\`
echo https://arvind-260rc5.cp-dev.rancher.space/dashboard/?setup=$(kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}')
\`\`\`

To get just the bootstrap password on its own, run:

\`\`\`
kubectl get secret --namespace cattle-system bootstrap-secret -o go-template='{{.data.bootstrapPassword|base64decode}}{{ "\n" }}'
\`\`\`

Happy Containering!

Looks like the fix worked!

@jiaqiluo just to confirm before closing, there are no upgrade scenarios to test right?
Last we talked, I recall that it was impossible for us to fix previously broken Rancher installations without a manual workaround (e.g. kubectl delete MutatingWebhookConfiguration -n cattle-system rancher.cattle.io) due to the fact that the MutatingWebhookConfiguration blocks the ability for Helm to create a Secret for the release itself before issuing any pre-install hooks.
Do we have a release note for this yet? I don't see a label for that on this issue. cc: @Jono-SUSE-Rancher
Do I need to test the manual workaround for an existing installation as well? cc: @sowmyav27

Reopened to confirm details in https://github.com/rancher/rancher/issues/33988#issuecomment-904233494 before closing.

What @aiyengar2 did is correct and sufficient to validate the fix.
Moving this issue back to to-test and assigning it to @sowmyav27

Adding release-note label to clarify that older installations still need manual fix.

Got the issue after uninstalling Rancher 2.6.4.

@cbron is there a link to the final resolution? I'm not finding anything.

step1: kubectl delete -n cattle-system MutatingWebhookConfiguration rancher.cattle.io
step2: helm install rancher ........


Read/Write values to a "virtual device" with a 4-byte mac address.

Node Version: 16.3.0
Node BACstack Version: 0.2.4

[ ] Bug Report
[ ] Feature Request
[X] Question

Note: Make sure you have read the FAQs
before logging this issue.
Feature Request / Question
I'm trying to communicate with a "virtual" device that contains a 4-byte MAC address as seen in the attached Wireshark capture. I can see the devices perfectly fine in YABE, but I cannot discover these devices during a whoIs and haven't been successful with readProperty either.

You could try using the below to whoIs for all networks
client.whoIs({net: 0xFFFF})

and for that specific device you could try
client.readProperty({address: '<IP_ADDRESS>', net: 3373, adr: [129, 150, 152, 0]}, {type: 8, instance: 71312}, 77, (err, val) => {console.log(val)})

the adr may be wrong on that, i have assumed it is the 4 byte mac

This worked perfectly! Thanks a bunch.


Use npm ci instead of npm install?

Sounds like all this does is uses the package-lock.json instead of package.json. If this is the only difference then that's great. Not sure if it's expecting some sort of dir to be cached across builds though. If that's the case then there could be problems. Otherwise this sounds good
https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable

It looks like the original assumption is right. The main difference does seem to just be that it uses package-lock.json rather than package.json. Overall, I definitely think we want to switch over to using this instead of npm install when running this inside jobs. Other small differences are that it won't potentially upgrade packages for you (i.e. write to package.json, which obviously we wouldn't want).
Here's some links to research that I did for in depth information:
https://www.google.com/search?q=npm+ci+vs+npm+install
https://docs.npmjs.com/cli/ci.html#:~:text=In short%2C the main differences,have an existing package-lock.&text=json %2C npm ci will exit,be added with this command.
https://stackoverflow.com/questions/52499617/what-is-the-difference-between-npm-install-and-npm-ci

Closed by https://github.com/ScottG489/diff-info-service-ui/commit/cf5256c2b5c9d6857375e7575019ff8ddb88f33e


Question: Does the asciimatics multiline text widget support a read-only scrolling log?

Is your feature request related to a problem? Please describe.
I have an application that needs a tui to support three refreshable but fixed-size text boxes for status information, one command input text box, and one large "log" text box occupying most of the terminal window where the messages describing the results of requested commands are appended to the contents of the log box for the entire time the application runs.  The log box has to maintain all lines printed there in memory for re-display at any time.
Describe the solution you'd like
I want the user to be able to tab to the log window and scroll up and down ALL of the messages printed in that box from the start of the application.  The user should also be able to highlight and copy text via arrow and shift keys (or the mouse) and "copy" commands like Ctrl-C and then be able to use Ctrl-V to paste the copied text into the command window.  Scrolling up and down the log messages should be possible at least with PGUP/PGDN/Ctrl-Home for beginning of log lines/Ctrl-End for end of log lines.  A scroll-bar that the mouse can manipulate and mouse-wheel support for scrolling up and down the log window would be nice extras.
Describe alternatives you've considered
I've looked at using ncurses/windows-curses, the "rich" project and the pysimplegui project.  Pysimplegui comes closest so far, but I would really like a purely terminal-window solution rather than an actual GUI.  The curses solution is not very portable, as I have found too many critical differences between the python ncurses and PDCurses implementations.  It is also not friendly to simple escape-sequence text color control.  "Rich" has a lot but no support for separate windows on a larger screen, it's all just one "window".
I do not actually need (or want) the user to be able to modify the messages printed in the log box, and in fact it would be very useful if the log box was "read only" and could not be modified.
Additional context
It would be helpful if no "graphical" prerequisites needed to be installed when an application using asciimatics is installed, only whatever is needed to display and input text.  This application is a purely text-based one, so requiring a user to also install graphical prerequisites seems like a bit much.
TIA for your help.
Peter

Thank you again for a prompt response.
I expect that memory for the log text in this application will not be an issue since the total expected non-stop usage time is under an hour per single usage (and probably less in normal circumstances) and therefore the expected message output isn't anywhere near the gigabyte range, and probably only in the 10's of megabytes at worst.  I will however plan on setting up log memory usage monitoring (perhaps with a high-usage alert function) in the log message code to verify my expectations.
Your explanation of how text boxes are actually updated is appreciated.  I can deal with that.
Not having Ctrl or Meta key combination support is disappointing but not a show stopper.  I can think of at least one workaround: giving the user instructions to press Home first and then PGUP as a second keystroke (with no intervening keystrokes) to get "go to beginning of log" behavior and similarly End and then PGDN for "go to end of log" behavior.  Not totally intuitive, but workable.  Maybe a popup for navigation instructions to help.
BTW, I do know from experience that both ncurses and PDCurses implementations do reasonably reliably support Ctrl-key and even some Meta-key combination inputs via the getkey() function.  If all you use is the getch() function it is far more "interesting" to implement, especially for multi-platform support.  BTDTGTTS.
I will certainly check out the terminal.py example as you suggest.
Lack of rgb color manipulation support is understandable (it's complicated and tricky, as I well know after trying to support it for curses), and not really necessary for my application.  That was mostly a question out of curiosity rather than from any actual need.  Index support for access to any available expanded terminal colors is excellent and mainly what I may need anyway.
As for mouse-wheel support, I can see from the link you provided that there are linux terminal issues but since I plan to provide a version for Windows as well as for linux, compatibility across the platforms is far more important than "nice to have" capabilities like mouse-wheel support for scrolling.
All in all, I think you have convinced me that it will be worth my time to give asciimatics a try.  I will post other questions / issues as / if I encounter them.
Thank you again,
Peter


Required fields are not listed in apim create --help output

This is autogenerated. Please review and update as needed.
Describe the bug
A user must specify --publisher-name when creating a new APIM resource. This is not currently documented.
Command Name
az apim create
Errors:
validation error: Parameter 'ApiManagementServiceResource.publisher_name' can not be None.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az apim create --name {} -g {} -l {} --publisher-email {}

Expected Behavior
The output of --help should look something like
--publisher-name [Required] : The name of your organization for use in the developer portal
                                     and e-mail notifications.

Environment Summary
Darwin-17.4.0-x86_64-i386-64bit
Python 3.7.4
Shell: bash

azure-cli 2.0.72 *

Additional Context

@zikalino please take a look.


Document why why only prefetch one message

This comment was taken from the email-alert-service and explains why we prefetch only one message: https://github.com/alphagov/email-alert-service/commit/30eb96fbd36363e7c79d72d505e69db84f20e1b8

:clap:


Secondary color image in the reference frame of primary color image?

I'm using a stereo camera pair and code that is roughly based on the greenscreen example. I've been able to write out the secondary camera's depth image transformed into the perspective of the primary color camera using:
successful = k4a_transformation_depth_image_to_color_camera(k4a_transformation_t seconday_depth_to_main_color, k4a_image_t secondary_depth_image, k4a_image_t transformed_image);
shown here is the primary depth image in the primary color reference, the untransformed secondary depth image (secondary color reference), and the transformed secondary depth image (primary color reference frame):

I'd like to get a similar result to the last image, but where the secondary color image is shown in the primary color's reference, but the only k4a functions seem to be depth--> color or color--> depth. Is there any way to accomplish this with k4a functions? or would this OpenCV territory?

When you refer to stereo cameras do you mean two Azure Kinect cameras? The greenscreen samples demonstrates calibrating two Azure Kinect cameras and then transforming the depth image from one of the cameras to the other camera.

@qm13 that's correct, we have a stereo pair of kinects. I'd like to view the RGB images from the 2 kinects in a common reference frame using the calibration obtained from the chessboard calibration


[Draft] AuthenticationManager/Navigation refactor

@dturner @shobhitagarwal1612  FYI, as discussed. Still WIP..

Broken into separate PRs and merged.


Label single activity increasing plot

[x] Add labels to barplot (https://altair-viz.github.io/gallery/bar_chart_with_labels.html)
[x] Make it vertical
[x] Write that the activities are unique

Done in 1cb95cde9356cab076d4362fb5214723b4bc9f11


Update the include path for "misc.h" in "debug.hpp"

Codecov Report

Merging #1419 into master will decrease coverage by -0.58%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1419      +/-   ##
==========================================
- Coverage   69.54%   68.96%   -0.58%
==========================================
  Files         185      184       -1
  Lines       26996    26982      -14
  Branches     3375     3402      +27
==========================================
- Hits        18774    18609     -165
- Misses       6792     6948     +156
+ Partials     1430     1425       -5

Impacted Files
Coverage Δ

examples/platforms/posix/misc.c
0% <0%> (-66.67%)
:x:

src/core/api/ip6_api.cpp
41.93% <0%> (-17.75%)
:x:

src/core/coap/coap_client.cpp
50% <0%> (-16.3%)
:x:

src/core/coap/coap_client.hpp
57.89% <0%> (-15.79%)
:x:

src/core/mac/mac_whitelist.cpp
75% <0%> (-15.39%)
:x:

src/core/api/netdata_api.cpp
57.44% <0%> (-14.9%)
:x:

src/core/net/ip6.cpp
56.58% <0%> (-13.18%)
:x:

src/core/net/icmp6.cpp
80.68% <0%> (-4.55%)
:x:

src/core/net/netif.cpp
59.37% <0%> (-3.65%)
:x:

examples/platforms/posix/uart-posix.c
59.55% <0%> (-3.38%)
:x:

... and 16 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 31b389f...4af85fd. Read the comment docs.


Translation Delivery

Translation Delivery

This pull request is for translation delivery. Please review and approve them.

Localized texts in 6 new languages

Language
Code

Catalan
ca

Greek
el

Spanish (Mexican)
es-MX

Finnish
fi

Thai
th

Vietnamese
vi

Localized texts were already available in these languages

Language
Code

Arabic
ar

Bulgarian
bg

Czech
cs

Danish
da

German (Standard)
de

English
en

Spanish (Spain)
es

French (Standard)
fr

Hebrew
he

Croatian
hr

Hungarian
hu

Italian (Standard)
it

Japanese
ja

Korean
ko

Malaysian
ms

Norwegian
nb

Dutch (Standard)
nl

Polish
pl

Portuguese (Portugal)
pt

Romanian
ro

Russian
ru

Slovak
sk

Slovenian
sl

Serbian
sr-latn-RS

Swedish
sv

Turkish
tr

Ukrainian
uk

Chinese (simplified script)
zh-Hans

Chinese (traditional script)
zh-Hant

Provided by:
[INTERNAL] Translation delivery: commit by LX Lab (#10)
Change-Id: I9cc9cf220c7856f7a8ab921c76b2eba8d5444d3c


Add missing parallel algorithms to algorithm.hpp

I'm not sure if this was intentional, but there are a number of algorithms missing from the algorithm.hpp include. This affects #include <hpx/include/parallel_algorithm.hpp> , as this include calls hpx/parallel/aglorithm.hpp

@Syntaf I think the
 #include <hpx/parallel/algorithms/includes.hpp>

was missing. Let's add it.


testhost.exe crashes with access violation exception

I have an unhandled exception in my code which crush my testhost.exe process and fails my azure pipeline build (exactly within the VSTest task).
Exception: 0xC0000005: Access violation read location 0xFFFFFFFFFFFFFFFF
After analysing the dump file of the crush I found that this exception appears when I try to save my pdf document in the specified stream using the "save" method of the "PdfManger" class, I am using the Select.Pdf.x64 library.
For information: I'm migrating my build from xaml builds to azure pipeline builds with upgrading the test framework from MSTest to MSTestV2, I'm building my projects using the MSBuild task with the "release" configuration and with "Any CPU" as a platform,for "VSTest" Task I'm using "x64" as a build platform, "release" as a configuration, MSTest.TestAdapter.2.1.1 as a test adapter, I'm using VS 2019, W10 and here is the runsetting file:
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <MaxCpuCount>0</MaxCpuCount>
    <ResultsDirectory>.\TestResults</ResultsDirectory>
    <TargetPlatform>x64</TargetPlatform>
    <TargetFrameworkVersion>.NETFramework,Version=v4.7.2</TargetFrameworkVersion>
    <DisableParallelization>false</DisableParallelization>
  </RunConfiguration>
  <MSTest>
    <TestTimeout>360000</TestTimeout>
    <Parallelize>
      <Workers>10</Workers>
      <Scope>MethodLevel</Scope>
    </Parallelize>
  </MSTest>
  <DataCollectionRunSettings>
    <DataCollectors>
      <DataCollector friendlyName="blame" enabled="True">
        <Configuration>
          <ResultsDirectory>.\TestResults</ResultsDirectory>
          <CollectDump />
          <CollectDump />
        </Configuration>
      </DataCollector>
    </DataCollectors>
  </DataCollectionRunSettings>
  <LoggerRunSettings>
    <Loggers>
      <Logger friendlyName="blame" enabled="True" />
    </Loggers>
  </LoggerRunSettings>
</RunSettings>

I have tried to catch the exception with decorating the method responsible for the exception using the decorators "[HandleProcessCorruptedStateExceptions, SecurityCritical] but without success :( .

Downgrading to mstest v1 everything works fine, it seems related to the QTAgent process because only mstest v1 launch QTAgent process through testhost process.

Thks for help :)


(PUP-5696) Add content_uri parameter to file type

In order to support direct puppet, add a content_uri parameter to
the file resource which the master can use to uniquely identify file
content.
A file resource may never contain content_uri and content, but may
contain content_uri and source.

Failed on Ruby 2.3.0, for some reason.

That Travis fail was weird - no logs? - so I kicked it.

Oh cool. The 2.3.0 segfault reproduced at my desk.

@MikaelSmith @kylog @joshcooper Addressed some of the comments, let me know what you think of the description now. I still wasn't that sure what would be more clear.
Trying right now to reproduce the seg fault locally so I can see if tweaking those tests will help.

:+1:


update about page

Changes

change interns to officers
change Jenna and Shiyu to co-pres and put their names first
change Einar, Jakob, Katelyn, Maggie, James, Nathan to advisor, put their names last on the list, order them by last name alphabetically

Type of change

[X] Content Update (non-breaking change which updates the content of the website)

Related Issues
#425

"oldies to advisors" 💀
looking good so far. Let's wait until we get the final count of who's going to be an advisor next quarter before we move forward 👍


Investigate compat with old Android browsers

Reported here: https://forums.meteor.com/t/apollo-not-working-in-most-android-devices-browser/23050

This is probably b/c support for native fetch is not added in Android browser until v5.  Note this is also an issue in current Safari & iOS Safari.  Perhaps we should make this part of the docs slightly more prominent, or include a fetch polyfill by default.

@timbotnik @stubailo has this been resolved?

My understanding is we now include a fetch poky fill by default? I don't know how to verify that this is fixed.

@stubailo  I believe https://github.com/apollostack/apollo-client/blob/master/package.json#L63 means we are including fetch polyfill by default.  Should be easily testable by using a vanilla apollo-client web app the (previously) unsupported browsers.

@stubailo @timbotnik Just tested using the project from the forum post on Android 4.1.1 and 4.4.4. Looks like whatwg-fetch is there, and seems to be working fine!
4.1.1

4.4.4

Closing for now since this seems to work. If anyone has an issue, please feel free to reopen.


Different approach to choosing enharmonic spellings

There are a few main reasons I know of for changing the enharmonic spellings of notes:

To avoid accidentals when natural notes are available (i.e. F and B, not E# and Cb)
To limit accidentals (i.e. prefer D and Eb, not C## and Fbb)
To make note names agree with the intervals they're being raised/lowered by (i.e. C, D, E, not Dbb, D, D##)

In many cases these goals can conflict, for example in the case of the "diminished whole-half" scale. This scale has eight notes and is not diatonic to a key, so it cannot be spelled "correctly"; it will always contain duplicate letter names.
In other cases, "correct" enharmonic spelling may be avoided as a matter of idiomatic preference. The flat-V7 chord in Db major would technically be Abb7, but no jazz musician would actually spell the chord this way; they'd write G7 instead. Preferring to limit spellings to single accidentals is a fairly common use case.
PitchClass.asNaturalOrRaisedOnce and PitchClass.asNaturalOrLoweredOnce are, I believe, intended to accomplish goal 2 above. However, these functions force a user to choose between sharps and flats when this is not always best, and don't allow a user to express his/her preferences in terms of the above goals.
I think a better approach for an enharmonic respeller function would be to generate multiple enharmonic spellings of the same PitchClass and choose between them based on a config parameter. This would allow for the end user to make high-level decisions for how enharmonic spellings should be chosen.

for example:
type alias SpellingConfig =
  { preferNaturalNotes : Bool
  , maxAccidentals: Int
  }

respell : SpellingConfig -> PitchClass -> PitchClass


Charades Dataset - Extracting video clips during training

In the paper, for the charades dataset you have stated that "We use the RGB frames at 24 FPS provided by the dataset authors. We sample training and testing clips (32 frames) with a temporal stride of 4 following STRG [52], resulting in input clips spanning 125 frames (∼5.2 seconds)."
From my  understanding, if there are N number of frames in a video, training clips of size 32 frames are extracted from the N frames with a temporal stride of 4 secs i.e. the first training clip has frames 0-31, second training clip has framed 4-36 so on.
How does "resulting in input clips spanning 125 frames (∼5.2 seconds)" formed? Is each input clip only 125 frames?
Could you elaborate more on the process used to extract the input clips for training? This will help understand how to prepare a new action dataset for training.
Thanks.

Thanks for the questions. The temporal stride is "4 frames" instead of "4 seconds". Thus 32 frames with stride 4 cover (1 + 31 * 4) == 125 frames == 125 / 24 ~ 5.2 seconds.

Thank you!

@srinivasn1 Hi, It seems like you have successfully install and use the LFB. I'm facing some problems when I install Pytorch from source. Could you tell me your version of pytorch and gcc ?


Small update to instructional comments in app template

Add IntelliJ as an option under reload

Fixes: https://github.com/flutter/flutter/issues/7990

Make a few comments fit one line

@Hixie as discussed in #7990, I think this is subtle enough that it fits with our IDE being recommended.

@sethladd please review

I think this is fine, yeah. LGTM modulo seth's comment.

Driver comment updated, PTAL!

@sethladd can you take a final look?


Every downloaded beatmap is 'invalid'

Osu!Sync will say that ever beatmap is 'invalid' and give me the option to either skip it or cancel the whole download. Saying 'Yes' will cause it to hang for a bit before saying the same dialog for the next one, and so on and so forth. Saying 'No' will just make it cancel the download.

Weird. Yesterday it worked all fine.

Reason. Bloodcat.com is currently down
Solution. In the settings, change your mirror to another one.
I will change the error message so that it's more clear what the problem is and how it can be fixed.


[SMALLFIX] Use LinkedBlockingQueue to create the threadpools

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/15452/
Test PASSed.


SharpDX version 3.0 not working

Hello again!
Last time I have reported the issue about SharpDXException which I was getting while working on any sample from SharpDX.
As I have noticed, SharpDX on 2.6.3 version is working for me, but any newer version is throwing the SharpDX Exception at SharpDX.dll Additional information: HRESULT: [0x887A0001], Module: [SharpDX.DXGI], ApiCode: [DXGI_ERROR_INVALID_CALL/InvalidCall], Message: Unknown
I'm using Windows 7 Ultimate 64 bit and Nvidia Geforce GTX 750Ti if it is important.
I want to finally solve this issue, so I really want you to help.
Regards!

First, make sure you have the latest drivers and DirectX runtime installed on your machine. At first glance, the error seems to be caused by an invalid COM interop call. It is possible that SharpDX 3.0 is compiled against a DirectX SDK version that is more recent than the DirectX version on your machine. I have tested the samples with SharpDX 3.0.2, but everything works fine, however my configuration is very different from yours.


Different I2C method signatures to the DAL drivers

The I2C (and possibly other drivers?) in the micro:bit DAL use char:
https://github.com/lancaster-university/microbit-dal/blob/9164922a519aa213a565cbf2abaa2cf4debf4977/inc/drivers/MicroBitI2C.h#L104
And CODAL uses uint8_t:
https://github.com/lancaster-university/codal-nrf52/blob/master/inc/NRF52I2C.h#L73
So C++ code for v1 DAL might need to add casts to get it to compile for CODAL.

Thanks @microbit-carlos.
I can't really change the CODAL interfaces at this point, but if we feel significant we could wrap the functions in the compat layer?

we could wrap the functions in the compat layer?

Yeah, what I was thinking that might be the only way to do this.
I don't think we've had anybody mentioning this before, @microbit-sam did this pop up at all in any of the MakeCode extensions? (with this or any other driver)

Ah yeah, not very common but there is a couple in the build logs (potentially more as the compiler stops at the first error)
error: no matching function for call to 'codal::NRF52I2C::NRF52I2C(PinName, PinName)'
 MicroBitI2C i2c(I2C_SDA0, I2C_SCL0);

i could just add this into the core I2C interface for backward compat... it's pretty harmless:
+
+    int I2C::write(int address, char *data, int len, bool repeated)
+    {
+        return write((uint16_t)address, (uint8_t *)data, len, repeated);
+    }
+
+    int I2C::read(int address, char *data, int len, bool repeated)
+    {
+        return read((uint16_t)address, (uint8_t *)data, len, repeated);
+    }

@microbit-sam  That error is more about the constructor though... which would imply a wrapper approach would be better. Where possible I like to surface the codal class rather than the compat layer classes, just so we don't get stuck in the past....

We've now added v1 compatible constructor wrappers and overloads for the char based I2C read/write methods, so I'll close this off. Please reopen if there are any issues with those solutions.


Tutorial code causes runtime crash when navigating

On this step in the tutorial, the instructions state that the Circuit instantiation should be changed to the following:
.addPresenterFactory(InboxPresenter.Factory(emailRepository))
.addUi<InboxScreen, InboxScreen.State> { state, modifier -> Inbox(state, modifier) }
.addPresenterFactory(DetailPresenter.Factory(emailRepository))
.addUi<DetailScreen, DetailScreen.State> { state, modifier -> EmailDetail(state, modifier) }

However, after doing this, when tapping on the email to trigger the navigation event from InboxScreen to DetailScreen, the app crashes with the following runtime exception:
java.lang.ClassCastException: com.example.hellocircuit.tutorial.InboxScreen$State cannot be cast to com.example.hellocircuit.tutorial.DetailScreen$State
                                                                                at com.example.hellocircuit.tutorial.MainActivity$onCreate$$inlined$addUi$2$1.Content(Ui.kt:97)

Interestingly, the sample code in the repo has a different ordering of builder method calls:
.addPresenterFactory(DetailPresenter.Factory(emailRepository))
.addPresenterFactory(InboxPresenter.Factory(emailRepository))
.addUi<InboxScreen, InboxScreen.State> { state, modifier -> Inbox(state, modifier) }
.addUi<DetailScreen, DetailScreen.State> { state, modifier -> EmailDetail(state, modifier) }

Changing the ordering so that DetailPresenter.Factory is added before InboxPresenter.Factory fixes the issue.
It seems that the ordering of calls when creating the Circuit is important, and getting it wrong results in a hard-to-debug runtime crash.

I found the issue. My implementation of Presenter.Factory.create was always returning an instance of the presenter class, regardless of the screen type:
override fun create(
            screen: Screen,
            navigator: Navigator,
            context: CircuitContext
        ): Presenter<*>? {
            return InboxPresenter(navigator)
        }

The correct code is:
override fun create(
            screen: Screen,
            navigator: Navigator,
            context: CircuitContext
        ): Presenter<*>? {
            return when(screen){
              is InboxScreen -> InboxPresenter(navigator)
              else -> null
            }
        }

This is correct in the docs, so my fault for not copying it correctly.
That said, this issue was difficult to debug because it wasn't clear (to me at least) that create is called for every screen type, and that you must only return a presenter for the screens which you support. Perhaps this could be made clearer in the docs.

Thanks for the followup. PR/suggestions welcome on the docs, in general we use factories extensively but maybe there's a gap in our familiarity/assumptions that could be better-stated in the docs on them. We generally don't expect a presenter factory to return non-null for a screen it doesn't know about.

Thanks @ZacSweers. I added a note to the tutorial docs to make the "return null if not supported" expectation clearer.


How to compile cpp program and add additional includeDir?

Hi, I tried to using MSBuild to compile my program with msbuild /p:IncludePath="path/to/include" where the path contains several external header files from a 3rd-party lib that my program need.
But the build process always said Cannot open include file, and it seems the folder is not included.
My local build works all fine, and Using msbuild locally also works fine. (The AdditionalIncludeDir is set in the VS file).
What is the correct way to include a 3rd-party lib source with msbuild ?

Hi @xarthurx this does not appear to be an issue with this Action so I will close the issue.  If you are compiling with 3rd party libs, then the Actions runner needs to have those 3rd party libs present as well, so you will need to ensure those headers you need are present on the agent runner instance and the path is correct for your run.


Not working in latest Flutter 3.24.0

This package is not working. I get a blank screen with this error:

Sample code:
ListView.builder(
  shrinkWrap: true,
  itemCount: playlistState.currentPlaylistVideos!.length,
  itemBuilder: (context, index) {
    final video = playlistState.currentPlaylistVideos![index];
    return BlocSelector<ConnectivityCubit, ConnectivityState, bool>(
        selector: (state) => state.isMobileConnection,
        builder: (context, isMobileConnection) {
          return ListTile(
            leading: ShowNetworkImage(
              imageSrc: isMobileConnection
                  ? video.snippet!.thumbnails!.standard!.url!
                  : video.snippet!.thumbnails!.medium!.url!,
              mobileHeight: isMobileConnection
                  ? video.snippet!.thumbnails!.standard!.height!
                      .toDouble()
                  : video.snippet!.thumbnails!.medium!.height!
                      .toDouble(),
              mobileWidth: isMobileConnection
                  ? video.snippet!.thumbnails!.standard!.width!
                      .toDouble()
                  : video.snippet!.thumbnails!.medium!.width!
                      .toDouble(),
            ),
            title: Text(video.snippet!.title!),
            subtitle: Text(video.snippet!.description!),
          );
        });
  },
);

Environment
Flutter: 3.22.3 (stable)
Dart SDK version: 3.4.4 (stable)
OS: macOS Sonoma 14.0
Test on Device: Web (Chrome)

Also tested in Flutter 3.22.3 -> not working

@abbasihamed

Ok, I found out, that you have to have a fixed width and height in Web to be able to work.
It works now like this:
ListTile(
  leading: SizedBox(
     height: height,
     width: width,
       ShowNetworkImage(
        imageSrc: url,
        mobileHeight: height,
        mobileWidth: width,
      ),
      title: Text(video.snippet!.title!),
      subtitle: Text(video.snippet!.description!,
    ),
  ),
);


Turn CDDL test into automatic test in CI

In PR #414 Marc added an exe for testing our binary formats against external CDDL specs.
A follow-up from this is to make it run automatically in CI by turning it into a cabal test-suite in the .cabal file. Will probably also want to check the volume of output to make sure it's appropriate for CI.
The test probably wants to be optional controled by a cabal flag, since it has a dependency on the external CBOR/CDDL tools.

merged as PR #491


Proposal: Archive this module

Hi,
I proposed on the mailinglist to archive the module. If you have any opinions on this topic, please respond: https://groups.io/g/voxpupuli/message/477

I'm currently a user of this module, but the more advanced ruby is beyond me.  I can try to keep the simple things going.  But I'm not sure how long I can keep it alive if folks want more fancy stuff...


v.1.0.1002.2040 x64 (ZIP) error

v.1.0.1002.2040 x64
Failed to load the dll from [E:\erpnetlast\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from E:\erpnetlast\hostfxr.dll failed

Installing .NET Core prerequisites might help resolve this problem.
https://go.microsoft.com/fwlink/?linkid=798306

v.1.0.926.1900 x64 is working fine
Microsoft Visual C++ 2015 Redistributable Update 3 (x64) is installed
v.1.0.1002.2040 x86 is also working fine
Can you, please, help with some ideas what may be the issue.
Thanks.

Just follow the link: https://go.microsoft.com/fwlink/?linkid=798306


Fix Scripture update events not causing data providers to re-fetch data

Update events on C# were being double-serialized. As such, subscribers weren't receiving updates. Additionally, not all relevant data types were announced as updated.
Before, the update looked like this:

Now, the update looks like this:

This change is

Scripture update event PR https://github.com/paranext/paranext-core/pull/646


Add trimming option to video preprocessing module

Possible actions: trim from beginning and/or end, trim around an annotation mark, ...

I usually do this kind of thing with FFmpeg. Like Aakriti mentioned today! It's super handy.
They have Python bindings as well and support a wide variety of codecs.
I can contribute to these features when free.
ffmpeg-python

Check out https://github.com/simula/host-ats


Support .jest.clearAllMocks()

I'm not using require/import mock.
The following snippet works with mocking
// working
class Adder {
  constructor(public getValueToAdd: () => number) {}

  add(digit: number) {
    return this.getValueToAdd() + digit;
  }
}

test("testing mock", () => {
  const mockGetValueToAddFunction = jest.fn().mockReturnValue(1);
  const adder = new Adder(mockGetValueToAddFunction);

  const result = adder.add(2);

  expect(result).toBe(3);
  expect(mockGetValueToAddFunction).toHaveBeenCalled();
});

However adding
beforeEach(() => jest.clearAllMocks());

results in
Test suite failed to run

    TypeError: Cannot read properties of undefined (reading 'length')

      at file:/home/xxxx/node_modules/jest-light-runner/src/worker-runner.js:222:29
          at Array.filter (<anonymous>)
      at toTestResult (file:/home/xxxx/node_modules/jest-light-runner/src/worker-runner.js:222:8)
      at default (file:/home/xxxx/node_modules/jest-light-runner/src/worker-runner.js:78:10)
      at async /home/xxx/node_modules/piscina/dist/src/worker.js:141:26

Would you like to open a PR? It probably just needs to be added here: https://github.com/nicolo-ribaudo/jest-light-runner/blob/683a5c682105a95abf77803ad20ed19f57918d3b/src/global-setup.js#L24
(please test if it works in your project!)


switch/case coloring

Shouldn't switch/case be the same color as if/else/elseif?

If needed I can create a PR.
/cc @sdras

I actually went back and forth on this one and this is what I settled on, with the break and function keywords I wanted more contrast and someone else remarked that it was too similar/too much italic. I think it's good as is now.

@sdras Maybe you're right, it makes sense to separate it since it can be messy with a lot of LOC.


chore: add to issue templates.

Deliverables

[x] Bug Report
[x] Feature request
[x] pull request template

@Uyadav207 Go ahead

Thanks :)

@purnima143 , I think someone has already updated it at #27, earlier...

Ya 😅, You can work on other issues


Certain wsl.conf file breaks WSL2

Your Windows build number:
Microsoft Windows [Version 10.0.18917.1000]

What you're doing and what's happening:
Set WSL 2 as default version, install Debian from the store, then add the following /etc/wsl.conf:
[interop]

enabled=false

appendWindowsPath=false

What's wrong / what should be happening instead:
After wsl.conf is added, next time wsl.exe or debian.exe is invoked in powershell, bash prompt is not displayed, and nothing seems to happen (but wsl -l shows that Debian is running)

Thanks for filing! I will fix this ASAP, I think this might be the cause of some other issues...

Fix confirmed locally in 18945, and also listed in https://docs.microsoft.com/en-us/windows/wsl/release-notes#wsl. Closing and thanks for all the work!


Include option to disable !=, ==, === icons in text editor

Godot version
Godot 4 e093cfdf0
System information
Win 10/64 NVIDIA GeForce GTX 1060/PCIe/SSE2
Issue description
This may seem like an ungrateful nitpick, but it would be appreciated if the option to disable the conversion of
!= into this icon

would be great. I can't find any option to disable it in the editor settings.
This goes for any other text replacing icons.
I've also found == turns into

and === turns into

, though I don't even know if that's an operator.
While it may be nice for some users, I think it's less readable, and I can't type
so don't want to see it in my code.
Steps to reproduce
Type != in the editor.
Minimal reproduction project
No response

You can avoid this by overriding interface/editor/code_font with another font.

This is already available as the contextual ligatures editor setting.

I see the setting, thank you. TIL what contextual ligatures means. Note there is no editor description for the option.

Note there is no editor description for the option.

This is pending for https://github.com/godotengine/godot/pull/48548 to be merged. It's stuck on a CI issue though.

We should reconsider having this on by default, it's pretty confusing/annoying. I use Visual Studio, VS code and Jetbrains Rider and have never seen ligatures used before.

We should reconsider having this on by default, it's pretty confusing/annoying. I use Visual Studio, VS code and Jetbrains Rider and have never seen ligatures used before.

See https://github.com/godotengine/godot/issues/63865.


Remove hardcoded StorageType dimension from S3 metric

The "AllStorageTypes" value for the StorageType dimension was only
valid for the NumberOfObjects metric. The BucketSizeBytes metric
required specifying a different StorageType, and request metrics
could not be retrieved at all because they do not have a StorageType
dimension.
Users with "NumberOfObjects" in their configuration will now need to
add "StorageType" under additionalDimensions or awsDimensions.
Fixes #85

Thanks @nhinds <3


Support for LDAP protocol version

LDAP in its defaul configuration has problems with non UTF8 encodings and diacritics. It can be configured by using.
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
But there is no obvious way how to configure this it this authenticator.

:+1:
Thanks for catching this!

Today we encountered another problem related to this. The version of protocol obviously doesn't affect only diacritics. We ran into the problem where on specific system it was impossible to connect to LDAP server at all. The problem was solved by setting protocol version to 3. As noted here.
http://stackoverflow.com/questions/7720795/php-5-3-5-ldap-search-search-cant-contact-ldap-server

And now I realized that it in fact is supported, only not documented. You can specify it in config.neon as:
ldap:
	hostname:
	port:
	baseDn:
	domain:
	loadGroups: true
	options:
		17: 3					# 17 == LDAP_OPT_PROTOCOL_VERSION const


PluginNotFound Error when trying to add custom resources to a lambda function using amplify cli

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v16.13.2
Amplify CLI Version
10.5.2
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
NA
Describe the bug
When I use the cli commands 'amplify add function' or 'amplify update function' and select 'resource access permissions' and then select 'custom' I get the following error:
Policies cannot be added for custom
PluginMethodNotFoundError: Method getPermissionPolicies does not exist or is not a function in category plugin: custom.
at AmplifyToolkit.invokePluginMethod [as _invokePluginMethod] (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/extensions/amplify-helpers/invoke-plugin-method.js:35:15)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async getResourcesForCfn (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/execPermissionsWalkthrough.js:183:56)
at async askExecRolePermissionsQuestions (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/execPermissionsWalkthrough.js:113:66)
at async Object.updateWalkthrough (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/lambda-walkthrough.js:197:38)
at async updateFunctionResource (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/index.js:155:22)
at async Object.executeAmplifyCommand (/snapshot/repo/build/node_modules/amplify-category-function/lib/index.js:267:5)
at async executePluginModuleCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:142:5)
at async executeCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:40:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:153:5)
Expected behavior
I would expect that there would be no error and that the file 'backend-config.json' would be auto-populated with the necessary custom resources in the 'dependsOn' for the function in question.
Reproduction steps
******************************** % amplify add function
? Select which capability you want to add: Lambda function (serverless function)
? Provide an AWS Lambda function name: test
? Choose the runtime that you want to use: Python
Only one template found - using Hello World by default.
Available advanced settings:

Resource access permissions
Scheduled recurring invocation
Lambda layers configuration
Environment variables configuration
Secret values configuration

? Do you want to configure advanced settings? Yes
? Do you want to access other resources in this project from your Lambda function? Yes
? Select the categories you want this function to have access to. custom
? Select the operations you want to permit on [custom resource] read
Policies cannot be added for custom
PluginMethodNotFoundError: Method getPermissionPolicies does not exist or is not a function in category plugin: custom.
at AmplifyToolkit.invokePluginMethod [as _invokePluginMethod] (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/extensions/amplify-helpers/invoke-plugin-method.js:35:15)
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async getResourcesForCfn (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/execPermissionsWalkthrough.js:183:56)
at async askExecRolePermissionsQuestions (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/execPermissionsWalkthrough.js:113:66)
at async Object.createWalkthrough (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/service-walkthroughs/lambda-walkthrough.js:53:83)
at async addFunctionResource (/snapshot/repo/build/node_modules/amplify-category-function/lib/provider-utils/awscloudformation/index.js:78:9)
at async Object.executeAmplifyCommand (/snapshot/repo/build/node_modules/amplify-category-function/lib/index.js:267:5)
at async executePluginModuleCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:142:5)
at async executeCommand (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/execution-manager.js:40:9)
at async Object.run (/snapshot/repo/build/node_modules/@aws-amplify/cli-internal/lib/index.js:153:5)
You can access the following resource attributes as environment variables from your Lambda function
ENV
REGION
? Do you want to invoke this function on a recurring schedule? (y/N)
Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

Hey @dwrynngs :wave: thanks for raising this! Despite the stack trace, this appears to be a duplicate of https://github.com/aws-amplify/amplify-cli/issues/9087, where unfortunately adding permissions to custom resources is not currently supported. Please see this comment for a potential workaround.
Marking this issue as a bug for the stack trace.

Thanks for the comment.  I would suggest if this is not currently supported then the option in the cli to add custom resources should be disabled until it it supported.  Or there should be some documentation to flag the issue.  I think until one of those things happens then this issue should not be closed.  Is there any indication when this will be supported?

Hey @dwrynngs unfortunately I do not have a timeline to share for this support.


How can I use utterances on a page with a non-white background?

Utterances currently forces the iframe that is being injected to have a white background color, which makes it possibly not-so-pretty on pages that do not share the plain white background:

It would be relatively trivial to make body have background-color: transparent and .comment have background-color: white (as seen here), but I would assume this is an unwanted breaking change for others.
Are there established ways of doing this yet? In case not, would you be open to adding some customization options to the script? Maybe something like adding data-background-color to the script tag itself?

Sounds good to me. Let's start with making the background transparent.


Netflix Clone

Description
Netflix clone using HTML, CSS, and Javascript.
it has many features like login, header, footer, the main body of Netflix clone, various movie crime show tv shows, etc.

Code of Conduct

[X] I follow Contributing Guidelines of this project.

hey, @Rayman-Sodhi @gurjeetsinghvirdee assign so that I can contribute as it is built from core web technology HTML CSS js it helps many peoples to learn that stuff.

Netflix already there you can check on readme list or deployed link
Make something new @Dharmesh177


SourceRange fixups.

Pass location to LiteralPropertyName in Parser
Pass null for location in writer.js test,
rather than mis-typed string

LGTM


Corrects admin email list address

Please don't merge until the list actually works...

List now works. Merging


the nms op module has no correspond compiled scripts

I have try to use
python3 setup.py build develop
it looks like the nms.so can't be generated in this repo, the other ops can be normally compiled.

nms.so will be automatically compiled on the first run. so you just need to run it twice and the module will be ready to be used.

there is nothing about nms op module in the setup.py or CMakeLists.txt , how could it be auto compiled？
I have add this in the setup.py, and it can be compiled.
CUDAExtension(
                name="det3d.ops.nms.nms",
                sources=[
                    "det3d/ops/nms/nms.cc",
                    # "det3d/ops/nms/nms.h",
                    "det3d/ops/nms/nms_kernel.cu",
                    # "det3d/ops/nms/nms_cpu.h",
                ],
                extra_compile_args={"cxx": ["-g"], "nvcc": ["-O2"]},
            ),

Maybe you can try cloned this repo into a new machine and run it from scratch.
@poodarchu


change Wrangler build directory

Currently the built worker end up in ./worker. However, that directory could be used by the user.
I would suggest to hide the directory, it's useful for debugging but not for the user.

Agreed. I wouldn't be surprised if people defaulted to using worker/ as the workspace for their Workers in larger projects: can we just do .build or something similar?
(Note that whatever change we do will involve some changes to the various templates: they all generally have worker/ in .gitignore)

Yes, if I remember correctly even a template uses worker for user code.
Using .build instead sounds good to me. Also using the os tempdir would make sense to me, I don't expect the user to commit them.

People using dollarshaveclub/cloudworker might want to use the output of the build to put into cloudworker, so maybe a public build directory is the best option here.

Using 1.8.1 I am noticing the same file created in dist/ and worker/ and haven't tracked down what is causing that behavior.

@johnelliott it's expected. One is webpack's output the other is wrangler's output

Yeah I saw #640

closing since this is addressed by #1677, which will be going out as part of an RC in the near future