If the tableView has the header, the header does not move with the cell content

I had a tableView with two different kinds of cells, one for section header, one for the content. The content cell move correctly, however the header cell stuck there until the header of next section come up and push it away.

Hey @becarefullee
Can you please provide a sample project with the issue?

No problem. I modified the code in tableviewcontroller from your demo (just added the header view).
AMScrollingNavbar.zip

Thanks for that. Let me do some digging, I'll let you know if I can work around it.

Thanks for paying attention to this issue :)

Is there any update for the issue?

Is there any update for the issue? (2)

I fixed this issue on my own end. The issue is caused because the contentInset is stopping the tableHeaders to go above what the inset is. To fix it, in in the scrollViewDidScroll(_ scrollView: UIScrollView) i updated the inset to follow the topBar.
The issue was finding the right values and arithmetics between them. Finally the correct form was:
tableView.contentInset = UIEdgeInsets(top: topBar.frame.height + topBar.frame.origin.y - (navigationController?.navigationBar.frame.height)! - UIApplication.shared.statusBarFrame.height , left: 0, bottom: 0, right: 0)
You just need to subtract the statusbar height and navigationbar height and add height and y position of the bar which is following your scroll and tableview content.
I'm guessing AMScrollingNavbar can expose a method which calculates the value like i did and return it. And the user will only have to update his inset in the scrollviewDidScroll method.
Hope it helps someone.

@NightWarrior
nice find! With topBar you mean the navigation bar?
I think I can add a delegate method for that, something like shouldUpdateContentInset

"topBar you mean the navigation bar?"
Hmmm, sorry, let me be more clear, i'm talking about the bar that you're using in the Extension view in your demo app. I'm using something similar. So my sectionheaders were stopping below it while rows were going above it behind it.

Update: If you have ios11 searchbar (searchcontroller inside navigationItem) then you need to subtract another value
var ios11SearchBarHeight:CGFloat = 0.0         if #available(iOS 11.0, *) {             if let height:CGFloat = self.navigationItem.searchController?.searchBar.frame.height {                 ios11SearchBarHeight = height             }         }         self.tableView?.contentInset = UIEdgeInsets(top: 50 + (topBar?.frame.origin.y)! - (navigationController?.navigationBar.frame.height)! - UIApplication.shared.statusBarFrame.height - ios11SearchBarHeight , left: 0, bottom: 0, right: 0)
And again, topBar is an extended view that i have placed under my navigationbar and it follows the tableview scroll.

Ok, I think I got it, I've added a couple of lines that take care of the contentInset automatically. The sample project now has a section header, and it's scrolling correctly. Checkout commit afcdf84 and let me know.

I tested it, it works fine, right up until i put in a ios11 searchcontroller in the navigationItem... the first bit of movement can set it off... And it doesnt recover after it. If you move it slightly and dont expand the searchbar fully then it breaks....

(P.S i didnt pull the code, only made the changes in the demo project copy that i had.)

Also, found another issue that i believe stems from this issue as well(adjusting the insets)... Scroll down and tap at top to scroll to top... The content hides behind the topBar...

In my own application i had to scroll up after a servercall and i was doing it by changing the contentOffset of the tableView (or CollectionView) and setting the y position to 0 was doing this kind of behavior... so my fix was to set it to negative of the topBar height...

Update: I found the reason why i could break it with the ios11 searchbar... turns out it could be broken without it as well... simply partially scrolling it was the problem... the insets werent updating there...
So i simply placed the new code inside the checkForParitalScroll() as well just below where you're setting the deltas...
  UIView.animate(withDuration: duration, delay: 0, options: UIViewAnimationOptions.beginFromCurrentState, animations: {
  self.updateSizing(delta)
  self.updateFollowers(delta)
  self.updateNavbarAlpha()

  // Adjust the top inset (useful when a table view has floating headers, see issue #219
  if let contentInset = self.scrollView()?.contentInset, let scrollInset = self.scrollView()?.scrollIndicatorInsets {
    self.scrollView()?.contentInset = UIEdgeInsets(top: contentInset.top - delta, left: 0, bottom: 0, right: 0)
    self.scrollView()?.scrollIndicatorInsets = UIEdgeInsets(top: scrollInset.top - delta, left: 0, bottom: 0, right: 0)
  }
}, completion: nil)

Now i need help with the ios11 searchbar... your partial scroll seems to hold it stuck... while the natural behavior for ios11 searchbar is that it either collapses or extends fully depending on the amount of extension it had when scroll was let go.

Good point, I've updated the code to adjust the content inset after the partial scroll check.
Can you share your code to setup the searchbar in the demo project so I can test that out?

@andreamazz Just place this line in viewDidLoad() and the ios11 searchbar will be available
self.navigationItem.searchController = UISearchController(searchResultsController: nil)

Ok, I see what you mean, this might be tricky to fix 🤔

Hey @NicholasTD07
commit 1123b4e should fix the issue, thanks to @fralways .
Let me know


🐛 Bug Report: EntityOwnerPicker should only list Users and/or Groups that are actual Owners

📜 Description
The EntityOwnerPicker should only list Users and/or Groups that are actual Owners.
PR https://github.com/backstage/backstage/pull/17514 (release as part of 1.15.0-next.0) changed the EntityOwnerPicker to make it perform better at the loss of showing only Users and/or Groups that are actual Owners
👍 Expected behavior
The EntityOwnerPicker should only list Users and/or Groups that are actual Owners.
👎 Actual Behavior with Screenshots
The EntityOwnerPicker lists all Users and Groups that are in the Catalog.
👟 Reproduction steps

Open the Catalog
Click on the Owner drop down

Notice: All Users and Groups that are in the Catalog are in the list regardless of if they are Owners or not
📃 Provide the context for the Bug.
Being able to use the Owner filter to review Ownership was really handy - you could quickly spot cases where there was incorrect teams or in our cases Users (we don't allow Users to be Owners). Now it's just one really large list which we find isn't as useful, especially with all the Users in there.
🖥 Your Environment
Not really environment specific more being on 1.15.0-next.0 or newer
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

@vinzscam I do appreciate the work you did around this but is there anyway we can still offer the original functionality? We were really using that and surprisingly I got a lot of feedback about this change.

@awanlin You should be able to make a custom filter with the old functionality, the data from the current set of entities is still available. See https://github.com/backstage/backstage/blob/master/plugins/catalog-react/src/hooks/useEntityListProvider.tsx#L81. When we shift fully to a paginated CatalogTable, I expect you'll need a new workaround.
Can you explain a little bit more what your use case was? I think the shift to the new EntityOwnerPicker makes sense for the pagination work, but it might make sense to show what you're trying to do in a separate UI.

@vinzscam I do appreciate the work you did around this but is there anyway we can still offer the original functionality? We were really using that and surprisingly I got a lot of feedback about this change.

sorry for causing troubles @awanlin.
The main goal was to decouple the OwnerPicker from the backend entities, which right now are used to compute the owners' list. However the issue makes sense, as we we recognize that there might be adopters who don't ingest at all users or group information.
As far as I can see, the only doable option that allows us to move towards the use of paginated entities in the future, is to use the facets endpoint to fetch the owners of the entities. The existing logic can be kept as optional, for adopters who have a lot of entities in the catalog.
I will try to address the issue asap, otherwise it would be good to rollback the changes introduced in https://github.com/backstage/backstage/pull/17514 before the main release.

I just want to start off by saying I totally understand the reasons behind the change and those are valid: getting better performance and being able to use pagination is important. I just wanted to make sure we kept this in mind as this may impact others when this goes out with 1.15.0. Just trying to help us avoid the issue we had with entityRefs and the scaffolder as we had a few people on Discord frustrated with that change
@sennyeya, so there's two groups that have mentioned this to me: those who are "spelunking" around the Catalog and the other are those like me who are making sure the Catalog data is correct and catching anything off. Both of these groups had the understanding that the list would be of actual Owners and not simply everyone.
@vinzscam no worries, I think we are in a tough spot and we needed to make a call one way or the other. If you can find a path to still offer this functionality then that would be great. If not I think as long as we clearly communicate why it was changed (changelogs and release notes) it should be fine. I know we are already adapting to this change internally.
Hopefully this issue will get some comments from others in the Community to help decide the path forward a little

Yup, the scaffolder issue was definitely my bad, completely get where you're coming from.
I think there's a lot of value in the contextual aspect of the old filter, using the facets endpoint would help with that I think and fix the issue where the existing functionality doesn't let you filter for owners that don't exist in the catalog. It would require another set of calls for showing the display name, but I don't think that's the worst.
That being said, I think it may make sense to pull those experiences apart, on one hand having contextual search and filtering is useful, but for power users a "Catalog Metadata" page may be a better experience, especially for much larger catalogs.

@sennyeya sorry, was not trying to single you out with that comment 😢
I for sure make mistakes, did it with a show stopping bug in the Linguist plugin when it got released for the first time.

Ran into another case where the old behaviour was helpful. I was trying to find an example for someone on how to define their Component. I had a rough idea of the one I was looking for so had things filtered down to a subset and could have used the owner filter to get this down even further as it would have clued me in once I saw the team name. Sadly all I had was a list of everyone and had to take a different approach

@awanlin All good lol, no worries, was just pointing out it continues to be a big issue that should have had more communication on my end.

PR #18199 nicely provides what I was looking for with this issue so I'm going to close it.
Many thanks @vinzscam 🚀


Support Internal Load Balancer Type

A Kubernetes Service of type Load Balancer running in aws and using the annotation "service.beta.kubernetes.io/aws-load-balancer-internal: <IP_ADDRESS>/0" will create a classic elb with the internal load balancer option and no public IP.
https://kubernetes.io/docs/concepts/services-networking/service/#service-tabs-2
https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-internal-load-balancers.html?icmpid=docs_elb_console
For our use case we are creating some Kubernetes services that are only accessed from the Kubernetes VPC (or peered VPC).
Maybe there is voyager config that allows this but I couldn't find it.  If not, would you consider supporting this configuration?
Thanks.

Can you use service-annotations to pass this to the voyager- service ? https://github.com/appscode/voyager/blob/master/docs/guides/ingress/configuration/service-annotations.md

Oops!  I should have caught that!  Worked perfectly!
Thanks for the quick reply.
Excellent work by the way, Voyager is a great project!

Thanks for using Voyager. Happy to help!


Need a better message and example

This warning is issued also when the csproj contains the tag <PackageLicenseUrl/> which is not 'licenseUrl'.
In this case the documentation should provide a clear example of the replacement needed in the csproj.
The provided link is about a discussion and does not provide any help.
At the provided link there is another link pointing to the nuget specification which, again, talks about nuget and not the csproj.
At the end, I will stay with the current deprecated tag, waiting for some better explanation.
Thanks

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

ID: d2331cad-1911-3ab2-8060-d92334132437
Version Independent ID: 6b09a340-76da-0315-7cf7-90f6395bb652
Content: NuGet Error NU5125
Content Source: docs/reference/errors-and-warnings/NU5125.md
Product: nuget
GitHub Login: @nkolev92

@raffaeler
Please refer to https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-a-license-expression-or-a-license-file.
//cc @karann-msft @anangaur

Thank you @nkolev92
On GitHub the License file is usually stored in the repo root.
Since the project is in a subfolder, which one is correct?
<PackageLicenseFile>../LICENSE</PackageLicenseFile>
or
<PackageLicenseFile>..\LICENSE</PackageLicenseFile>

The docs nkolev92 linked to say this, emphasis mine

When packing a license file, you need to use PackageLicenseFile property to specify the package path, relative to the root of the package. In addition, you need to make sure that the file is included in the package

The .. in your path tries to look outside of the package, so is not valid (a security risk recently named zip slip). You will however, need the .. in the None MSBuild item's include path.

@zivkan Can you please provide an example?
I added the following in the csproj:
<PropertyGroup>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
...
  <ItemGroup>
    <None Add="..\LICENSE" />
  </ItemGroup>

But when I pack the project, I get the following error:
error NU5030: The license file 'LICENSE' does not exist in the package

https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#packing-a-license-expression-or-a-license-file

@anangaur no way
<PropertyGroup>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
</PropertyGroup>
  <ItemGroup>
    <None Include="..\LICENSE" Pack="true" PackagePath="$(PackageLicenseFile)"/>
  </ItemGroup>

Still getting an error:
 error NU5030: The license file 'LICENSE' does not exist in the package

and also:
An attempt was made to move the file pointer before the beginning of the file

@raffaeler
Try using
PackagePath="" or PackagePath="."
It's a function of how paths are handled in pack in general.

It finally worked. The documentation definitely need to be updated as the solution was absolutely not straightforward.
If anyone should find this post, here is how I solved my problem.
The LICENSE file is located in the parent folder of the project file as it always works on GitHub.
Repo Root
 |
 | ----- LICENSE
 | ----- Project Folder
            |
            | ---- nupkg Folder

The project csproj contains these license-related tags:
  <PropertyGroup>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
  </PropertyGroup>

  <ItemGroup>
    <None Include="..\LICENSE" Pack="true" PackagePath=""/>
  </ItemGroup>

Inside the project folder, the subfolder called nupkg will contains the result of the package creation. In order to exclude this folder, the csproj must contains these tags:
  <ItemGroup>
    <Compile Remove="nupkg\**" />
    <EmbeddedResource Remove="nupkg\**" />
    <None Remove="nupkg\**" />
  </ItemGroup>

Commands to create the package and install temporary the global tool:
dotnet pack -c Release
dotnet tool install --global --add-source ./nupkg ProjectName

Command to uninstall the global tool:
dotnet tool uninstall -g ProjectName


dropdown with gridjs possible?

Hi @miguelgrinberg ,
Is there a way to have a drop down withing a gridjs table? Any example available.
Will aprpeciate your comments,
Thanks,

I don't have any examples specific to a drop-down, but the server example in this repository shoes how to add email links, which is somewhat similar in the sense that both require putting HTML in a cell.

Hi @miguelgrinberg ,
Sorry but for some reason I cannot see the insertion of an html email link working on the server example, it looks like simple text in the table to be honest. Maybe is something you haven't push?
Thanks again,

@mhanuel26 This is the commit in which I've changed the emails to be links: https://github.com/miguelgrinberg/flask-gridjs/commit/0067609ce963c7c0b76d5266c60ab92115e7b3b5. The change was made a while ago, so you probably have an outdated repository.

Hi @miguelgrinberg,
Thanks for that, one more question, I noticede that when loading the html this way, the code that does the return is executed 3 times per row on the table, for example after placing a console log before the return like this
          { id: 'email', name: 'Email', formatter: (cell, row) => {
            console.log("email");
            return gridjs.html('' + cell + '');
          }},

I got

Is this expected? I was introducing some javascript code to help in the dropdown thing and noticed this.
Will appreciate your comments,
Thanks again,

@mhanuel26 This i something that you need to ask in the gridjs project, I'm not really familiar with its internals. Sorry.


Benchmarking

I've been writing some go test benchmarks, creating some simple examples to show performance changes. Some start at the "top" level, others at the "bottom"

Do you have a plan for adding this?
Is there a known / preferred method for tracking?
What's the best way to contribute these back?

Starting a thread for discussion

Related: https://cue-review.googlesource.com/c/cue/+/7163 (which includes what may be the first benchmark)

See cue/testdata/benchmarks.

Could we add something like this to the bench_test.go file for selecting test cases to run?
diff --git a/cue/testdata/benchmarks/bench_test.go b/cue/testdata/benchmarks/bench_test.go
index cde34d27..944bdba0 100644
--- a/cue/testdata/benchmarks/bench_test.go
+++ b/cue/testdata/benchmarks/bench_test.go
@@ -15,8 +15,10 @@
 package benchmarks

 import (
+       "flag"
        "io/ioutil"
        "path/filepath"
+       "regexp"
        "testing"

        "cuelang.org/go/cue"
@@ -24,6 +26,8 @@ import (
        "github.com/rogpeppe/go-internal/txtar"
 )

+var match = flag.String("match", "", "regex for matching filenames")
+
 func Benchmark(b *testing.B) {
        files, err := ioutil.ReadDir(".")
        if err != nil {
@@ -36,6 +40,16 @@ func Benchmark(b *testing.B) {
                        continue
                }

+               if *match != "" {
+                       matched, err := regexp.MatchString(*match, name)
+                       if err != nil {
+                               b.Fatal(err)
+                       }
+                       if !matched {
+                               continue
+                       }
+               }
+
                a, err := txtar.ParseFile(name)
                if err != nil {
                        b.Fatal(err)

Do you have thoughts on doing something similar for the directory of files to read from? Thinking it may be useful to split them up into dirs for more organization as the number of cases grows.
Is this setup to accept multiple cases / benchmarks per file? (It looks like no)
Is it possible to write the input Cue and have the rest of the benchmark txtar file generated, like with update tests setting?

The benchmark uses subtests (b.Run), so you can already use regexps in --bench to filter files.

It is hard to do multiple tests per file, as we may want to already test benchmarks on loading multiple files at once.
I'm fine with subdirectories, though, if that helps.

Is it possible to write the input Cue and have the rest of the benchmark txtar file generated, like with update tests setting?

I'm not sure how you envision that.

Is it possible to write the input Cue and have the rest of the benchmark txtar file generated, like with update tests setting?

I was looking at the existing benchmark files, saw more than the input, and was not sure how to know what to put there. Seems only the input is actually needed. What (how) are the later sections used?

The testdata directory is shared among various tests. So the other sections are just populated by other tests. This has the added benefit that it documents how the input is compiled and evaluated. They can be ignored for the purpose of benchmarks.

So the only question unanswered is how to track it. Really, as everyone's machine is different, on tracks it on a single machine periodically. Or use Orijtech's service or something.
As the benchmark infrastructure is in place, I'll close this.

This issue has been migrated to https://github.com/cue-lang/cue/issues/591.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


[extractor/tubetugraz] Implement two-factor authentication (#6424)

This PR adds two-factor authentication to the TubeTuGraz extractor. This allows login to work again, since 2FA became mandatory a while ago. Until this fix, metadata download for many lecture videos was effectively broken in YT-DLP, since it was impossible to log in.
Since accounts on tube.tugraz.at cannot be created by anyone (only students and university personnel), I cannot provide an automated testcase that anyone can verify. However, there is a testcase that is already in the code can be used by any TU Graz student to check whether TFA works:
yt-dlp https://tube.tugraz.at/paella/ui/watch.html?id=2df6d787-e56a-428d-8ef4-d57f07eef238 --username USERNAME

expected title without login: TubeTuGraz video #2df6d787-e56a-428d-8ef4-d57f07eef238
expected title with login: #24 - Exakte DGL und integrierende Faktoren; lineare DGL beliebiger Ordnung

Fixes #6424
Template

Before submitting a pull request make sure you have:

[X] At least skimmed through contributing guidelines including yt-dlp coding conventions
[X] Searched the bugtracker for similar pull requests
[X] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[X] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[X] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

I fixed a doubled up empty line that was created by one of your suggested changes, and applied the same to the last remaining branch as well. I have also changed the formatting of the first call to self._download_webpage_handle() to match that of the two-factor download.

Pls don't force push. Dirty commits are fine - they will be squashed before merge

Pls don't force push. Dirty commits are fine - they will be squashed before merge

Thanks, I will remember that for future PRs.


Error Building FBX-glTF Release

Building on Mac OSX, I've run into this error...
In file included from /Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.cpp:22:
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.h:51:7: error: class member cannot be redeclared
        void appendCode (const utility::char_t *format, ...) ;
             ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.h:50:7: note: previous declaration is here
        void appendCode (const char *format, ...) ;
             ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.cpp:96:18: error: redefinition of 'appendCode'
void glslShader::appendCode (const utility::char_t *format, ...) {
                 ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.cpp:83:18: note: previous definition is here
void glslShader::appendCode (const char *format, ...) {

So, it looks like it couldn't find libcpprest...I updated it to look for 2.8, which is the one I had to install. Yet the problem above still existed. I removed the appendCode( const utility::char_t...) from .h and .cpp, which is probably not correct but it continued to build after that and now I'm getting these errors...
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:305:71: error: non-const lvalue reference to
      type 'fbxsdk_2015_1::FbxProperty' cannot bind to a temporary of type 'fbxsdk_2015_1::FbxProperty'
                pPhongSurface->TransparencyFactor, pPhongSurface->TransparentColor, pPhongSurface->FindProperty ("Opacity"),
                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:190:91: note: passing argument to parameter
      'propertyOpaque' here
        FbxPropertyT<FbxDouble> &property, FbxPropertyT<FbxDouble3> &propertyColor, FbxProperty &propertyOpaque,
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:340:75: error: non-const lvalue reference to
      type 'fbxsdk_2015_1::FbxProperty' cannot bind to a temporary of type 'fbxsdk_2015_1::FbxProperty'
  ...pLambertSurface->TransparencyFactor, pLambertSurface->TransparentColor, pLambertSurface->FindProperty ("Opacity"),
                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:190:91: note: passing argument to parameter
      'propertyOpaque' here
        FbxPropertyT<FbxDouble> &property, FbxPropertyT<FbxDouble3> &propertyColor, FbxProperty &propertyOpaque,
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.cpp:514:90: error: cannot pass object of non-trivial type
      'utility::string_t' (aka 'basic_string<char, char_traits<char>, allocator<char> >') through variadic method; call will
      abort at runtime [-Wnon-pod-varargs]
  ..._fragmentShader.appendCode (U("if ( cosAngle > cos (radians (u_%s * 0.5)) ) {\n"), szLightFallOffAngle) ;
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/glslShader.cpp:515:90: error: cannot pass object of non-trivial type
      'utility::string_t' (aka 'basic_string<char, char_traits<char>, allocator<char> >') through variadic method; call will
      abort at runtime [-Wnon-pod-varargs]
  ..._fragmentShader.appendCode (U("attenuation *=max (0., pow (cosAngle, u_%s)) ;\n"), szLightFallOffExponent) ;
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:369:34: error: non-const lvalue reference to
      type 'fbxsdk_2015_1::FbxProperty' cannot bind to a temporary of type 'fbxsdk_2015_1::FbxProperty'
                factorProperty, colorProperty, pMaterial->FindProperty ("Opacity"),
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:190:91: note: passing argument to parameter
      'propertyOpaque' here
        FbxPropertyT<FbxDouble> &property, FbxPropertyT<FbxDouble3> &propertyColor, FbxProperty &propertyOpaque,
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:404:34: error: non-const lvalue reference to
      type 'fbxsdk_2015_1::FbxProperty' cannot bind to a temporary of type 'fbxsdk_2015_1::FbxProperty'
                factorProperty, colorProperty, pMaterial->FindProperty ("Opacity"),
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:190:91: note: passing argument to parameter
      'propertyOpaque' here
        FbxPropertyT<FbxDouble> &property, FbxPropertyT<FbxDouble3> &propertyColor, FbxProperty &propertyOpaque,
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:448:34: error: non-const lvalue reference to
      type 'fbxsdk_2015_1::FbxProperty' cannot bind to a temporary of type 'fbxsdk_2015_1::FbxProperty'
                factorProperty, colorProperty, pMaterial->FindProperty ("Opacity"),
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Material.cpp:190:91: note: passing argument to parameter
      'propertyOpaque' here
        FbxPropertyT<FbxDouble> &property, FbxPropertyT<FbxDouble3> &propertyColor, FbxProperty &propertyOpaque,
                                                                                ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Shaders.cpp:80:50: error: use of undeclared identifier
      'fileName'
                                shaderFilename =FbxPathUtils::GetFolderName (fileName) + "/" + shaderFilename ;
                                                                             ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Shaders.cpp:84:23: error: cannot initialize a parameter of
      type 'const char_type *' (aka 'const wchar_t *') with an rvalue of type 'const value_type *' (aka 'const char *')
                                shaderFile.write (tech.vertexShader ().source ().c_str (), tech.vertexShader ().source ()...
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:212:43: note:
      passing argument to parameter '__s' here
    basic_ostream& write(const char_type* __s, streamsize __n);
                                          ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Shaders.cpp:93:50: error: use of undeclared identifier
      'fileName'
                                shaderFilename =FbxPathUtils::GetFolderName (fileName) + "/" + shaderFilename ;
                                                                             ^
/Users/ryanbartley/Documents/glTF/FBX2GLTF/FBX-glTF/IO-glTF/gltfWriter-Shaders.cpp:97:23: error: cannot initialize a parameter of
      type 'const char_type *' (aka 'const wchar_t *') with an rvalue of type 'const value_type *' (aka 'const char *')
                                shaderFile.write (tech.fragmentShader ().source ().c_str (), tech.fragmentShader ().sourc...
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/ostream:212:43: note:
      passing argument to parameter '__s' here
    basic_ostream& write(const char_type* __s, streamsize __n);

Any help with these build problems would be greatly appreciated.

I'm having the exact problem as @ryanbartley.
So if anyone knows how to get through this we'll be both very pleased !!
Here is the output of my make command after I updated the libcpprest path to 2.8 :
[  3%] Building CXX object IO-glTF/CMakeFiles/IO-glTF.dir/glslShader.cpp.o
In file included from /Applications/FBX-glTF/IO-glTF/glslShader.cpp:22:
/Applications/FBX-glTF/IO-glTF/glslShader.h:51:7: error: class member cannot be
      redeclared
        void appendCode (const utility::char_t *format, ...) ;
             ^
/Applications/FBX-glTF/IO-glTF/glslShader.h:50:7: note: previous declaration is
      here
        void appendCode (const char *format, ...) ;
             ^
/Applications/FBX-glTF/IO-glTF/glslShader.cpp:96:18: error: redefinition of
      'appendCode'
void glslShader::appendCode (const utility::char_t *format, ...) {
                 ^
/Applications/FBX-glTF/IO-glTF/glslShader.cpp:83:18: note: previous definition
      is here
void glslShader::appendCode (const char *format, ...) {
                 ^
2 errors generated.
make[2]: *** [IO-glTF/CMakeFiles/IO-glTF.dir/glslShader.cpp.o] Error 1
make[1]: *** [IO-glTF/CMakeFiles/IO-glTF.dir/all] Error 2
make: *** [all] Error 2

Same problem for me too, unfortunately. Same output as @ryanbartley and @jazone. Would love to know the solution if there is one.

Anybody found a solution for that issue?

Having the same problem here.

Is this project closed? Would you be willing to take a PR replacing the enormous dependency of Casablanca AKA C++REST with a simple header only json engine?

@cyrillef @ryanbartley that's a good idea -

Preliminary work of swapping out the json engine can be found here. Tested and working on OSX. Need to update windows and linux, which I can do this week.

$ make
Scanning dependencies of target jsoncpp
[  3%] Building CXX object jsoncpp/CMakeFiles/jsoncpp.dir/jsoncpp.cpp.o
[  6%] Linking CXX shared library ../Release/libjsoncpp.so
[  6%] Built target jsoncpp
Scanning dependencies of target IO-glTF
[ 10%] Building CXX object IO-glTF/CMakeFiles/IO-glTF.dir/IOglTF.cpp.o
In file included from /usr/local/src/FBX-glTF/IO-glTF/StdAfx.h:72:0,
                 from /usr/local/src/FBX-glTF/IO-glTF/IOglTF.cpp:21:
/usr/local/src/FBX-glTF/IO-glTF/memoryStream.h: In member function ‘void glTF::memoryStream<T>::read(T*, size_t)’:
/usr/local/src/FBX-glTF/IO-glTF/memoryStream.h:90:3: error: ‘memcpy’ is not a member of std’
   std::memcpy (reinterpret_cast<void *>(p), &_vec [_index], size) ;
   ^
/usr/local/src/FBX-glTF/IO-glTF/memoryStream.h:90:3: note: suggested alternative:
In file included from /usr/local/fbx20151_fbxsdk_linux/include/fbxsdk/fbxsdk_def.h:28:0,
                 from /usr/local/fbx20151_fbxsdk_linux/include/fbxsdk.h:43,
                 from /usr/local/src/FBX-glTF/IO-glTF/StdAfx.h:64,
                 from /usr/local/src/FBX-glTF/IO-glTF/IOglTF.cpp:21:
/usr/include/string.h:42:14: note:   ‘memcpy’
 extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
              ^
make[2]: *** [IO-glTF/CMakeFiles/IO-glTF.dir/IOglTF.cpp.o] Error 1
make[1]: *** [IO-glTF/CMakeFiles/IO-glTF.dir/all] Error 2
make: *** [all] Error 2

Hi,
I am extremely sorry for the delay.
The build issue has been fixed in 'dev' branch.
Thanks,
Vijaya Praaksh.


Update MD file on new branch 2017-34-17_13-12-08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef.md
:white_check_mark:Succeeded

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


[452] add gias spike

Context
This is a spike to see how we might explore how our data matches with the data in GIAS, with the goal of being able to extract URNs and UKPRNs for as much of our data as we can to help kick-start the process of getting this data into our db.
Changes proposed in this pull request
This adds the GIAS importer, matcher and dashboard. This is a private set of pages to explore how the data in TTAPI matches with GIAS data.
Guidance to review
This can be run locally, and is hidden behind a feature flag that is not enabled for any other environment currently. To run this graphviz needs to be installed locally.
To support this in a Docker container some extra work will need doing to include graphviz in the Docker container. The ruby-graphviz gem's docs maybe useful.
This PR builds ontop of work in https://github.com/DFE-Digital/teacher-training-api/pull/1823 and requires that that PR be merged first.
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[ ] Cleaned commit history
[ ] Tested by running locally

 [M] Add DSI integration to TTAPI (on the GIAS data branch) Part 2 followup

Can we close this PR now @misaka


Couldn't get thread body

I want to get the body by the way below but threadDetail.EEmbedded.Threads is always null
Could you please help
foreach (var item in conversations) {
                var threadEndpoint = client.Conversations.Endpoints.Threads(item.Id);
                var threadList = await threadEndpoint.List();

                foreach (var threadDetail in threadList.Items)
                {
                    if (threadDetail.EEmbedded != null && threadDetail.EEmbedded.Threads != null)
                    {
                        foreach (var thread in threadDetail.EEmbedded.Threads)
                        {
                            var body = thread.Body;
                        }
                    }
                }

}

@thinhcd, did you find a solution?


argument checking could improve

e.g.
(venv) (main) [hgv27681@pc0116 bl38p]$ ec ioc template iocs/bl38p-ea-ioc-01
ERROR:  ERROR: IOC instance requires values.yaml and config

Should say iocs/bl38p-ea-ioc-01 not found.

fixed in all commands that use Path args by using stricter typer checking.


When generating Ruby texttospeech v1, credentials.rb gets generated in the wrong place

Ran the Ruby generator on texttospeech v1.
It generated the file lib/google/cloud/text_to_speech/v1/credentials.rb.
This file is supposed to be located at lib/google/cloud/text_to_speech/credentials.rb

This one should be fixed by #2079 and the new behavior is to version this file (i.e it should go in the v1 directory).
Also, @landrito this is the kind of thing your recent testing proposal would help catch... so let's push for that soon.

Ah, that makes sense. Okay, closing.


[iOS]TextField can't delete or insert charactor in the middle of pinyin

Flutter 2.2.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f4abaa0735 (2 weeks ago) • 2021-07-01 12:46:11 -0700
Engine • revision 241c87ad80
Tools • Dart 2.13.4
iphone 11    ios14.5
import 'package:flutter/material.dart';

void main() {
  runApp(FlutterView());
}

class FlutterView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter View',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  void initState() {
    super.initState();
  }

  final TextEditingController _textEditingController = TextEditingController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: TextField(
          controller: _textEditingController,
        ),
      ),
    );
  }
}

https://user-images.githubusercontent.com/7564843/125759418-07e38eb6-4ba8-419e-b3b9-dfd3dc0e0847.MP4

@todoger
Tried your code sample on latest master using iphone 6s (14.4.1) and used chinese-simplified language which worked properly as below:
https://user-images.githubusercontent.com/67046386/125771284-7c780c1f-bbb4-482f-902e-bf9d7253876a.MP4

 flutter doctor -v
dhs@Dhss-MacBook-Pro ~ % flutter doctor -v
[✓] Flutter (Channel master, 2.4.0-5.0.pre.55, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.4.0-5.0.pre.55 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b549e829e8 (11 hours ago), 2021-07-14 15:51:10 -0700
    • Engine revision 093c4ed1a3
    • Dart version 2.14.0 (build 2.14.0-312.0.dev)

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 91.0.4472.114

• No issues found!

@todoger
Tried your code sample on latest master using iphone 6s (14.4.1) and used chinese-simplified language which worked properly as below:
RPReplay-Final1626343756.MP4
flutter doctor -v

the problem is that we can't insert charactor in the middle of  the text with underline
https://user-images.githubusercontent.com/7564843/125777237-399594dc-665b-4095-b591-0cc61ba4e4f8.MP4

UITextField  in safari
as we expected
https://user-images.githubusercontent.com/7564843/125778259-39513867-5a5c-48f7-abf0-5ba8ecf7d4ae.MP4

Thanks for the details. I see the same behavior, as below:
https://user-images.githubusercontent.com/67046386/125780887-76f1e6f7-c5a3-482a-a8d9-4fca2f8d1055.MP4

 flutter doctor -v
[✓] Flutter (Channel master, 2.4.0-5.0.pre.55, on Mac OS X 10.15.4 19E2269
    darwin-x64, locale en-GB)
    • Flutter version 2.4.0-5.0.pre.55 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b549e829e8 (13 hours ago), 2021-07-14 15:51:10 -0700
    • Engine revision 093c4ed1a3
    • Dart version 2.14.0 (build 2.14.0-312.0.dev)

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.57.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (4 available)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 91.0.4472.114

• No issues found!

Any update on this problem?

@darshankawar Can you try reproducing this again on the latest master when you have a chance?  This issue looks like it would be a major problem for all iOS Chinese keyboard users, but there doesn't seem to be a lot of traffic here.

@justinmc Sure.

Hello @justinmc I verified this issue using latest master on iOS device and observed following:

Using Chinese-simplified keyboard, if we input a text with underline (ex: type chan, enter space that will convert the word in chinese and type in another text such as chen, then move cursor between the entered text and try to type which won't allow to input in the middle but will continue at the end of the entered text as shown below:

https://github.com/flutter/flutter/assets/67046386/fc566c6d-d7a9-47bd-8892-7b968ca026c2

In this case, if we let the entered text get converted into Chinese and then try to input in between the text, then it allows the text to be inserted in the middle as shown in same video.

TLDR: as long as the text being input is shown in English, then it doesn't allow any input in the middle. If the text gets converted into Chinese by entering space after the word and then if we try to input in the middle, then it allows to do so.

@darshankawar Thanks for doing that investigation!  Sounds like a very bad experience for users with Chinese keyboards and we should definitely fix this.


Adding attachment infomation to downloads database for it will appear in Downloads App

Addressing issue#745 partially by adding downloaded attachment information to Downloads database.

@cketti can you take a look at this and suggest if anything more required for the change?

Thanks!
I added a few changes: https://github.com/k9mail/k-9/compare/ed2a7e3454794a1e10cc9e27f7f65bf2fdc71392...905359a291e9566cb32bf646b64ad99ec38d3066


Feature Charts: Add Longhorn 1.5.2 Chart in 2.7.x

Longhorn has an upcoming release 1.5.2 in October so we need to add this new release in the feature charts along with Rancher 2.7.x. We will probably need to make this OOB.
Add 1.5.2 LH chart in feature chart 2.7.x - Cluster Manager/Rancher Marketplace
Cc: @cchien816 @gunamata @innobead @khushboo-rancher @yangchiu @PhanLe1010 @rohitsakala

Closing as will not do. We plan to release the 1.5.3 chart instead. Details on the Longhorn 1.5.3 chart can be found here: https://github.com/rancher/rancher/issues/43566


Documentation bug: "id" option not listed under TileLayer options

Thanks for this wonderful library!
The "id" option looks to be a mandatory one when specifying TileLayer options, but it's not specified in the documentation under the direct/inherited sections.

The "id" option looks to be a mandatory one

No, it's not.

@IvanSanchez, I apologize; I should have been a little more detailed.

When I specify "id" (line number 20 here) in the TileLayer options, everything works fine. Now, when I comment out just the "id" option, the console throws "Uncaught Error: No value provided for variable {id}"
The "id" option is nowhere specified in the TileLayer documentation

See https://docs.mapbox.com/api/maps/raster-tiles/ and the bit in https://leafletjs.com/reference-1.7.1.html#tilelayer which says «You can use custom keys in the template, which will be evaluated from TileLayer options».
See also https://github.com/leaflet-extras/leaflet-providers / https://leaflet-extras.github.io/leaflet-providers/preview/ . Do not confuse Leaflet functionality with the parameters of a tile service.

Got it. Thanks for sharing leaflet-providers resource. That helps.


Android notifications always have the same size, even if no title, subtitle and body are set

Android allows creating notifications without any of those fields, but we default them to '', so if we create a notification without any of them, it will still have the same size as if it was using them.
To fix this, those values should have no default value.
Fix coming today.

Fixed.


JTReg Test Failure: java/net/Inet4Address/PingThis.java

Machines affected: test-ibm-ppc64-aix-71-1 and 2
JDK Versions: all
JVM: both
Platform: ppc64 aix
Passing run on build-osuosl-ppc64-aix-71-1: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2169/
Failing run: https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/2167/
10:17:53  STDOUT:
10:17:53  The target ip is <IP_ADDRESS>
10:17:53  the target is reachable: false
10:17:53  Test failed
10:17:53  STDERR:
10:17:53  java.lang.Exception: address <IP_ADDRESS> can not be reachable!
10:17:53  	at PingThis.main(PingThis.java:86)
10:17:53  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
10:17:53  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
10:17:53  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
10:17:53  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
10:17:53  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
10:17:53  	at java.base/java.lang.Thread.run(Thread.java:834)

@sej-jackson Are you able to work with @adam-thorpe to investigate this failing test case this week?

@sej-jackson @sxa

Considering that both ibm systems have recently been rebuilt - can this be verified as still an issue - and stay open - or have we already seen enough testing the last week with the new builds to close is as 'no longer relevant'.

Need to run a Grindet to verify before closing, especially since this is quite an old issue

Is this a sanity/functional or what test (family)?

It's jtreg so will be part of the openjdk suite: https://github.com/adoptium/jdk8u/blob/master/jdk/test/java/net/Inet4Address/PingThis.java

Goiing to have to go back to school to understand where/how to enter jtreg as a test target/classification.

Don't need to - use jdk_custom as the target then put the full path to the java file in the field below.
See the instructions on replicating test failures in https://github.com/adoptium/infrastructure/blob/master/FAQ.md#how-do-i-replicate-a-test-failure

Result is different on test-osuosl-aix72-ppc64-2 - says test passed, but there is still STDERR message.
Checking on the ibm and build systems.
00:04:32.146          PingThis
00:04:32.146  STDOUT:
00:04:32.146  The target ip is <IP_ADDRESS>
00:04:32.146  the target is reachable: true
00:04:32.146  Test passed
00:04:32.146  The target ip is 0:0:0:0:0:0:0:0
00:04:32.146  STDERR:
00:04:32.146  java.net.SocketException: A system call received a parameter that is not valid.
00:04:32.146  	at java.net.Inet6AddressImpl.isReachable0(Native Method)
00:04:32.146  	at java.net.Inet6AddressImpl.isReachable(Inet6AddressImpl.java:77)
00:04:32.146  	at java.net.InetAddress.isReachable(InetAddress.java:503)
00:04:32.146  	at java.net.InetAddress.isReachable(InetAddress.java:462)
00:04:32.146  	at PingThis.main(PingThis.java:80)
00:04:32.146  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:04:32.146  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:04:32.147  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:04:32.147  	at java.lang.reflect.Method.invoke(Method.java:498)
00:04:32.147  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
00:04:32.147  	at java.lang.Thread.run(Thread.java:748)
00:04:32.147
00:04:32.147  JavaTest Message: Test threw exception: java.net.SocketException
00:04:32.147  JavaTest Message: shutting down test
00:04:32.147
00:04:32.147
00:04:32.147  TEST RESULT: Failed. Execution failed: `main' threw exception: java.net.SocketException: A system call received a parameter that is not valid.

so, on ibm-test-aix71-ppc64-1, test still fails as the original post:
00:04:01.352          PingThis
00:04:01.352  STDOUT:
00:04:01.352  The target ip is <IP_ADDRESS>
00:04:01.352  the target is reachable: false
00:04:01.352  Test failed
00:04:01.352  STDERR:
00:04:01.352  java.lang.Exception: address <IP_ADDRESS> can not be reachable!
00:04:01.352  	at PingThis.main(PingThis.java:86)
00:04:01.352  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:04:01.352  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:04:01.352  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:04:01.352  	at java.lang.reflect.Method.invoke(Method.java:498)
00:04:01.352  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
00:04:01.352  	at java.lang.Thread.run(Thread.java:748)
00:04:01.352
00:04:01.353  JavaTest Message: Test threw exception: java.lang.Exception
00:04:01.353  JavaTest Message: shutting down test
00:04:01.353
00:04:01.353
00:04:01.353  TEST RESULT: Failed. Execution failed: `main' threw exception: java.lang.Exception: address <IP_ADDRESS> can not be reachable!

WHILE on build-osuosl-aix71-ppc64-1 the test results are the same as with the aix72 system - test 'passes', but there is STDERR.
See https://ci.adoptopenjdk.net/job/Grinder/1549/, https://ci.adoptopenjdk.net/job/Grinder/1550/, and https://ci.adoptopenjdk.net/job/Grinder/1551/

As a last check, I also ran on test-osuosl-aix71-ppc64-1 and got the same result as on the other OSUOSL systems: test-PASS, with STDERR, so, unstable as final result:
00:05:01.595          PingThis
00:05:01.595  STDOUT:
00:05:01.595  The target ip is <IP_ADDRESS>
00:05:01.595  the target is reachable: true
00:05:01.595  Test passed
00:05:01.595  The target ip is 0:0:0:0:0:0:0:0
00:05:01.595  STDERR:
00:05:01.595  java.net.SocketException: Invalid argument
00:05:01.595  	at java.net.Inet6AddressImpl.isReachable0(Native Method)
00:05:01.595  	at java.net.Inet6AddressImpl.isReachable(Inet6AddressImpl.java:77)
00:05:01.595  	at java.net.InetAddress.isReachable(InetAddress.java:503)
00:05:01.595  	at java.net.InetAddress.isReachable(InetAddress.java:462)
00:05:01.595  	at PingThis.main(PingThis.java:80)
00:05:01.595  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
00:05:01.595  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
00:05:01.595  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
00:05:01.596  	at java.lang.reflect.Method.invoke(Method.java:498)
00:05:01.596  	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:298)
00:05:01.596  	at java.lang.Thread.run(Thread.java:748)
00:05:01.596
00:05:01.596  JavaTest Message: Test threw exception: java.net.SocketException
00:05:01.596  JavaTest Message: shutting down test
00:05:01.596
00:05:01.596
00:05:01.596  TEST RESULT: Failed. Execution failed: `main' threw exception: java.net.SocketException: Invalid argument
...
[Pipeline] End of Pipeline
Finished: UNSTABLE

FYI:

test-ibm-aix71-ppc64-1:

p159a01:/ # oslevel -s -q | head -4
Known Service Packs
-------------------
7100-05-06-2016
7100-05-06-2015

build-osuosl-aix71-ppc64-2:

Known Service Packs
-------------------
7100-04-04-1717
7100-04-03-1642

test-osuosl-aix71-ppc64-1

Known Service Packs
-------------------
7100-05-06-2028
7100-05-06-2016

Have to guess, but it seems there is a difference in configuration settings on the ibm hoisted systems.

OK - simplifying the issue:
PING <IP_ADDRESS>: (<IP_ADDRESS>): 56 data bytes

--- <IP_ADDRESS> ping statistics ---
10 packets transmitted, 0 packets received, 100% packet loss

compared with:
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: icmp_seq=0 ttl=255 time=0 ms
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=255 time=0 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=255 time=0 ms

IMHO: this is not a java failure, but configuration side-effect. Although, it might be nice to understand what the Invalid Argument is. But that will need assistance from IBM AIX network developers, I expect).

OK. Gone about several tests on many AIX hosts - and
a) I am amazed that the OSUOSL systems respond at all on "<IP_ADDRESS>"
b) Looking on Linux (centos-7) I see that cli ping turns <IP_ADDRESS> into <IP_ADDRESS> and ::0 into ::1
c) AIX responds, according to documentation with <IP_ADDRESS> for both "InetAddress.getByName("") and InetAddress.getByName(null)
d) AIX responds with a error (command line) to "ping -a inet6 ::0"
ping -a inet6 ::0
ping: bind: Can't assign requested address

Willing to work on a change to the test, so it passes for AIX, by using different constants, but need a bit of help on what to clone - all of openjdk? or just the tests?

@aixtools Any change would need to be submitted to the upstream openjdk project if we can develop a fix - I wouldn't want to modify the code in our mirror of the respotories, however until we do that (It'll take a while to "round-trip" the test and a fix through openjdk) we should probably exclude the test on AIX for now if it's not easy to change the behavior via a change on the machine. (FYI @smlambert )

Basically, I was thinking:
    public static void main(String args[]) throws Exception {
        if (System.getProperty("os.name").startsWith("Windows")) {
            return;
        }
        boolean isAIX = System.getProperty("os.name").startsWith("AIX");

        boolean preferIPv4Stack = "true".equals(System
                .getProperty("java.net.preferIPv4Stack"));
        List<String> addrs = new ArrayList<String>();
        InetAddress inetAddress = null;

        addrs.add("");  // "<IP_ADDRESS>" is not compareable with null
        if (!preferIPv4Stack) {
            if (hasIPv6()) {
                if (isAIX) {
                    addrs.add("::1");
                } else {
                    addrs.add("::0");
            }
        }

        for (String addr : addrs) {
            System.out.println("The target ip is "
                    + addr);
            inetAddress = InetAddress.getByName(addr);
            System.out.println("The target ip is "
                    + inetAddress.getHostAddress());
            boolean isReachable = inetAddress.isReachable(3000);
            System.out.println("the target is reachable: " + isReachable);
            if (isReachable) {
                System.out.println("Test passed ");
            } else {
                System.out.println("Test failed ");
                throw new Exception("address " + inetAddress.getHostAddress()
                        + " can not be reachable!");
            }
        }
    }
}

using "" rather than "<IP_ADDRESS>" as a 0 length string is closer to null
for AIX, if IPv6 is active, provide "::1".

@aixtools Any change would need to be submitted to the upstream openjdk project if we can develop a fix - I wouldn't want to modify the code in our mirror of the respotories, however until we do that (It'll take a while to "round-trip" the test and a fix through openjdk) we should probably exclude the test on AIX for now if it's not easy to change the behavior via a change on the machine. (FYI @smlambert )

So, short term - exclude the test (to resolve this), and I guess a new issue is needed upstream.

Was this test excluded? If so, please activate again.
I'll submit a PR upstream asap.

Looks to have been excluded at https://github.com/adoptium/aqa-tests/blame/master/openjdk/excludes/ProblemList_openjdk8.txt#L196 (and the equivalent line for OpenJ9 in https://github.com/adoptium/aqa-tests/blame/master/openjdk/excludes/ProblemList_openjdk8-openj9.txt)
We wouldn't want to re-enable that until we have verified that it passes (the point of us excluding is that we don't run things that won't work)
Suggest running a grinder with TARGET=jdk_custom and then filling in the CUSTOM_TARGET field (Not certin of the correct syntax in this case but it's possibly just java/net/Inet4Address/PingThis (If that doesn't work try with the .java extension)

Update: backports are not being accepted at https://github.com/openjdk/jdk8u.
It is testable via https://github.com/aixtools/jdk8u, branch PingThis_AIX

In that case we have two options
(1) Hold a patch ourselves (Not ideal)
(2) Leave it permanently excluded
I'd vote for the latter option in this case. FYI @smlambert

Update: backports are not being accepted at https://github.com/openjdk/jdk8u.
It is testable via https://github.com/aixtools/jdk8u, branch PingThis_AIX

In that case we have two options (1) Hold a patch ourselves (Not ideal) (2) Leave it permanently excluded
I'd vote for the latter option in this case. FYI @smlambert

Well, it may take a while - but I would like to see it fixed upstream, and IF that happens, remove the exclusion again.

aka - semi-permanent.

For now, I suggest we close this issue as resolved (semi-)-permanent exclusion. I'll open a new issue, should there ever be good news from upstream.

iirc: this has been fixed upstream - or is meant to be - as official 'skip on AIX' similar to Windows (also skipped).
Not sure if it is also being backported, but seems a good reason to simply add this to the 'skipped' tests file for adoptium testing on AIX. And then this could be closed.

has this been added to 'skipTests'? if yes, please close.
If not, does a new issue need to be opened (referencing this) to add this test to 'skipTests'?


Linux binaries is not ELF binaries

Both pre-compiled binaries are Mach-O 64-bit executables, not ELF.

I'm not sure how that happened, should be fixed now.


Help with detecting polygon

With my application, I only want the user to be able to save if they have closed off the line to form a polygon, I don't want them to be able to save if they just have a line(s) somewhere that don't connect to form a polygon. Is there a way to detect this?

To detect whenever a new shape is finished (so a new layer gets created) you can use this:
// listen to when a new layer is created
map.on('pm:create', function(e) {
    e.shape; // the name of the shape being drawn (i.e. 'Circle')
    e.layer; // the leaflet layer created
});

See the readme for more details


Admission control attributes has access to resource name

I have a use case where I want to prohibit deletion of a resource because it is immortal!
In OpenShift we have a couple namespaces that should never be deleted that hold key infrastructure components required to run the server.  I want to prevent deletion of these namespaces via admission control as a backstop to our own policy enforcement.
In order to support an immortal resource in admission control, I need access to the resource name and namespace on the request.  Right now, we just had namespace because we were pulling name from the request object on create/update.  On delete, that object is not available so we need to pass it into admission control.
I am fine if this is post Kube 1.0.
Related: https://github.com/openshift/origin/issues/3274

Assigned @bgrant0607
v1.0 triage needed

@bgrant0607 - do you want to block deletion of the default namespace in Kube 1.0?  In the GCE scenario (not sure about GKE), if a user was to delete the namespace, the system does reprovision it with the requisite services, but it would result in losing all the add-ons, etc.  In OpenShift, we were concerned about deleting our openshift-infra namespace because that holds the service account credentials used to run all of our controllers.  It's protected via policy and auth, but the root account could accidentally delete it (which I did when testing), and bad things result from that for us.  Either way, I could see an argument that the default namespace is also immortal and should not be purged at least for Kube 1.0.  If you agree, I can augment this PR with a change to NamespaceLifecycle plug-in to prevent deletion of default namespace.

Yes, deletion of the default namespace would not be good.

Ok.  I will add that to this PR tomorrow and poke it.

@bgrant0607 - I modified the PR to prevent deletion of the default namespace.  This should be good to go.

LGTM.
This does mean that we'll probably need to add a special shutdown method to enable us to recursively delete everything, as discussed in #4630, but we can cross that bridge later.

I proposed a solution to the shutdown problem in #10179.

@derekwaynecarr, the shippable failure looks like bad sync. Can you rebase?

Rebased.  Will see how shippable responds this time.

Sorry something else I merged caused a conflict. On the bright side, the test that was causing timeouts is disabled at head, so rebase should also fix Shippable.

Auto-merging plugin/pkg/admission/serviceaccount/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/serviceaccount/admission_test.go
Auto-merging plugin/pkg/admission/securitycontext/scdeny/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/securitycontext/scdeny/admission_test.go
Auto-merging plugin/pkg/admission/resourcequota/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/resourcequota/admission_test.go
Auto-merging plugin/pkg/admission/namespace/lifecycle/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/namespace/lifecycle/admission_test.go
Auto-merging plugin/pkg/admission/namespace/autoprovision/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/namespace/autoprovision/admission_test.go
Auto-merging plugin/pkg/admission/exec/denyprivileged/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/exec/denyprivileged/admission_test.go
Auto-merging plugin/pkg/admission/deny/admission_test.go
CONFLICT (content): Merge conflict in plugin/pkg/admission/deny/admission_test.go
Auto-merging pkg/apiserver/resthandler.go
CONFLICT (content): Merge conflict in pkg/apiserver/resthandler.go
Auto-merging pkg/admission/interfaces.go
CONFLICT (content): Merge conflict in pkg/admission/interfaces.go
Auto-merging pkg/admission/attributes.go
CONFLICT (content): Merge conflict in pkg/admission/attributes.go
Automatic merge failed; fix conflicts and then commit the result.

#10052 was merged, so my guess is that this conflicts with that.

Rebased.


Bot to post who the new build champ is?

Currently the build champ role can get forgotten and relies on my checking the ✅ emojis in #build against https://github.com/microsoft/vscode-internalbacklog/blob/main/assignments/build-champs.md to make sure everything is working correctly. It'd be nice if the ping happened automatically.

Slackbot is currently being used, will close this for now. If we get an API that isn't just scanning the internal backlog then this can be done better but right now the info is very fragmented.


1.10.2 Server crash loop

Unsure whether this is an issue with Advanced Generators or Ender IO however the attached crash log has been generated by one of the members on my server. He was connecting an Ender IO fluid conduit (top tier ender I think) to a fluid input port but when configuring it to in port they turned off needing a redstone signal to work while it was configured to export. So the pipe is trying to output from an input.
Mod Version: generators-<IP_ADDRESS>-mc1.10.2.jar
crash-2016-07-25_21.57.46-server.txt

I think it's a bug in bdlib. Try updating to this build - http://minecraft.curseforge.com/projects/bdlib/files/2318792 and see if it fixes it.

Seems to be ok will let you know if we have other issues. Thanks.


Corrected documentation of Graphs. Corrected binary-tree to Binary Se…

…arch Tree
Do the checklist before submitting the PR:

[x] Have you read the guidelines mentioned in CONTRIBUTING.md?
[x] Have you squashed your commits?

Q: What version of Node.js you've used in the project? (e.g. Node v10.11.0)
A:v11.6.0
Q: Mention the Issue Number! (e.g. Fixed #8)
A:Issue #209

Give additional information regarding the PR below:

Codecov Report

Merging #212 into master will decrease coverage by 82.22%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #212       +/-   ##
===========================================
- Coverage     100%   17.77%   -82.23%
===========================================
  Files          80       19       -61
  Lines        1451      405     -1046
===========================================
- Hits         1451       72     -1379
- Misses          0      333      +333

Impacted Files
Coverage Δ

src/validation/argument-length.js
5.55% <0%> (-94.45%)
:arrow_down:

src/validation/number-array.js
11.11% <0%> (-88.89%)
:arrow_down:

src/Matrix/index.js
11.49% <0%> (-88.51%)
:arrow_down:

src/bell/index.js
13.33% <0%> (-86.67%)
:arrow_down:

src/validation/integer-array.js
14.28% <0%> (-85.72%)
:arrow_down:

src/matrixChain/index.js
15.78% <0%> (-84.22%)
:arrow_down:

src/matrixExponentiation/index.js
16% <0%> (-84%)
:arrow_down:

src/complex/index.js
17.07% <0%> (-82.93%)
:arrow_down:

src/absolute/index.js
17.39% <0%> (-82.61%)
:arrow_down:

src/add/index.js
20% <0%> (-80%)
:arrow_down:

... and 68 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 6c75b30...7af6a25. Read the comment docs.


ximgproc: graphsegmentation and selectivesearchsegmentation

This is a very basic PR for ximgproc.
I implemented only the features I needed, so more works is needed for the full ximgproc implementation, but I can already be usefull and/or a base for futur work.
This need to be build with a recent version of opencv_contrib. I added a cmake option to disable the requirement of opencv_contrib as it's an option in opencv.
Related to #69 .

@the-glu
Nice job! Will merge as you check out my few remarks

I pushed fix for all remarks.
If everything is ok I can squash commits before the merge :)

@the-glu
Cool, thanks! And yes, please, -- a single clean commit would be better!

Commit squashed :)


Update readme section: Refreshing Access Token

The argument refresh_token should be passed to constructor Oauth2SessionManager() in order to be able to refresh the token. Argument base_url useless in that usecase.
Typo in the name of the method session_manager.refresh_access_tokens

Coverage remained the same at 91.086% when pulling f4d1d6a29cade8efa43be6d15baa09b734a37aca on qpleple:patch-1 into 4cb2b6da46423bad8b32b85d87f9a97b698144fd on sidecars:master.


When writing my own controller, always face the error: libfranka: Move command aborted: motion aborted by reflex! ["cartesian_motion_generator_joint_acceleration_discontinuity"]

I want to write my own controller based on the cartesian_example_controller. I have tried two ways to send_command in update() function.
1 send the the command directly without using the RobotState.O_T_EE_D
the cartesian_move_controller.cpp code is listed as follow:
// Copyright (c) 2023 Franka Robotics GmbH
// Use of this source code is governed by the Apache-2.0 license, see LICENSE
#include <franka_example_controllers/cartesian_move_controller.h>

#include <cmath>
#include <memory>
#include <stdexcept>
#include <string>

#include <controller_interface/controller_base.h>
#include <franka_hw/franka_cartesian_command_interface.h>
#include <hardware_interface/hardware_interface.h>
#include <pluginlib/class_list_macros.h>
#include <ros/ros.h>

namespace franka_example_controllers {

bool CartesianMoveController::init(hardware_interface::RobotHW* robot_hardware,
                                          ros::NodeHandle& node_handle) {
  cartesian_pose_interface_ = robot_hardware->get<franka_hw::FrankaPoseCartesianInterface>();
  if (cartesian_pose_interface_ == nullptr) {
    ROS_ERROR(
        "CartesianPoseExampleController: Could not get Cartesian Pose "
        "interface from hardware");
    return false;
  }

  std::string arm_id;
  if (!node_handle.getParam("arm_id", arm_id)) {
    ROS_ERROR("CartesianPoseExampleController: Could not get parameter arm_id");
    return false;
  }

  try {
    cartesian_pose_handle_ = std::make_unique<franka_hw::FrankaCartesianPoseHandle>(
        cartesian_pose_interface_->getHandle(arm_id + "_robot"));
  } catch (const hardware_interface::HardwareInterfaceException& e) {
    ROS_ERROR_STREAM(
        "CartesianPoseExampleController: Exception getting Cartesian handle: " << e.what());
    return false;
  }

  auto state_interface = robot_hardware->get<franka_hw::FrankaStateInterface>();
  if (state_interface == nullptr) {
    ROS_ERROR_STREAM(
        "CartesianImpedanceExampleController: Error getting state interface from hardware");
    return false;
  }
  try {
    auto state_handle = state_interface->getHandle(arm_id + "_robot");
  } catch (hardware_interface::HardwareInterfaceException& ex) {
    ROS_ERROR_STREAM(
        "CartesianImpedanceExampleController: Exception getting state handle from interface: "
        << ex.what());
    return false;
  }

  return true;
}

void CartesianMoveController::starting(const ros::Time& /* time */) {
  initial_pose_ = cartesian_pose_handle_->getRobotState().O_T_EE_d;
  new_pose_=initial_pose_;
  new_pose_filter_=initial_pose_;
  elapsed_time_ = ros::Duration(0.0);
  cycleCount = 0;
  const float samplingrate = 1000; // Hz
  const float cutoff_frequency = 5; // Hz
  ROS_INFO("The initial z postion is : %f",initial_pose_[14]);

  // calc the coefficients
  f.setup(samplingrate, cutoff_frequency);

}

void CartesianMoveController::update(const ros::Time& /* time */,
                                            const ros::Duration& period) {
  elapsed_time_ += period;
  double delta_z = 0.00001;
  if ( cycleCount < 20000)
  {
    if (cycleCount < 10000)
    {
        if ((cycleCount < 1000) || (cycleCount > 9000))
        {
            new_pose_[14] -= delta_z/2;
        }
        else
        {
        new_pose_[14] -= delta_z;
        }
    }
    // else
    // {
    //     if ((cycleCount < 101000) || (cycleCount > 199000))
    //     {
    //         new_pose_[14] = cartesian_pose_handle_->getRobotState().O_T_EE_d[14]-delta_z/2;
    //     }
    //     else
    //     {
    //     new_pose_[14] -= delta_z;
    //     }
    // }
    // ROS_INFO("The desired z position in controller is : %f",cartesian_pose_handle_->getRobotState().O_T_EE_d[14]);
  }
  else if (cycleCount == 20000)
  {
    ROS_INFO("The movement has ended! The end z postion is : %f",cartesian_pose_handle_->getRobotState().O_T_EE[14]);
  }

//   else
//   {
//     new_pose_[14] -= delta_z;
//     cycleCount = cycleCount - 200000;
//   }
  new_pose_filter_[14]= f.filter(new_pose_[14]-initial_pose_[14])+initial_pose_[14];
  cartesian_pose_handle_->setCommand(new_pose_filter_);
  cycleCount = cycleCount + 1;
//   ROS_INFO("The command z position is : %f",new_pose_filter_[14]);
}

}  // namespace franka_example_controllers

PLUGINLIB_EXPORT_CLASS(franka_example_controllers::CartesianMoveController,
                       controller_interface::ControllerBase)

Anyone who would like to run the code just need to add the iir for low-pass filer. And add the
find_package(iir)
target_link_libraries(... iir::iir)

into the CMakeList.txt
Result: libfranka: Move command aborted: motion aborted by reflex! ["cartesian_motion_generator_joint_acceleration_discontinuity"] control_command_success_rate: 0.97
Analysis:
1、 The cartesian_path don't violate the limits in cartesian space but in joint space (jerk limit violation). However, there is no way for us to get the desired joint command in internal controller (through internal IK solver), because we could get the IK solver of q_d only the next control loop when using the FrankaCartesianPoseInterface.send_command(ideal_pose_) while the joint jerk limits might be violated in this loop which turns out to be an error and aborts.
2、 Since the move speed is not so fast 0.01mm/s which is slower than most of the example_controller could provide, It's quite confusing.
2 send the the command directly without using the RobotState.O_T_EE_D
Just like the previous issue #71, I have tried to use the current RobotState.O_T_EE_D to send command.
void CartesianMoveController::update(const ros::Time& /* time */,
                                            const ros::Duration& period) {
  elapsed_time_ += period;
  double delta_z = 0.00001;
  if ( cycleCount < 20000)
  {
    if (cycleCount < 10000)
    {
        if ((cycleCount < 1000) || (cycleCount > 9000))
        {
            new_pose_[14] = cartesian_pose_handle_->getRobotState().O_T_EE_d[14]-delta_z/2;
        }
        else
        {
        new_pose_[14] = cartesian_pose_handle_->getRobotState().O_T_EE_d[14]-delta_z;
        }
    }
    // else
    // {
    //     if ((cycleCount < 101000) || (cycleCount > 199000))
    //     {
    //         new_pose_[14] = cartesian_pose_handle_->getRobotState().O_T_EE_d[14]-delta_z/2;
    //     }
    //     else
    //     {
    //     new_pose_[14] -= delta_z;
    //     }
    // }
    // ROS_INFO("The desired z position in controller is : %f",cartesian_pose_handle_->getRobotState().O_T_EE_d[14]);
  }
  else if (cycleCount == 20000)
  {
    ROS_INFO("The movement has ended! The end z postion is : %f",cartesian_pose_handle_->getRobotState().O_T_EE[14]);
  }

//   else
//   {
//     new_pose_[14] -= delta_z;
//     cycleCount = cycleCount - 200000;
//   }
  new_pose_filter_[14]= f.filter(new_pose_[14]-initial_pose_[14])+initial_pose_[14];
  cartesian_pose_handle_->setCommand(new_pose_filter_);
  cycleCount = cycleCount + 1;
//   ROS_INFO("The command z position is : %f",new_pose_filter_[14]);
}

Result: The command sent by every loop to substract a fixed delta_z from current O_T_EE_d, It should move 0.9 m ideally, but from the ROS_INFO, the real movement is only 0.019 m which differs a lot.
Analysis:
Maybe the cartesian command of current loop sent to the controller is not regarded as the O_T_EE_d of the next loop. I am also confused of the inner trajectory  tracking controller, how it works?
I appreciate it if someone could solve my problem, thanks for your help.

@HongyuanChen  I have to correct the following two points:

The highest velocity of commanded path is 0.01 m/s ( not 0.01 mm/s)
in 2, the robot should move 0.09 m (not 0.9 m)

Hello, I am currently also encountering this problem ‘cartesian_motion_generator_joint_acceleration_discontinuity’, and sometimes there are velocity problems. Currently, I am using the smooth trajectory processing method, but the progress is not great. Have you solved this problem?

Hello, I modified it according to your method and it works, but the same error occurs that the moving distance does not reach the set distance. Have you solved this problem?


LookupTransform error when using nav2 behavior tree

Problem

When I developing with our behavior tree similar to navigate_w_replanning_only_if_path_becomes_invalid.xml, the global plan only publish once, as long as the path is valid, it won't trigger computePathToPose.
When over 5 secs, controller server throw out the error until goal failed.Extrapolation Error: Looup would require extrapolation into the past. Requested time 21.433000 but the earliest data is at time 27.733000. when looking up transform from frame [map] to frame [odom]

I noticed that inside the error messages, reqested time is always the same. Which is the time of first path generated by global planner.
In teb_local_planner_ros.cpp, lookup transform will take the stamp from global path. teb_local_planner_ros.cpp:724
Is there any reason to always use global plan stamp as target time?
I can solve the issue and run properly by change the target time to tf2::timeFromSec(0) (The second argument of lookupTransform)

This video recorded the issue.

Conclusion

So I'm wondering if this change can be added, since I'm not sure if it still fit every scenarios. Please let me know if there are something I missed in this issue.

Looking forwarfd to your reply, thanks!

I would say that tf2::TimePointZero is not the "correct" either. TEB will plan the path with respect to its knowledge of the world at a given time. In my opinion, it would make more sense to use the timestamp from the scan message. I say this because, at the end of the day, you are planning to avoid obstacles and your best guess of their poses comes from your previous measurement.

I would say that tf2::TimePointZero is not the "correct" either. TEB will plan the path with respect to its knowledge of the world at a given time. In my opinion, it would make more sense to use the timestamp from the scan message. I say this because, at the end of the day, you are planning to avoid obstacles and your best guess of their poses comes from your previous measurement.

I agree with you, timestamp from scan message should not affect by behavior tree.
Also, I wanna know if the version that I modified whether use timeFromSec(0) or timestamp in latest scan message, is it gonna break the other parts inside TEB?
I think this should be fixed eventually with humble update. Since from nav2 humble release, they do have more example behavior trees that will cause this issue.
Thank you!

Also, I wanna know if the version that I modified whether use timeFromSec(0) or timestamp in latest scan message, is it gonna break the other parts inside TEB?

Not that I can think of right now since the overall behavior depends a lot on all the timestamps in your tf-tree.
By using the zero stamp you are allowing that particular lookup to consider the latest tfs in the tree, regardless of how old they are. The possible outcomes of doing so will be platform-specific.

It seems like ROS1 TEB uses ros::Time() instead of plan_pose.header.stamp in ROS2.
https://github.com/rst-tu-dortmund/teb_local_planner/blob/0e839074c3407ff9ee2206a49567a20bd49fd8cc/src/teb_local_planner_ros.cpp#L718
How about changing it similar to ROS1 method?

There is a comment block seems doing the same thing in ros2_master branch.
Is there any reason to use plan_pose.header.stamp in newer version?
https://github.com/rst-tu-dortmund/teb_local_planner/blob/4501233e21871ed86a5569642f8e5770dadce27b/teb_local_planner/src/teb_local_planner_ros.cpp#L728

This seems to be ported to crystal long time ago from this PR by @vinnamkim
Hey @vinnamkim , if possible can you explain your decision for changing the lookup time stamp?
Thanks


Add tests for migrating customer from server to realm.

Looks good, marked to merge once CI passes, thanks @amanagr!


Define the difference between a "line" and a "requirement"

For example:
The heading #Compatibility Requirements is not a requirement, it is a heading. It will have subitems, and should still trigger re-reviews of children when updated, however it shouldn't be required to be traced to from a "lower" document (such as the Software Requirements document).
Even more complicated, in the following example, which of these lines is a requirement, and which are just clarification details?
The product will greet the user as such:
* Hello!
    * (No Comma)
* World!

What I had in mind was this:

The user creates/extends document with blank requirement tags.
The tool fills in the tags.
A requirement ends where the next requirement starts or the document ends.

I did not think about nested requirements. Will do now.

With regards to workflow
One thing that I discovered yesterday is that vanilla markdown doesn't really have a great/standard way to have "invisible" content. It can be achieved through a number of hacks, but something like in-line comments just dont natively exist.
To get around this, I think it makes sense to make an external metadata file that sits next to the markdown (or other type) file. If you check out master, and do the following:
cd source
python3 xtag_engine.py
cd ../examples/unmarked/
cat marketing-requirements.md.xtag

you can kind of see what I'm going for. I started taking it further in the other branch, but fell asleep before I finished. going to try and clean it up this evening.
I really like the idea of "Write the requirements document in pure-markdown, and let the tool handle generation of tags and updates", as opposed to having to know markdown AND xtag syntax. Some kind of xtag knowledge will be needed for filling in references after the fact, but if we can keep it minimal, we allow for less technical people to write valid requirement documents.
With regards to nested requirements
Either way, nested requirements are something to consider. In other tools, I have seen the 'is_requirement' field be user-settable, which is nice, but it means that the tool has to validate the choices (e.g. if you have a requirement, none of its parents or children are requirements).

Workflow


74AHCT125 drawing errors

https://kno.wled.ge/basics/compatible-hardware/#levelshifters  drawings for 74AHCT125 show OE pins connected to +5V but I think they are active low and should be connected directly to ground only.

The drawings (schematics) are correct. Please study them thoroughly.

https://www.ti.com/lit/ds/symlink/sn74ahct125.pdf data sheet shows signal OE is active low.  "When OE is low, the respective gate passes the data from the A input to its Y output."

Exactly. And now check schematics again.

Like a Labrador Retriever dog, I ran to an unused pin and started barking!  Thanks for your patience and sorry for the noise.  Woof.


Experiment with NPM postbuild script

What do you think about this one? Seems to be cleaner and more reliable.

Looks decent but I need to think a little on the code base.


"Go to Definition" in editors doesn't work

A minor issue, but is it due to arktype's limitation?
https://user-images.githubusercontent.com/44045911/225926251-98b97b16-2b3c-45fd-b539-74ae0fd86fa2.mov

Unfortunate that you can't navigate to the definition this way. It does seem like it is probably an inevitable side-effect of using a parsed syntax as opposed to chaining functions, as even just trying to navigate to data at the top-level leads to our CheckResult type:
export type CheckResult<out = unknown> = xor<
    { data: out },
    { problems: Problems }
>

That said, you can always navigate to the original definition in these situations by just ctrl-clicking on the type you're using, which in this case is "schema", so hopefully it's not too much of an obstacle. Thanks for making me aware of this!


TSC Meeting #36 2021-02-10 20:00 UTC

Agenda

add topic suggestions here
Review TSC issue backlog
Review TSC-tagged issues (toggle to "open" after checking for recently "closed" items)

@ampproject/tsc
@tobie Can you specify AC attendees?

👋 TSC Members,
Robin Ginn (@rginn), Michael Dawson (@mdawson) and I are embarking on something of an expedition among the OpenJS Foundation's Impact and Growth projects to get their input on potential strategic directions, particularly in our standards work. We’d love to share some of the ideas the Standards Working Group is considering, and get your input on other strategic programs on our docket this year. We'd like to request 45 mins to share a presentation and have a discussion.

👋 TSC Members,
Robin Ginn (@rginn), Michael Dawson (@mdawson) and I are embarking on something of an expedition among the OpenJS Foundation's Impact and Growth projects to get their input on potential strategic directions, particularly in our standards work. We’d love to share some of the ideas the Standards Working Group is considering, and get your input on other strategic programs on our docket this year. We'd like to request 45 mins to share a presentation and have a discussion.

As @rginn, @jorydotcom, and hopefully @mdawson will be joining the AC to give the same presentation in two weeks and as it is my daughter's birthday today, I will not be joining you this evening.
The AC as a whole is extremely keen to see pursued the substantial AMP-related standardization work that has already been undertook and welcomes increased collaboration efforts with standard bodies.
I'll also jump on the occasion to point out that better promoting such efforts would be really valuable; a number of AC members were unaware and were pleasantly surprised by the dedication the AMP had shown to be involved in these efforts in the past.
Finally I'd like to add that standardization is one of the AC's five focus areas for this year. We will be starting dedicated work on this topic soon and look forward to work with the TSC, the Foundation, and standard bodies on this topic throughout the year.


fmt.Print in tests preventing emission of Action:pass event when using go test -json

What version of Go are you using (go version)?

$ go version
go version go1.13 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/marcus.low/Library/Caches/go-build"
GOENV="/Users/marcus.low/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/marcus.low/gopath"
GOPRIVATE=""
GOPROXY="direct"
GOROOT="/usr/local/Cellar/go/1.13/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.13/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/marcus.low/repositories/sandbox/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/6y/t2pc26794j30sdnn4fx1lkzc0000gq/T/go-build987539708=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?

Create a test file:

some_test.go
package somepkg
import (
"fmt"
"testing"
)
func TestBad(t *testing.T) {
fmt.Print("this is bad")
}
func TestOK(t *testing.T) {
fmt.Println("this is ok")
}

Run the tests:

go test -json -v . | grep '"Action":"pass"'

What did you expect to see?
3 lines of passes:

pass event for TestBad
pass event for TestOK
pass event for the whole somepkg package

What did you see instead?
pass event for TestBad is not emitted.
{"Time":"2019-11-26T17:17:07.640309+08:00","Action":"pass","Package":"sandbox/somepkg","Test":"TestOK","Elapsed":0}
{"Time":"2019-11-26T17:17:07.640327+08:00","Action":"pass","Package":"sandbox/somepkg","Elapsed":0}

However, the passing output line is included together with the fmt.Print output:
{"Time":"2019-11-26T17:19:24.851022+08:00","Action":"output","Package":"sandbox/somepkg","Test":"TestBad","Output":"this is bad--- PASS: TestBad (0.00s)\n"}

/cc @bcmills @jayconrod per owners.

Duplicate of #26325

Duplicate of #26325


Allow delete bypassing recycling bin #438

Added toggle button in settings for permanent deletion bypassing trash

Code looks great! I'll test it out in the app sometime (this weekend probably) and merge it in 🚀

Thank you @jamesd35 for fixing this issue #438 🏅


Please cache Dart-Analyzer results

Here https://github.com/MikeMitterer/dart-material-design-lite-site/tree/master/samples I have a few samples for MDL/Dart Each sample demonstrates one mdl feature. Every sample has its own pubspec and includes a few libraries. If DA analyzes the samples it reanalyzes for example the mdl-package over and over again. Means in this case 52 times!!!!!

looks like a duplicate of #24611

Analysis server absolutely re-analyzes code multiple times if it's referenced from multiple packages. This is, unfortunately, a long-standing known issue.

Yes - sorry but I'm struggling with this problem again and again.
I thought it was solved but the issue was just closed - not solved.

#24611 is open, but no assignee and no milestone set.

I believe this was addressed with the analysis driver re-write.


react-mdl deprecated

Should use https://github.com/material-components/material-components-web instead

Not going to do this, the project is still in its infancy


make eosio.token inheritable

It should be possible to inherit from eosio.token class, so that new tokens would not have to just copy the token source code.
So, all flesh should be moved to a token.hpp inside eosiolib, and eosio.token.cpp should only have EOSIO_ABI call.

Transferring this issue to the new reference token contract repo.

Agree. The token contract should be inheritable. Any progress on this? I would like to extend the base functionality for shielded transactions using zk-snarks and make it available for everyone. Inheritance of the base eosio.token contract would be the most elegant solution to this.


Fix nifty schema location

This enables auto completion in the xml editor again.

Hey,
Your Pull Request is fine, I'll merge it when I'm less busy.
The reason for keeping it open is that I want to fix that travis bug your PR exposes first and for that I need time and a really really good mood :smile:

Ok ;)
Take your time. I already manually fixed the only file I am using from that template.

Okay, Travis doesn't update the travis file and simply takes it as it was as the pr was requested so I will create another pull request just to test things out.
Merging this


Hold last choosen time period in Task Processed block

Now, if you go to any other section and return to the main screen, the time period will be reset to LAST 7D.

It would be nice if the choices were stored in browser'slocalStorage or cookies, as an option.

Good catch!
This should be something stored as user settings and should persist across page navigation/refresh.
Also, I noticed that the "page size" option in the task view also doesn't persist, so we need to fix that as well.
Should be a simple change.
I can probably get to it in a few days but if anyone wants to have a go at it, feel free :)


Better distinguish DS connector and IGC connector qualifiedNames

Today the DataStage connector is responsible for creating certain objects: processes, ports, related schemas, etc.  Up to now, we've used a very similar process to generate the qualifiedNames for these entities as the approach used for the IGC connector -- only difference being that in some cases the qualifiedName becomes a "composite" of multiple objects (eg. database column and job stage) on the DataStage side.
However, if these qualifiedNames ever come back to the cohort for a query, they'll be sent to IGC as well (part of federated search), which will assume they are qualifiedNames it is able to translate (but they aren't).  IGC will therefore waste time trying to construct a query, produce exceptions, but ultimately do the "correct" behaviour (return no results).
It would be best if we could short-circuit this entirely to avoid the overhead of the unnecessary processing if we can quickly identify from the qualifiedName that these are DataStage-owned objects that should basically be ignored by the IGC side.
(Note that this should apply to any virtual asset objects for which schemas are created in the DataStage proxy as well, as while these do not result in "composite" qualifiedNames they nonetheless will generate qualifiedNames which cannot actually be searched against in IGC.)

Resolved by prefixing with _.


Need to update the VMSS instance to latest model to download the extension.

i found after executed:
Set-AzureRmVmssDiskEncryptionExtension -ResourceGroupName $rgName -VMScaleSetName $vmssName `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $keyVaultResourceId –VolumeType "All"
You need to upgrade the instance and trigger the update. or it will not sync with CRP on the latest version and wont download the extension to guestOS.

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

ID: 268e2a87-ffab-440a-dcb4-1d15c89d9d55
Version Independent ID: e9c8b2f2-5689-3b64-3cb6-92039005ee31
Content: Encrypt disks for Azure scale sets with Azure PowerShell
Content Source: articles/virtual-machine-scale-sets/virtual-machine-scale-sets-encrypt-disks-ps.md
Service: virtual-machine-scale-sets
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

Hi, @LoganZhao. Yes, if your upgrade policy is set to manual, then you need to trigger an update on the scale set, the same as any other operation that modifies the resource.
The example shown in the doc to create a scale set is set to -UpgradePolicy Automatic so should work fine - https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-encrypt-disks-ps#create-a-scale-set . Was this not the case?
#in-progress

@iainfoulds Thanks for your response, I have signed this issue to you.
@LoganZhao Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@iainfoulds @YutongTie-MSFT thanks for that! I notice that I am using Manual upgrade policy, which doesnt trigger the reboot for the latest model.
is it worth mentioning in some kind of FAQ?

Okay, that makes sense. Glad you were able to get it working. This behavior is currently documented in the FAQ - https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-faq#how-do-i-add-an-extension-to-all-vms-in-my-virtual-machine-scale-set.
For now, #please-close

@LoganZhao We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Allow teams to opt out of receiving

If you're asking to derive your daily bread from open source work through community donations, you'll work to ensure the stability of that bread — inspiration or not.

From http://david.heinemeierhansson.com/2013/the-perils-of-mixing-open-source-and-money.html, thanks @whit537 for the link over at https://github.com/gratipay/inside.gratipay.com/issues/683.
This is an edge case, but what if a team shuts down for a while? For teams of one especially, there may be periods where the owner is not taking enough contributions to warrant working on the product full time, while also not being able to work on the project due to other commitments. In such a case, the owner may feel that continued acceptance of contributions is unethical, even though people contributing feel that their support is warranted because they value the product. This puts the owner in a bind; currently they would have no choice but to shut down the team if they didn't wish to receive contributions.
This isn't likely to happen (almost everyone who builds a product is underpaid for it), but in the vein of consent, shouldn't there be a way for an owner to turn off taking without leaving the team?
A question to go along with this, and maybe it's the way forward: If no user takes from a team, does that team still receive?

currently they would have no choice but to shut down the team

They can't even do that until https://github.com/gratipay/gratipay.com/issues/3602. :-/

shouldn't there be a way for an owner to turn off taking

Sounds like a subset of https://github.com/gratipay/inside.gratipay.com/issues/432.


chore(main): release 0.3.3

:robot: I have created a release beep boop
0.3.3 (2023-11-17)
Miscellaneous Chores

release 0.3.3 (dd02dd2)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/socialgene/sgpy/releases/tag/v0.3.3 :sunflower: