Attempt to coerce item in sequence to stream before sending error

highland.js provides several ways of casting an object into a stream (e.g., array, promise). However, the sequence method does not attempt any cast.
This PR updates sequence to attempt converting a stream before sending an error. This can be very useful when using flatMap with promise returning functions. Currently, if you want to do this, your code may look like:
_([1,2,3,4])
    .map(promiseReturningFunction)
    .flatMap(_);

Or,
_([1,2,3,4])
    .flatMap(function (x) {
        return _(promiseReturningFunction(x));
    });

This will simplify the boilerplate and allow using flatMap directly:
_([1,2,3,4]).flatMap(promiseReturningFunction);

I didn't notice any changes in the benchmarks, despite adding the extra stream cast and try /catch.
Feel free to close if you don't think this is useful, since the work around, map(fn).flatMap(_), is trivial.
Cheers!

The benchmarks are barebones, and don't run flatMap, so you wouldn't see any changes anyway :smile:.
I'm personally not a fan of implicit coercion in this way since you may get into trouble in unexpected ways. Some of the transforms do it (like zip), but that's really only meant to support both Streams and arrays*, not for anything else. I'd prefer that people make their coercion implicit by using the work around you specified.
*Arrays are special cased for historical reasons and because they're similar to streams. The same isn't true for things like promises.

@vqvu, makes sense. I actually ran into a couple of those edge cases while testing this, particularly with arrays, in some instances flatMap would recursively flatten and in other instances it would not.

in some instances flatMap would recursively flatten and in other instances it would not.

What do you mean by this? flatMap should never recursively flatten. By that I mean, _([[[1, 2], [3, 4]], [[5, 6], [7]]]).flatMap(identity) should result in _([[1, 2], [3, 4], [5, 6], [7]]) and not _([1, 2, 3, 4, 5, 6, 7]).
It's a bug otherwise.

As an aside, I've been working on some internal documentation / examples on working with highland in conjunction with async processing (e.g., dealing with promises, controlling concurrency, etc.). Is that something you would be interested having public?

Yes, absolutely! Please do. We've been wanting something like a "Highland cookbook" for a while. Anything you can contribute would be happily accepted.
We can incorporate it into the docs page or as a wiki entry or something.

@vqvu I can't reproduce either in master or my branch now. It may have been a transient bug while I was working.

flatMap was implemented with flatten a long time ago, could you have been using an old version?


Any success running in mac os 10.11.5?

I am having make error on mac os 10.11.5 with the following when running make in lib directory.
...
"typeinfo for tensorflow::OpKernel", referenced from:
typeinfo for RoiPoolOp<Eigen::ThreadPoolDevice, float> in roi_pooling_op-0e649f.o
typeinfo for RoiPoolGradOp<Eigen::ThreadPoolDevice, float> in roi_pooling_op-0e649f.o
typeinfo for RoiPoolOp<Eigen::GpuDevice, float> in roi_pooling_op-0e649f.o
typeinfo for RoiPoolGradOp<Eigen::GpuDevice, float> in roi_pooling_op-0e649f.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
using (tensorflow)➜  lib git:(master) ✗ clang --version
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

i got the same error, it happens both for py-faster-rcnn, TFFRCNN and this repo

i solved make error with these steps on my Mac Sierra

make sure cuda is in correct path, setup.py assumes cuda lib in '/usr/local/cuda/lib64', in my case, i put cuda lib in /usr/local/cuda/lib so i need to create a symbolic link use "ln -s /usr/local/cuda/lib /usr/local/cuda/lib64"

if you use python3 with tensorflow you need to install tensorflow for python2

if you encountered "error: no matching function for call to '_nms'"
you need to manually change "nms/gpu_nms.cpp" file that's generated by cython.
you need to cast long* to int* by adding "(int*)" to first argument like this:
_nms((int*)(&(*_Pyx_BufPtrStrided1d( .......... (rest of code)........

if you encountered "ld: symbol(s) not found for architecture x86_64"
in lib/make.sh  change nvcc compiler flags, remove  $CXXFLAGS like this:

nvcc -std=c++11 -c -o roi_pooling_op.cu.o roi_pooling_op_gpu.cu.cc \
		-I $TF_INC -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC \
		-arch=sm_37

hope this will help


Remove Key::Last and Scan::Last enumerators

As discussed here https://github.com/SFML/SFML/pull/2841#discussion_r1430777937, Key::Last and Scan::Last are not really required and it might be confusing for users to have it in the API.

SFMLBuildMaster: Build this please.

Thanks for the update! 🙂


Support parameter-less function calls in C

A function declared like this
void djinn_try_init();

should create a binding like
external djinn_try_init : unit -> unit = "caml_djinn_try_init"

but what we get is
external djinn_try_init : unit = "caml_djinn_try_init"

which does not compile with error
File "djinn/djinn.ml", line 6, characters 26-30:
6 | external djinn_try_init : unit = "caml_djinn_try_init"
                              ^^^^
Error: External identifiers must be functions

The generated C code looks fine at least. I'll try and get this one working tonight.

Thanks for opening the issue @omnisci3nce 🙏🏼 this should be fixed in #13.


[Compute] Add new license_type in vm create/update: RHEL_BYOS, SLES_BYOS

Description

Resolve https://github.com/Azure/azure-cli/issues/14735
[Compute] Add new license_type in vm create/update: RHEL_BYOS, SLES_BYOS
Testing Guide

az vm create --license-type RHEL_BYOS
az vm update --license-type RHEL_BYOS

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

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

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

Compute

This is for a Ignite feature, but may not catch Ignite schedule, because service side Swagger merged at end of Aug, and deploy after that. Service team just need a offline package for Ignite demo purpose, not official release.

@yungezz - do you know when this will roll out in the CLI? If it's after Ignite we will have to tweak our Ignite messaging on the marketing side.

hi @asinn826 it depends on when service side is ready, if service side could ready now, we can merge the PR immediately, so it will catch azure CLI Ignite release

@yungezz - CRP's changes have been made and are rolling out right now - currently in Canary. Is that sufficient?

@yungezz - CRP's changes have been made and are rolling out right now - currently in Canary. Is that sufficient?

When will it be on Prod? Azure CLI releasing is from user perspective bar. If user could access the feature with Azure CLI now, then we can do the release.

The next release day is 09/22/2020

The next release day is 09/22/2020

Thanks @qwordy - does that mean the next CLI version containing the license type updates will be released and available for customers on 9/22/2020? If so, that would align perfectly with platform rollouts and expected announcements.

Yes. If the feature is available for users, we can release it.


define temporary variables in Vue.js template

What problem does this feature solve?
Sometimes we need to compute and reference the same value multiple times in a template.
It would help with readability & performance to be able to define variables in templates.
Somebody asked this here too:
https://stackoverflow.com/questions/43999618/how-to-define-a-temporary-variable-in-vue-js-template
What does the proposed API look like?
There's a suggestion in the answers, but this allows setting only 1 variable:

maybe like this?

In my opinion the proper way is to create computed array where is this value already fetched.
eg.: (renamed your users to userIds)
const users = computed(() => userIds.map(uId => getUser(uId)))

Everything what you call a variable can be converted to "computed" style. So why make it more complex?

Change of template syntax is a pretty significant change and will require an RFC.
There's ongoing discussions here: https://github.com/vuejs/rfcs/issues/73

You can set multiple properties in :set directive in such way:

{{br}}

Interesting. Where is :set documented? Can't find it at https://vuejs.org/api/built-in-directives.html
Please add it to https://github.com/vuejs/rfcs/issues/73

Interesting. Where is :set documented? Can't find it at https://vuejs.org/api/built-in-directives.html Please add it to vuejs/rfcs#73

It's not an 'undocumented' feature.  Vue will evaluate the JavaScript of any bound attributes and I just chose to invent an attribute called :set. .
https://dev.to/pbastowski/comment/7fc9

IMHO better be like:

I've a solution that is using a component to solve this issue.

Only tested in vue >= 3.3.0

https://www.npmjs.com/package/vue-temp-var
Example

<template>
  <div v-for="i in 10" :key="`random-${i}`">

    <TempVar :define="{ randomNum: getRandomNumber() }">

      <template #defined="{ randomNum }">
        "{{ randomNum }}"
         0.5"> is larger than 0.5
         is smaller than 0.5
      </template>
    </TempVar>

</template>


Fix conda show_channel_urls

Will make a JIRA if this succeeds, should hopefully fix the problems we see with Travis in #85

For reference:
conda info -a some days ago:
         channel URLs : https://conda.anaconda.org/apache/osx-64/
                        https://conda.anaconda.org/apache/noarch/
                        https://conda.anaconda.org/conda-forge/osx-64/
                        https://conda.anaconda.org/conda-forge/noarch/
                        https://repo.continuum.io/pkgs/free/osx-64/
                        https://repo.continuum.io/pkgs/free/noarch/
                        https://repo.continuum.io/pkgs/pro/osx-64/
                        https://repo.continuum.io/pkgs/pro/noarch/

now:
         channel URLs : https://conda.anaconda.org/apache/osx-64/
                        https://conda.anaconda.org/apache/noarch/
                        https://conda.anaconda.org/conda-forge/osx-64/
                        https://conda.anaconda.org/conda-forge/noarch/

i.e. continuum's channels are missing

+1, thank you

@kalefranz can you or someone on the conda team comment on what may have changed with the channel URLs? thank you =)

In 4.1.0 we introduced a bug where defaults wasn't automatically added to channels in ~/.condarc if the file already existed.
We've fixed it here: https://github.com/conda/conda/pull/2670
4.1.1 will be released with that fix and others in a few hours
In general, as of 4.1.0, channel order now matters.  Before, all channels were thrown together and the package with the highest version comparison won.  Now, if a package exists in a higher priority channel (i.e. the channel comes first in the channel list), then that package wins.
We'll continue to refine and improve on channel/package priority.  This is just a first step.

@kalefranz thank you for the quick reply. Per the channel priority, am I correct that the last channel added has the highest priority? (so in our case, apache channel would supercede conda-forge?)

FYI we're also adding a auto_update_conda option that defaults to true, but that can be set to false to disable conda's aggressive self-update.  Definitely useful in some CI situations.  That'll be in both 4.1.1 and 4.0.9 coming out later today.


Keyword arguments are possible with placeholders

Using a dict() to allow for keyword arguments is the obvious alternative for the new-style keyword arguments. It's a bit odd to say that this sn't supported.

Thanks for the PR.
However I think it's a question of semantics whether you'd call this form "keyword arguments". Sure dict accepts kwargs but IMO that has little to do with the % formatting call.

I suppose it is, but it's a commonly used technique so it would be good to document that regardless of whether it's related to the formatting call.

I don't know that the split even makes sense, fundamentally the first section is already using keyword arguments: % uses dicts for named placeholders while format uses keyword arguments (though there is format_map). I think it'd be more sensible to use both in the first example, and add a note pointing out ** or str.format_map in the specific case where one already has a dict object.

In any case, I think this should document an alternative solution for common use cases and for the projects I've seen the dict approach is common enough so it should be added.
@ulope will this get merged or should I just close it?


Do not allow properties to use fold

Fix https://github.com/obi1kenobi/trustfall/issues/450
Validates on the frontend if the query is doing @fold on a property.

Also remember to update the PR title and description to include the other directives being handled!

Ah the failing lints are because we got a new Rust stable today. I'll push a fix real quick, sorry about that.


ARTEMIS-878: Fixed Boolean deleteOnNoConsumer CLI command property

Fixed a Boolean CLI command property to be used as a nullable property and not as a boolean one by declaring it as a String and parsing/encoding it manually.

working on this.


Show unpushed commits in Source Control View

It would be great if you could show unpushed/local commits in the source control view.

/duplicate #68

/duplicate #68

Hi, I don't agree on that this is a duplicate of #68
I read throug that request and its a request to get a total history integration into vscode. My request is only to easly see that you have local commits that are not pushed to the repository. I agree on that a history implemenation would be nice to be able to have full history tree to be able to see what has happened on the repository. But my request is more about showing that you have local changes to the repository that hasent been pushed so you dont forgett to push them and also to see what you actually are pushing to the repository when you choose the three dots and push.
Can you please consider reopen this request


Implement the converter from 2D-Arrays to the DecisionTable.

The puzzle 40-68a7db55 from #40 has to be resolved:
https://github.com/nergal-perm/java-decita/blob/790d25516b054c81fc79be7f6b3f38b518bd31f9/src/main/java/ru/ewc/decita/input/package-info.java#L35-L35
The puzzle was created by Евгений Терехов on 21-Jan-24.
role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd the puzzle #51 is still not solved.

The puzzle 40-68a7db55 has disappeared from the source code, that's why I closed this issue.

@0pdd the only puzzle #51 is solved here.


Help with animation

I need help I'm not that good at animating so can someone give this guy a walking/running animation?

Hi @matter123456
This issue tracker is used to report problems with the Piskel website/application, propose improvements and contribute code. The audience is more likely to be made of developers rather than artists/animators.
You should try to find dedicated forums on pixelart animation. Maybe http://pixeljoint.com/ ?
I will leave your issue open for a few days in case someone can provide help or resources.


changes for v1.1.0

Oh, lol, v1.1.0 broke some stuff, so we can't dogfood just yet. I'll revert for now.


How to show actual URL called

How can I log the actual URL the o.js client is calling?
I have a non trivial GET request (multiple $expand, $select, $filter, $orderby etc.) which returns an error from the odata API.
When I constructed the URL with Postman, it worked fine, but in code, what should be the same thing, returns the following error which doesn't make any sense:
{
    "error": {
        "code": null,
        "message": "The types 'Edm.Boolean' and 'Edm.DateTimeOffset' are not compatible."
    }
}

I tested constructing the URL myself and passing it to the o.js client, and it works as expected.

I found out that the error is because of spaces being replaced with plus symbols:

update_date ge 2023-12-31T23:59:59.000Z
becomes:
update_date+ge+2023-12-31T23%3A59%3A59.000Z

which looks like a perfectly fine URL, but OData allows query like syntax so + is a reserved character. This works:

update_date%20ge%202023-12-31T23%3A59%3A59.000Z

OData Version 4.0 Part 2: URL Conventions
https://docs.oasis-open.org/odata/odata/v4.0/os/part2-url-conventions/odata-v4.0-os-part2-url-conventions.html

Example 28: entity count in a $filter expression. Note that the spaces around gt are for readability of the example only; in real URLs they must be percent-encoded as %20.

Sounds like: https://github.com/janhommes/o.js/issues/129
Can you try the version 2.0.0-rc1. I guess it should be fixed there... I actually wanted to do a new release on this but missed time management ;)

Just finished testing. Everything works great with 2.0.0-rc1.
I successfully processed 900K objects from a Denodo OData API, and the code is clean thanks to o.js 😃
Since version 2.0.0-rc1 was first published back in May 2022 (~1.5 years ago), why not just release it? If there were bugs, they should have been reported by now.

yeah, as said... time management... but I just released version 2.0.0 5h ago :partying_face:


Feature Request: expand repeat use

Feature Requested
I think you could use something like my snippet, although it depends on vim-repeat. It's worth to use or at least suggest this way to bind.
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_next { float = false } vim.call("repeat#set", "]d") end,
    { noremap = true })
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_prev { float = false } vim.call("repeat#set", "[d") end,
    { noremap = true })
vim.keymap.set("n", "]D",
    function() vim.diagnostic.goto_next { severity = vim.diagnostic.severity.ERROR, float = false }
        vim.call("repeat#set"
            , "]D")
    end, { noremap = true })
vim.keymap.set("n", "[D",
    function() vim.diagnostic.goto_prev { severity = vim.diagnostic.severity.ERROR, float = false }
        vim.call("repeat#set"
            , "[D")
    end, { noremap = true })

Relevant Screenshot
No response
Checklist

[X] The feature would be useful to more users than just me.

thanks! I refrain from adding vim-repeat as dependency though, since I prefer to implement dot repeatability down the line without it. But I'll happily link to this info until then

https://www.vikasraj.dev/blog/vim-dot-repeat
This is a reference: you don't need vim-repeat to make it repeatable

Thanks! I'll look into it

maybe: https://github.com/nvim-treesitter/nvim-treesitter-textobjects/pull/343/files#diff-d556bde8482509ad3531865672ab1bf4eb8b4d2e2224fdbd5d61fcfc86183326R6-R14 ?

Okay, so I looked into the linked guide as well as another guide I found and I am able to get simple examples with dot-repeatability going.
However, both guides as well as the example from op implement dot-repeatability for normal-mode, whereas for this plugin, I'd need to add dot repeatability to an mapping for operating-pending-mode, for which dot repeatability apparently has to be implemented differently (the objects needs to be fully called again, not the operator, which is already dot-repeatable).
Does someone here know any guides or plugins that explain how to make text objects dot-repeatable?

I was thinking maybe https://github.com/nvim-treesitter/nvim-treesitter/blob/master/lua/nvim-treesitter/incremental_selection.lua can help.

Okay, so I looked into the linked guide as well as another guide I found and I am able to get simple examples with dot-repeatability going.
However, both guides as well as the example from op implement dot-repeatability for normal-mode, whereas for this plugin, I'd need to add dot repeatability to an mapping for operating-pending-mode, for which dot repeatability apparently has to be implemented differently (the objects needs to be fully called again, not the operator, which is already dot-repeatable).
Does someone here know any guides or plugins that explain how to make text objects dot-repeatable?

@chrisgrieser it's not a guide per se, but you might find the implementation of dot-repeat in my debugprint.nvim plugin helpful: https://github.com/andrewferrier/debugprint.nvim: https://github.com/andrewferrier/debugprint.nvim/blob/ee5a3a83c87e6a50dcb1223212404240ca519bdd/lua/debugprint/init.lua#L346.
The challenge I think is that you have to decide whether dot-repeating repeats with the same value of the text object, or the same text object. For example, in my case, dot-repeating prints another debug line, with the value of the original text object from the first line printed (this is hard to explain, but try it). But you could presumably implement this such that it selects the text object again given the new cursor position.
I don't know if there's a standard approach there.

Thanks to the a great find by @vypxl and @ii14, the plugin now supports dot-repeatability. 🥳
While this is a non-breaking change, you do need to change your keymaps. See the README. 🙂


Amplify Auth login/logOut session

Describe the bug
I use Amplify Auth in my IOS app.
When the user logs in with social signIn flow and leaves the app without signOut and comes back the Amplify.Auth.fetchAuthSession result is AWSAuthCognitoSession(isSignedIn: true,...) but the session is in Auth.fetchSessionAPI state.
So when I try to reassign the user it gives me an error that the user is already signed in try to sign out, but when I try to sign out pops up a dialog asking "the app wants to use amazoncognito.com to sign in"
if I choose continue  it says Safari cannot open the page because the address is invalid
and if I choose cancel it gives me an error "Sign out failed with error AuthError: User cancelled the signOut flow and could not be completed.
Recovery suggestion: Present the signOut UI again for the user to sign out.
Caused by:
userCancelled"
Even when I remove the app from the device and install a new fresh installation the situation is not changing.
Steps To Reproduce
Steps to reproduce the behavior:
1. Open the app
2. Click on 'Continue with Google'
3. Close the app without signing out
4. Open the app after a while
5. see the behavior

Expected behavior
If the user wants to sign out anytime it has to work
No matter when
Amplify Framework Version
7.6.12
Amplify Categories
Auth
Dependency manager
Swift PM
Swift version
5
CLI version
7.6.12
Xcode version
13.3.1
Relevant log output
No response
Is this a regression?
No
Regression additional context
No response
Device
iPhoneX, simulator-10,11,12,13
iOS Version
15.0, 15.4
Specific to simulators
No response
Additional context
No response

Thanks for opening this issue @RoustamManookian. You wrote that you're using Amplify Framework Version 7.6.12. This is most likely the CLI version. Can you let us know which version of Amplify iOS you're using? Since you're using SPM, you can find it in the bottom of the Project Navigator in the Package Dependencies section. Thanks!

And one very weird thing !!!!!
Even when I go to Cognito Console and delete the user the user still signs in 😳🤯

Yes, that helps thanks. The version rules you have in your project point at the main branch of Amplify. We recommend using an actual version because the main branch can change at anytime. e.g. up to next major from 1.24.1
I don't believe that is responsible for what you're seeing, but you should update it anyway.
To confirm, you are using Social Sign in with Web UI, correct?

Hi
This is my sign-in function
`func webSignIn() {
Amplify.Auth.signInWithWebUI(for: .google, presentationAnchor: window, options: .preferPrivateSession()){result in
switch result {
case .success:
print("Signed in")
            Amplify.Auth.fetchAuthSession {[weak self] result in
                do {
                    let session = try result.get()

                    // Get user sub or identity id
                    if let identityProvider = session as? AuthCognitoIdentityProvider {
                        let usersub = try identityProvider.getUserSub().get()
                        let identityId = try identityProvider.getIdentityId().get()
                        print("User sub -> \(usersub)")
                        print("identity id -> \(identityId)")

                        guard let currentUser  = Amplify.Auth.getCurrentUser()
                        else {
                            return
                        }

                        AWS_API.apiManager.update_identity_id(userName: currentUser.username, identityId: identityId)

                         //   self?.attachPolicy(identityId: identityId)
                        //self?.attachPrincipalPolicy(identityId: identityId)
                    }
                } catch {
                    print("Fetch auth session failed with error - \(error)")
                }
            }

        case .failure(let error):
            print("Error signInWithWebUI -> \(error)")
        }
    }
}

`
And this is the logOut function
I tried all three versions, the same result.
` func signOut() {
_ = Amplify.Auth.signOut() { result in
switch result {
case .success:
print("Signed out")
        case .failure(let error):
            print("ERROR to sign out: \(error)")
        }
    }
}

func signOutLocally(){
    Amplify.Auth.signOut()
        .resultPublisher
        .sink {
            if case let .failure(authError) = $0 {
                print("Sign out failed with error \(authError)")
            }
        }
        receiveValue: {
            print("Successfully signed out")
        }
        .store(in: &cancellables)
}

func signOutGlobally(){
    Amplify.Auth.signOut(options: .init(globalSignOut: true))
        .resultPublisher
        .sink {
            if case let .failure(authError) = $0 {
                print("Sign out failed with error \(authError)")
            }
        }
        receiveValue: {
            print("Successfully signed out")
        }
        .store(in: &cancellables)
}

}`

Can you make sure that you have proper redirectURIs in your amplifyconfiguration.json:
     "Auth": {
                    "Default": {
                        "OAuth": {
                            "WebDomain": "<your hostedUI webdomain>",
                            "AppClientId": "xxx",
                            "SignInRedirectURI": "myapp://",
                            "SignOutRedirectURI": "myapp://",
                            "Scopes": [
                                "phone",
                                "email",
                                "openid",
                                "profile",
                                "aws.cognito.signin.user.admin"
                            ]
                        },

this is the whole Auth object
 "Auth": {                     "Default": {                         "OAuth": {                             "WebDomain": "scs-dev.auth.us-east-2.amazoncognito.com",                             "AppClientId": "3rforb930ik0f6ttdr4n8d0b2h",                             "SignInRedirectURI": "scs://callback/",                             "SignOutRedirectURI": "scs://signout/",                             "Scopes": [                                 "aws.cognito.signin.user.admin",                                 "email",                                 "openid",                                 "phone",                                 "profile"                             ]                         },                         "authenticationFlowType": "USER_SRP_AUTH",                         "socialProviders": [                             "GOOGLE"                         ],                         "usernameAttributes": [                             "EMAIL"                         ],                         "signupAttributes": [],                         "passwordProtectionSettings": {                             "passwordPolicyMinLength": 8,                             "passwordPolicyCharacters": []                         },                         "mfaConfiguration": "OFF",                         "mfaTypes": [],                         "verificationMechanisms": [                             "EMAIL"                         ]                     }                 }

Hi
After a long videochat with AWS support center, we found what was the problem !!!
Because I pulled the amplify configurations from the amplify pull command I didn't pass all the steps.
I didn't make the changes that had to do in plist file
I added this in plist file and everything is working now !!!
 <key>CFBundleURLTypes</key>          <array>              <dict>                  <key>CFBundleURLSchemes</key>                  <array>                      <string>YourAppName</string>                  </array>              </dict>          </array>

@RoustamManookian But still show the alert message "Sign-in", right?


[BUG] InvalidPlaylist when its Valid URL

Tried %!pl https://youtu.be/playlist?list=PLSBwjXG1S2xSRMhIPYS70d2cGWQYNGM0K & %!pl https://youtube.com/playlist?list=PLSBwjXG1S2xSRMhIPYS70d2cGWQYNGM0K
it responding as Invalid Playlist, its on latest discord-music-player and i have confirmed this happen mine bot as well not just my friends too.
i dont know got Rework going round it, but at moment Playlist command not working anymore just only Play command works so far i have tested it

Will try to adress that issue in v8 - #177

Fixed in v8 [dev build] - Read more here - (#177).


typeahead equivalent TextInput - Possible ?

We have searchAction, but it can be added only on NavView, not on Page or Composite. Is it possible to provide typeahead equivalent textInput which filters a list and provides a dropdown like feel as user types?

@natanraj An autocomplete TextInput is something that want to add as well. Please stay tuned for that. At the moment we only offer the search action.


feat: add audio API resource

This adds two methods (Transcribe, Translate) to the engine for handling the audio API resources.
For now this uses the json response format which returns only the text response. It is possible to retrieve more response data using the json_verbose response format. There are also alternative response formats like vtt and srt which could be supported.
For the test I added a snippet from the Emo-DB (http://emodb.bilderbar.info/index-1280.html) dataset.

A lot of thanks for your PR! I'm really impressed :)


BLT file writing

Implement BLT file writing into votelib.io.blt._dump.

The closest thing to a format specification is located at https://stackoverflow.com/questions/2233695/how-do-i-generate-blt-files-for-openstv-elections-using-c.

The closest thing to a format specification is located at https://stackoverflow.com/questions/2233695/how-do-i-generate-blt-files-for-openstv-elections-using-c.


[AutoPR containerservice/resource-manager] add AKS listClusterMonitoringUserCredential API

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7799

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/8702


ssh/scp binaries

I know I could compile them myself, but was hoping not to. Using the ones from bgshellplus, but it seems they sometimes get confused and use the wrong tty? bgshell always seems to be on ttyp1 and term48 always on ttyp0. Maybe there's something hardcoded, but it does work sometimes and sometimes when it doesn't I open bgshell and the password prompt shows up over there for an ssh I ran in term48 :P I'm asking the bgshell author about it, but really having a few more of these core utilities included with this app might be helpful.

Ack, thank you for the vote. Including ssh binaries is a very common feature request. I've been hoping to do it 'right' by getting a package manager up and running, but that isn't looking likely anytime soon, so just bundling ssh will go on the list.
Incidentally, if you drop me a line via email<EMAIL_ADDRESS>I can send you the compiled ssh binaries from the dev-tools.

hmm, yes. I was thinking about package management longer-term. I have a portable implementation of much of apt hanging around from an old project.. hmm. Anyway, I'll email you :)

ssh, scp, and sftp shipped in <IP_ADDRESS> today. Thanks for your help testing! If you want to see the source for the wrappers around scp/sftp, it is here:
https://github.com/mordak/playbook-dev-tools/tree/master/bootstrap/openssh/wrappers


media player Kodi: handle TransportError exceptions when calling JSONRPC API methods

Description:
Handle TransportError exceptions when calling JSONRPC API services. This exception raises when Kodi is not present or there is a problem in the websocket connection.
Example entry for configuration.yaml (if applicable):
media_player:
  - platform: kodi
    name: Kodi
    host: 192.168.1.X
    port: 8080
    enable_websocket: true
    turn_off_action: quit
    timeout: 10

Hi @pvizeli, the Travis CI build timed out ¿?, could you restart it to try again?
thanks!


Doesn't work with webpack5

Webpack 5 adds output.publicPath: 'auto' by default. This causes HtmlWebpackTagsPlugin produce wrong tags.

Oh sorry, later discovered that my assets are served from a manifest file and the name in the manifest file is already wrong.

@breeswish Are things working for you in webpack5 ?
I've just migrated and this plugin is giving me issues right now, but if you have it working then it might just be something I'm doing wrong.


Custom API query?

Hello,
I'm new to zabbix and I want to use your module to setup monitoring in my environment. I'd like to get full automation of zabbix configuration. I've seen, that there is no possibility to manage zabbix actions via API as the underlying library does not support that. Obviously there are good reasons, why, so at least I am looking for an opportunity to send custom queries (custom JSON) to the API using your module (to handle authentication). If I scanned your module's code correctly, currently I have no possibility to send custom queries, right? If so, this is a feature request else I need an oculist. :smile:
Thank you
ITler

Hi @ITler
No, there is no way to send customer queries. When you have an PuppetDB you can automate some things (Like adding hosts and proxies, assign and upload templates), but thats it.

It's a pity. I assume, there are no plans to extend that module. Due to my limited ruby skills and time resources, I currently can't do it myself.


Ability to mark packages as "archived" or "use with caution"

We should be able to scrape archived projects from the GitHub API and mark them accordingly on the website. On the other hand, we should mark projects that haven't been updated in the last 2-3 years as "use with caution"

So, if I mark in Github that https://github.com/o19s/offset-hl-formatter is archived, then it'll show up?  Cool.  I agree with the value of "no update in X years" as very valuable filter!

@tboeghk so how often is the site updated?   I expected Offset Highlighter to be marked archived as I've changed the status in Github.

Okay, realizing this is still an idea!


Added: Attendance Tracker Next.js

Closes:  #317

Title :  Attendance Tracker
Name: :  Anirudh Sharma
Idenitfy yourself: : GSSOC'24 Contributor

Describe the add-ons or changes you've made 📃
Added the Project folder to the Nextjs/advanced folder
updated nextjs/ README.md
How Has This Been Tested? ⚙
-> The app has been tested both on mobile and computer under different situations and taking different values
-> Detailed working video of web app is attached.
Screenshots 📷

https://github.com/user-attachments/assets/c15f3199-d656-4c38-b64d-0251a2ddd400
Type of change ☑

[x] My code follows the code style of this project.
[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Note to reviewers 📄
Please assign under Gssoc'24 & mark appropriate labels ....... a level 3 label would be helpful (created whole app from scratch from UI designing to building backend)

@Avdhesh-Varshney
Done updating readme & adding screenshot & updated the projects list

@Avdhesh-Varshney
Please review the Changes ... today is last date for Gssoc'24

@Avdhesh-Varshney
Please review the PR


Why do we use RhsOfName, rather than just Name/HermitName?

@xich Is this for better tab completeness? Or can we unify around Name in the shell?

I'm not sure I know specifically where you mean.
There are still places where we use String instead of HermitName that should be fixed. We also have several newtype wrappers for HermitName... those are purely for tab completion. They allow us to distinguish between names in the context vs names that occur in the term, and only tab complete with one or the other, for instance.
I'm guessing you mean one of those? I tried to keep their use isolated to the externals (as completion is a shell concern), so the actual transformations work on HermitName directly.

Yes, this is useful. Given they are semantically the same, we should merge them in the Shell, because there is no tab-complete that can use this. We should also add a note beside the data definition.


PLAT-139055: Fixed popup title when centered

Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[x] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[x] Documentation was verified or is not changed
[x] UI test was passed or is not needed
[x] Screenshot test was verified or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Title is not fully centered inside the popup, but a little bit to the left.
Resolution
Updated styling for all skins to center the title when centered.
For silicon skin, the title container fixed width was removed because it affected the title position on centered
Additional Considerations
Links
PLAT-139055
Comments
Enact-DCO-1.0-Signed-off-by: Daniel Stoian<EMAIL_ADDRESS>

Please check the popup body layout.

Also, on Titanium, when 'centered' is false, title has an unnecessary padding-left.

On Carbon, the title goes over the close button, even when marquee is applied with #577.

On Silicon as well.

Please check the popup body layout on Silicon skin when 'centered' is true.

Please give more details about the used knobs. On my computer, the layout looks OK

On Silicon as well.

Marquee works for me, if I apply the changes from #577

Could you add a bit more padding-left to the title so that it doesn't stick to the button (only when aligned left)? Also please fix the button's icon color.  (for Cobalt and Copper skins)

Could you add a bit more padding-left to the title so that it doesn't stick to the button (only when aligned left)? Also please fix the button's icon color. (for Cobalt and Copper skins)

I would also add here... maybe the position of button for this skin to be moved to the right to match other skins

Maybe just preserve the 12px margin like on RTL:

On Titanium, when not centered, remove the padding on the opposite side of the close button. Also add a little bit more padding to the title like for Cobalt and Copper skins.

On Silicon, when not centered, please align the title with the body content like in the design. (smaller padding when centered=false)

Maybe just preserve the 12px margin like on RTL:

I think what you showed is just a optical illusion caused by the letter-spacing of 12px

Maybe just preserve the 12px margin like on RTL:

I think what you showed is just a optical illusion caused by the letter-spacing of 12px

Yes, you are correct. I still suggest that you separate a bit the title from the button, but it's your call. ;)


objc_library targets cannot have .h files in the "srcs" attribute

cc_library lets you specify .h files in "srcs", but objc_library does not. Is this intended?
An obvious workaround is to put the .h files in "hdrs", but that allows them to be included in later dependent targets, which isn't always desired.

I don't think this is intended.

This is fixed AFAICT.


fixed problem in Audio encoder when streaming rtmp from file

Hi :)
I found a problem with AudioDecoder.java when I was trying to stream rtmp from file and the input file has mono sound.
The output audio from the library was corrupted. The bug is the size of pcmBuffer variable which is set up for stereo audio and it's not reinitialized when channels variable is set to 1 in initExtractor function. Please take a look :)

Thank for the fix. Merged

No problem, happy to assist. When are  you planning to release next version?

Today or tomorrow, I'm updating display example to support Android 10 because this version need use a service to work. After that I will release next version.


Confusing word (pod pair) in Garbage collection page.

The description of MaxPerPodContainer under Conrainer garbage collection mentions Pod pair without explaining what it means:

MaxPerPodContainer: the maximum number of dead containers each Pod pair can have. Disable by setting to less than 0.

I suspect that this is a typo and pair should be removed.

/sig docs
/language en

/kind documentation

/assign

@amosshapira  here pod pair mean pod (UID, container name) pair.
I will update doc for better understanding

/retitle Confusing word (pod pair) in Garbage collection page.

/triage accepted


I had preview image before upload action,  when to upload the image, file.progress return 100% every time

I had preview image before upload action,  when to upload the image, file.progress return 100% every time, I can't get the uploading progress info.

@tristan , @aderowbotham  @samuraisam  @vvo

@danialfarid

Can you create a jsfiddle? It might be something in your code, or the upload might be very fast so you would not see other percentages. Or your server may not be configured to report the progress event.


FEAT: add chafa support

Hey @nxjosephofficial, I just wanted to mention that chafa support is now avaliable.

Nice! thanks. I made a port for wallhaven-cli v1.0.6 and submitted it to FreeBSD, btw.

Nice! thanks. I made a port for wallhaven-cli v1.0.6 and submitted it to FreeBSD, btw. It's also available in my personal FreeBSD ports repository.

Nice :D


Make builder executable available as binary?

Would you consider adding the builder executable to a [[bin]] section of the cargo manifest a good idea? That should simplify things for people who don't want to clone the repo and manually cd into the builder directory to make use of it.
If so, I'm happy to whip up the short PR

That's a good idea, but I'm not sure how it would work with the dependencies. The builder crate uses some dependencies that rely on the standard library, which we can't use for the rest of the bootloader. AFAIK there is currently no way to define dependencies only for a specific binary. Maybe we can work around it by (ab)using cargo's platform specific dependencies somehow.


Container.top outputs "COMMAND" and "CMD" for keys on mac and linux respectively

The output of container.top is obtained from docker top and the keys(or titles) are different on linux and mac.
The response of the API could be consistent with respect to this and change the title to be one or the other.

@varshavaradarajan we generally try not to mess with the output from the docker API itself. Probably want to file a bug on docker since this inconsistency is just odd.


Modify backend code to integrate descriptions to images

Allow users to attach a description to each image object. Modify current endpoint to allow description field to be added and create new endpoint to grab description.

Updated the current endpoints for the back-end. No new endpoints were needed for this. Closing this.


Avoid potential collision of createIdxChkReaders in querier_test.go

as title, make ref a monotonically increasing number to avoid the potential collision
https://github.com/prometheus/tsdb/blob/4b3a5ac5d36e5262d2656c8d149e137c2d1fab12/querier_test.go#L213-L214

Thanks


Cordova - Load file from SD Card

Hello there!
I'm developing a cross platform App using Cordova, and I'm tying to use the Wavesufer on it.
It's kind of a Music Player, based on Web Audio API (I'm not using Ionic or something like that).
The player is working fine loading the files from my Internal Storage.
Now I'm trying to draw the waveform from the audio file the user selects, but I'm not being able to.
Following the example from the docs page, I can draw the waveform from an audio file on a server.
var wavesurfer = WaveSurfer.create({
	container: '#wave',
	barWidth: 3
});

wavesurfer.load('http://ia902606.us.archive.org/35/items/shortpoetry_047_librivox/song_cjrg_teasdale_64kb.mp3');

wavesurfer.on('ready', function () {
    wavesurfer.play();
});

Is there a way to load a file like this?
//wavesurfer.load('file:///storage/emulated/0/path/to/file.mp3');
Thanks in advance!

@mikael-onsilva you can have a look at the cordova file plugin for more info. It really depends on the device file api. Using the cordova plugin file should help in cross platform.
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-file/index.html


Do I need to train the vocabulary myself?

Thank you for your excellent work.

Yes, it's best if you train the vocabulary with your own dataset / descriptor. It's very easy with the buildVocabulary API. And it's very fast. After that you can serialize , save and reuse it in the future.


Public maxmind DB url decomissioned

It seems for legal reasons, the default dbUpdateURL used by the ./goiplookup db-update command is no longer available.
It is easy enough to fix this by updating the goiplookup.go:25, dbUpdateURL value to be:
dbUpdateURL = "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=<SIGN_UP_FOR_API_KEY_AND_ADD_HERE>&suffix=tar.gz"
and running make (after substituting in your API key of course).

Thanks for the report and info Mark, I wasn't aware they had implemented this "feature".
Hmm, I'm not sure what the consequences would be (if any) to embed a key in the source code/binary, vs the hassles of exporting (env) a key on runtime, or having to create a config.
I think I'll probably go with an exported key at build time so the binaries run as-is, but not embedded in the source code. I'll get this sorted in the next couple of days.

Thanks! I meant the above as a quick-fix for anybody who saw the same problem - I didn't know if there already was a properties file or environmental variable where the value could be set more logically.
I think its reasonable if the api key was a parameter to db-update at runtime at least?
Thanks for the awesome tool btw!

I have just released a new version of goiplookup which provides the license key requirements needed for database updating. The binary releases contain a working key (ie: no changes required), however if you are building from source then you will need to provide your own. More details/instructions on https://github.com/axllent/goiplookup#database-updates
Thanks again for the heads-up Mark!


Add texture properties to the UMAMaterial

TextureProcessProCoRoutine has some tab issues. Didn't fix so that it didn't generate false change warnings.

the anisoLevel should default to at least 1, right?  What should mipMapBias defaults to?

mipmap bias should default to 0, so its good.


Windows support

Is there or will where be a Windows version?

@dreszczyk Teleconsole is based on Teleport which does not support Windows (in part because it's own 3rd party dependencies do not support Windows) so we're at the end of a long chain here... Closing for now.

With Teleport Client (tsh) now working also on Windows (ex: https://gravitational.com/teleport/download ) is it possible to also support teleconsole on Windows ?

@cyparu tsh only implements the "login" command which retreives a certificate and stores it in the SSH agent. It can't do a proper SSH session on Windows, and, by extension, neither can Teleconsole :(


About the path "./results_pretrained/" in the evaluation code

Thanks for you wonderful work and code!
I have a question about the path "./results_pretrained/" in the evaluation code.
in the eval.py, line 484, it says
cp_path = './results_pretrained/h36m_linNF_pose_prior_float/models/vae_0025.p' if cfg.dataset == 'h36m' else
'./results_pretrained/humaneva_nf/models/vae_0025.p'
But your provided code does not contain a "results_pretrained" folder. I am wondering, do I need to train again and then make my own "results_pretrained" to run the evaluation code?
I would appreciate it very much if you could reply!

Thank you for pointing it out.
It should be cp_path = './results/h36m_linNF_pose_prior_float/models/vae_0025.p'. I will update this.

Thank you for pointing it out.
It should be cp_path = './results/h36m_linNF_pose_prior_float/models/vae_0025.p'. I will update this.

Thanks for your kind reply!
But your provided "results" folder also does not contain a "h36m_linNF_pose_prior_float" subfolder...
Maybe it should be the "./results/h36m_nf" folder ?

Yes, you are right.


yet another Pi4 and HW Accell question

I've been using go2rtc for the last 2 months and doing a lot of experimentation with it, I'm not an expert in any of the topics discussed here and I'm doing this as a hobby to setup my home assistant dashboard to monitor my cameras.
My setup is a Hassio running on a Pi4B 4GB By and 4 IP Cameras with 2 streams each 1280x720 h264 and 1920x1080 h265.
For the HD stream I use #video=h264#audio=copy
For the FHD stream I use #video=copy#audio=copy
The Pi4 is struggling to run these cameras using the software encode/decode. the CPU at the moment is running at 95% and the system is pretty unstable. If I stop go2rtc, the CPU goes down to 6%.
I've read the docs  and I know decoding is going to be always software on Raspberry Pi.
I've also edited the config.txt to have more GPU RAM, it's set to 256MB at the moment.
I'm able to get the RTSP URL and watch this using VLC, also configuring as a stream in the go2rtc or with the go2rtc instance that runs bundled with Frigate and finally running go2rtc on a Windows 10 PC.
On my Windows PC the #hardware directive works flawlessly for all my cameras and different stream qualities, also for h264 or h265 inputs.
But on my Pi4 it simply doesn't work.
this is the log when NOT USING the #hardware
2024-01-05 06:04:47.887081241  03:04:47.884 DBG [exec] run url="exec:ffmpeg -hide_banner -v error -allowed_media_types video+audio -fflags nobuffer -flags low_delay -stimeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://<IP_ADDRESS>/V_ENC_001 -c:v libx264 -g 50 -profile:v high -level:v 4.1 -preset:v superfast -tune:v zerolatency -c:a copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp rtsp://localhost:8554/44e298ad845330c675154f1856cc396a"

this is the log when USING the #hardware
2024-01-05 06:04:30.116147381  03:04:30.115 DBG [exec] run url="exec:ffmpeg -hide_banner -v error -allowed_media_types video+audio -fflags nobuffer -flags low_delay -stimeout 5000000 -user_agent go2rtc/ffmpeg -rtsp_transport tcp -i rtsp://<IP_ADDRESS>/V_ENC_001 -c:v h264_v4l2m2m -g 50 -bf 0 -c:a copy -user_agent ffmpeg/go2rtc -rtsp_transport tcp -f rtsp rtsp://localhost:8554/e1513f3db87f728be4cad68c98258461"

Adding the #hardware to the stream URL makes the feed return a static image like this:
 or
I don't know exactly what else I could share here to help you help me, but let me know if you want me to get more logs or check something else.
I need to find a way to reduce the load on the CPU

It seems to be more a FFMPEG than a GO2RTC issue, and since I got zero help over here, I'll be closing it!


[Proposal] use verror

Do you think using verror with feathers-errors?

The error module is a little finicky because it has to work reliably on the client and the server so it shouldn't have any external dependencies.
It looks like verror is pulling in several libraries (extsprintf, core-util-is, util, assert-plus) which will probably add to the - currently pretty slim - client side build.

Thanks for the suggestion again @bertho-zero. I'm going to close this one since it looks like we'd be pulling in a whole bunch of additional dependencies (which is fine on Node but on the client we do want to keep the builds as small as possible).
Maybe we can eventually make feathers-errors more generic (it's not really Feathers specific already).


Devc uses previous Docker image if updated Dockerfile has an error during rebuild

Start dev mode with containers, using a valid Dockerfile
Change the Dockerfile to have some invalid commands or Dockerfile syntax errors
Dev mode tries to rebuild the Dockerfile, shows an error, but then starts the previous container image

This is misleading since the user might not see the docker build failure, and wonder why their changes are not being reflected in the server/container that is being run.

Ideally dev mode should not exit in this case, but still watch for changes in the Dockerfile and do further rebuilds.  It should not start the previous image if the Docker build failed though.


DBZ-7304 Align snapshot modes for MongoDb connector

closes: https://issues.redhat.com/browse/DBZ-7304

[x] Add tests for Always, When Needed and Custom snapshot
[x] Check support for SnapshotQuery interface

@jpechane @jcechace Wondering if the possibility to customize the query for the snapshot has sense for Mongo.
For relations databases, users can implement Optional<String> snapshotQuery(String tableId, List<String> snapshotSelectColumns);
and have enough power/infos to manipulate the query.
For Mongo it's more complex since they can provide just the filtering part (no info about columns) or, if we want to give them the full power, they should play directly with MongoCollection.  Am I right?
Said that I'll maintain the possibility to define advanced filtering just using snapshot.collection.filter.overrides. WDYT?

@mfvitale the problem with customising the query for MongoDB is that it wouldn't be just a simple string so the API would have to be different -- instead of string a we would likely need the API to return either FindIterable or just the Filter query (Which is a Bson type)

@mfvitale the problem with customising the query for MongoDB is that it wouldn't be just a simple string so the API would have to be different -- instead of string a we would likely need the API to return either FindIterable or just the Filter query (Which is a Bson type)

Yes, and for that reason I will propose to not support the SnapshotterQuery interface. @jpechane WDYT?

I'd say that not supporting it is reasonable -- at least for now.

Can't we just return the filter string, parse it via Document.parse and use it for filtering?

OK, let's skip it now. Fortunately you designed separated interfaces :-). We can rethink the issue when there is a demand for it.

We can rethink the issue when there is a demand for it.

Yes, I agree. So this is ready for review ;-)

@mfvitale Applied, thanks!


Bluesky -> ActivityPub: quote posts are bridged without what they’re quoting

Probably best to add a link to what it’s quoting, and if the quoted account is bridged, a same-platform one?

Yup! This is #461, merging in there. I haven't prioritized these at all, but I guess I should eventually.

i thought i had searched the existing issues, my bad :/


m3 material not being elevated

repro: https://github.com/cedvdb/flutter_repros/tree/m3_material_elevation
The repro has to be run on a big screen because it has the same app running 12 times side by side with different Theme constructors. In the repro the elevated material at the bottom should be elevated but it is not in m3.

Hi @cedvdb, Thanks for filing the issue. I am not sure I understood the issue, Can you please clarify what exactly the issue is?

In the repro the elevated material at the bottom should be elevated but it is not on the apps running on the right. The shadows are not seen.

I am sorry, I am still little confused, By elevated material are you referring to the OverlayButton?
Overlay Button without shadow Circled with red

Yes what is in the red circle is not elevated on the right (look at the shadows)

Hi @cedvdb
This is intended behavior when enabling useMaterial3
https://github.com/flutter/flutter/blob/0cbd6231e4e5411ac7c021cf685a1025ec507a17/packages/flutter/lib/src/material/material.dart#L255-L269
You can provide shadow color from the theme, Card widget now does the same thing https://github.com/flutter/flutter/blob/0cbd6231e4e5411ac7c021cf685a1025ec507a17/packages/flutter/lib/src/material/card.dart#L230 and it draws shadow when enabling useMaterial3

minimal code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key, this.dark = false});

  final bool dark;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Row(
        children: [
          Expanded(
            child: MaterialApp(
              debugShowCheckedModeBanner: false,
              themeMode: dark ? ThemeMode.dark : ThemeMode.light,
              theme: ThemeData(
                useMaterial3: false,
                brightness: Brightness.light,
                colorSchemeSeed: const Color(0xff6750a4),
              ),
              darkTheme: ThemeData(
                useMaterial3: false,
                brightness: Brightness.dark,
                colorSchemeSeed: const Color(0xff6750a4),
              ),
              home: Example(title: 'Material 2'),
            ),
          ),
          Expanded(
            child: MaterialApp(
              debugShowCheckedModeBanner: false,
              themeMode: dark ? ThemeMode.dark : ThemeMode.light,
              theme: ThemeData(
                useMaterial3: true,
                brightness: Brightness.light,
                colorSchemeSeed: const Color(0xff6750a4),
              ),
              darkTheme: ThemeData(
                useMaterial3: true,
                brightness: Brightness.dark,
                colorSchemeSeed: const Color(0xff6750a4),
              ),
              home: Example(title: 'Material 3'),
            ),
          ),
        ],
      ),
    );
  }
}

class Example extends StatelessWidget {
  Example({super.key, required this.title});

  String title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            const Card(
              child: Padding(
                padding: EdgeInsets.all(8.0),
                child: Text('Card'),
              ),
            ),
            OverlayButton(
              onTap: () {},
              child: const Text('Material'),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {},
        child: const Icon(Icons.add),
      ),
    );
  }
}

class OverlayButton extends StatelessWidget {
  final Function() onTap;
  final Widget child;

  const OverlayButton({
    Key? key,
    required this.onTap,
    required this.child,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Material(
      type: MaterialType.card,
      color: Theme.of(context).colorScheme.surface,
      elevation: 3,
      borderRadius: BorderRadius.circular(20),
      shadowColor: Theme.of(context).colorScheme.shadow,
      surfaceTintColor: Theme.of(context).colorScheme.surfaceTint,
      child: InkWell(
        onTap: onTap,
        borderRadius: BorderRadius.circular(20),
        child: Padding(
          padding: const EdgeInsets.symmetric(
            horizontal: 12,
            vertical: 8,
          ),
          child: DefaultTextStyle(
            style: TextStyle(color: Theme.of(context).colorScheme.onSurface),
            child: child,
          ),
        ),
      ),
    );
  }
}

Hey @TahaTesser Thanks for the detailed answer. As I understand it has to be done on a case by case basis now, instead of being done for you automatically.  I was under the wrong impression that when turning useM3 flag to true I'd have the same app with all the bells and whistles from m3. I was a bit taken aback by how our app looked like when I turned on this flag as I had high hopes. Now I understand that it needs some migration.

@cedvdb
Actually, M3 migration is also fixing  minor issues and some clean up, it is not just changing theme and colors.

Here shadow color is transparent by default after migrating to M3.
ListTile won't use hard-coded color in the light mode for disabled icons after migrating to M3.
See https://github.com/flutter/flutter/pull/102078

The transition to M3 will introduce many small color changes; seems OK to include this one too.
https://github.com/flutter/flutter/issues/99400#issuecomment-1075580629

cc: @HansMuller
Perhaps there should be a migration guide for Material 3?

@TahaTesser FYI the context menu do not have shadows, in the Figma file furnished by material there are shadows for the menu. Maybe that's a mistake.


[20.x] WFLY-13603 Handle case where cache configuration has not defined a DataContainerConfiguration.

https://issues.redhat.com/browse/WFLY-13603
Upstream PR:
https://github.com/wildfly/wildfly/pull/13374

Thanks, @pferraro


bazel-remote vs bazel-buildfarm comparison

Looking at first glance a bazel-buildfarm looks like a superset of a bazel-remote. Could you add some rationale why should I use the bazel-remote instead?

You're right that bazel-buildfarm provides a superset of functionality that bazel-remote does. This is also the case for other remote execution services (eg https://github.com/buildbarn).
I'm not familiar with bazel-buildfarm's cache implementation so I can't give a direct comparison, but I suspect that bazel-remote is simpler to setup- it's a single statically linked binary with simple filesystem based storage. If you just want a cache, bazel-remote is really easy to get started with.
If you want remote execution, then I would recommend starting with a complete service like buildfarm/buildbarn. Some people use bazel-remote as part of these setups for various reasons, but I wouldn't start with that.

@slsyy being only slightly facetious, I prefer operating as few JVMs as possible and only currently need a remote cache


bitcode coder impl

I'm a little worried the user might not be able to encode any Table object format they need using bitcode.  So I want to make sure the user can pass a different Coder for the Table CF.

These results are excellent on a larger dataset.  Here are the timings from the "cities15000" file running the lookup benchmarks:
bitcode

DB size = 102,622,372 bytes

lookup_exact_london        time:   [6.9620 µs 7.0958 µs 7.2518 µs]
lookup_exact_tokyo         time:   [1.6391 µs 1.6580 µs 1.6787 µs]
lookup_exact_rio           time:   [4.3231 µs 4.3655 µs 4.4109 µs]
lookup_raw_london          time:   [46.446 µs 47.011 µs 47.635 µs]
lookup_raw_tokyo           time:   [35.836 µs 36.230 µs 36.633 µs]
lookup_best_exact_london   time:   [1.7531 µs 1.7707 µs 1.7881 µs]
lookup_best_inexact_london time:   [158.73 µs 160.62 µs 162.69 µs]
lookup_fuzzy_all_london    time:   [244.34 µs 249.25 µs 254.64 µs]
lookup_fuzzy_all_tokyo     time:   [289.91 µs 293.45 µs 297.63 µs]
lookup_fuzzy_all_random    time:   [194.56 µs 197.93 µs 201.32 µs]

bincode

DB size = 115,750,448 bytes

lookup_exact_london        time:   [3.1255 µs 3.1575 µs 3.1892 µs]
lookup_exact_tokyo         time:   [3.1168 µs 3.1454 µs 3.1756 µs]
lookup_exact_rio           time:   [5.0292 µs 5.0751 µs 5.1242 µs]
lookup_raw_london          time:   [92.819 µs 94.213 µs 95.781 µs]
lookup_raw_tokyo           time:   [73.830 µs 74.749 µs 75.754 µs]
lookup_best_exact_london   time:   [3.1153 µs 3.1497 µs 3.1829 µs]
lookup_best_inexact_london time:   [192.11 µs 194.40 µs 196.82 µs]
lookup_fuzzy_all_london    time:   [276.71 µs 280.18 µs 283.94 µs]
lookup_fuzzy_all_tokyo     time:   [315.00 µs 318.73 µs 322.67 µs]
lookup_fuzzy_all_random    time:   [576.04 µs 599.02 µs 625.01 µs]

I noticed a few issues with your implementation of decoding a single bitcode length.

u128 is never used and u64 is represented by 0 (not 1).
The > 255 check isn't guaranteed since elements can encode to < 1 byte.
For example, vec![false, true, false, true] encodes as [4, 0b1010]
Panics if input is too short, while the errors it does handle can't happen (try_into array will always succeed since the slice is the same length).

Here is a patched version:
fn fmt1_list_len(&self, bytes: &[u8]) -> Result<usize, String> {
    fn invalid_length() -> String {
        "invalid length".to_owned()
    }

    let first = *bytes.get(0).ok_or_else(invalid_length)?;
    if first < 255 {
        return Ok(first as usize);
    }

    // 1, 3, 5, 7 cannot occur while encoding 1 length. 6 cannot occur at all.
    match *bytes.get(1).ok_or_else(invalid_length)? {
        4 => {
            let len_chars = bytes.get(2..4).ok_or_else(invalid_length)?;
            Ok(u16::from_le_bytes(len_chars.try_into().unwrap()) as usize)
        }
        2 => {
            let len_chars = bytes.get(2..6).ok_or_else(invalid_length)?;
            Ok(u32::from_le_bytes(len_chars.try_into().unwrap()) as usize)
        }
        0 => {
            let len_chars = bytes.get(2..10).ok_or_else(invalid_length)?;
            Ok(u64::from_le_bytes(len_chars.try_into().unwrap()) as usize)
        }
        _ => Err(invalid_length()),
    }
}

@caibear! The maestro! Bitcode is awesome!
Thank you for your help!

Fix from @caibear merged in 7664082  Thanks again!


Version 3.0.1 fails with  exec: /usr/local/bin/node: not found

I have a Docker container that I use for running code-server. When I update the binary version from 2.1X to 3.0.1 I get the following error:

dev-box:~/code-server$ docker run -it --rm --name code-server --security-opt=seccomp:unconfined -p <IP_ADDRESS>:8080:8080 -v $(pwd)/project:/home/diogo/project vscode
/usr/local/bin/code-server: 6: exec: /usr/local/bin/node: not found

Nothing else changes in the Dockerfile except the version of code-server I'm downloading.

Realized there were instructions for version 3.0.0 with major changes:
V3 has some significant changes that will need to be accounted for in your
scripts.
We use semantic versioning now. The VS Code version will no longer be included
in the tag or the release file name.
Releases are now loose files and are no longer packed into a single binary so
be sure to move the entire directory. Inside the directory is an entry script
code-server that will launch with the bundled Node.
If you want to do something like put the entry script in /usr/bin and the
code-server files in /usr/lib we recommend you use a symlink: ln -s /usr/lib/code-server/code-server /usr/bin/code-server.
You can also run code-server with your own Node binary instead of the bundled
one: node /path/to/code-server/out/node/entry.js.


Energy Consumption

UV307:
Amphematine uses ~0,5% CPU constantly, in Activity Monitor, Energy Tab, Amphetamine consume 0,25 on average.

I'm also seeing this problem. Was there any progress on getting to the root of the problem? I took a stab at firing up Instruments and tried some profiling. I'm not a OS X developer, by any means, but it seems most of the CPU is being consumed by _nextEventMatchingEventMask.

+1


Fix stats for datasets bigger than 5Gb on first n parquets

Currently for datasets with lots of parquet files which were copied from the main branch statistics are not computed with SplitWithTooBigParquetError (example: bigcode/starcoderdata). While we can take first n parquet files instead, as it's done for duckdb-index runner.
+ also updated openapi.json with a change not from this PR (bool feature in stats)
+ added check for "partial" field for /search and /filter endpoints in tests - or were they omitted intentionally?
Questions:

I added "partial" field for statistics runner too but not sure how to update the cache. Previously datasets with partial exports (with partial- in directory) worked fine so I had to set None as default value to populate cache entry in migration because I cannot set either True or False (there are already both cases in cache).
I noticed that /search Hub's don't have info about some keys that are returned in response (num_rows_total, num_rows_per_page and partial. Is it intentional? If not, I can add it.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8df8ed1) 92.73% compared to head (693b2fb) 85.45%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2227      +/-   ##
==========================================
- Coverage   92.73%   85.45%   -7.28%
==========================================
  Files          90       55      -35
  Lines        6209     2441    -3768
==========================================
- Hits         5758     2086    -3672
+ Misses        451      355      -96

Flag
Coverage Δ

services_admin
86.43% <ø> (?)

services_api
83.44% <ø> (?)

services_rows
82.40% <ø> (?)

services_search
80.40% <ø> (?)

services_sse-api
94.19% <ø> (?)

services_worker
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@severo i think i addressed your comments, hopefully migration is correct now...


Discourse: Evaluation Checklist

We've had a trial Discourse forum up for over a month. There have been some discussions on it by a few contributors, and at this point, everyone should have had the chance to interface with the forum and see how it works for them.
Moving forward, I would like to come to a consensus about whether we should either go with Discourse as a possible alternative to our GitHub repo system, or not. In this thread, I'd like to establish any concerns people have that we can actionably deal with, and to have a checklist for things which need to be dealt with before we move forward.
These are some concerns I have heard.
Before we move to Discourse, we should…
Have more contributors participate on the forum.
We haven't had enough people buy in.
To test this, we should:

[ ] Actively move some more discussions over there. Does this sound right? Which issues? Other ideas?

Have a technical discussion on the forum.
Right now it is only meta topics, and we can't evaluate how it would look to have a technical discussion there given that.
To test this, we should:

[ ] Take a technical issue, and talk about it there. Do you have suggestions for a good issue?

Answer support questions there.
To test this, we should:

[ ] Direct users away from ipfs/support for now, and send them to Discourse.

See whether the scoping of topics makes sense.
Are the categories accurate, and do they help us navigate the board? Are they better than ipfs/support, ipfs/faq, and ipfs/community for saying where things should be posted?
To test this, we should:

[ ] Have a discussion about it, here.

Make sure that everyone has time to see it.
Not everyone has had the time to interface with it. We should prioritize this over code before the end of the year.
To test this, we should:

[ ] Get a list of people who feel they haven't had time. Is this you?
[ ] Have them scope out some time to look at it, at the cost of other priorities.

Migration Plan
These are tasks which need to be done before we can move fully to Discourse, if that is what we want to do.

[ ] Copy all ipfs/faq issues over here.
[ ] Build a document that coalesces the 'answered' FAQ questions into a single document. Post it on the website.
[ ] Mention Discourse on ipfs/ipfs, ipfs/community, ipfs/pm.
[ ] Close some of the open long-standing issues on ipfs/community which are served by this repo.
[ ] Close ipfs/support, close all issues, and say that it is now Deprecated. Actively gut the README. Reopen open issues on Discourse.
[ ] Post a link to Discourse on the IRC channel's topic.
[ ] Announce on Twitter, Reddit, and the blog.

Anything else?
If you have other concerns, can you list them below? Comments, too. Hopefully, we can grow this list out, make it better, and actively check off items and come to conclusions about each concern.
If you feel this could be phrased better, please let me know. Always happy to improve.

On moving FAQ and Support to Discourse
While it is possible to disable issues for a repository temporarily, and bring those issues back later as needed, this breaks links to those issues elsewhere. One thing we could do immediately is to add an issue template to those Repositories, like we've done with IPFS/IPFS now (thanks @whyrusleeping), asking users to post in Discourse. @whyrusleeping pointed out to me that we could also do this without being harsh; just ask that they start posting here. A possible downside to this plan is that now we would need to check both Discourse and ipfs/support and ipfs/faq, simultaneously.

Could we set up the subdomain sooner rather than later? I'd prefer to use a stable url when recruiting people to participate in the tests. That way the link won't break if/when we move to adopt Discourse long-term.

As the site stands now I won't use it.  I find text hard to read due to lack of contrast.  Please see http://contrastrebellion.com/ and https://www.nngroup.com/articles/low-contrast/.  If the background is white I prefix pure black for the main text, but I am okay with a slightly lighter color (GitHub #333 is probably about as light as I will tolerate).  If I am forced to use the site as it stands I will have to install a browser extension to tweak the style sheet so I can read it with straining my eyes.
I am not 100% sure but there also doesn't seam to be a way to get email on your own replies.  I find this feature extremely useful, but since many other forms don't provide it something I can live with.

We have complete control of the styling, so we can fix the contrast. I agree that high contrast is a basic accessibility issue that we have to prioritize. The current style is a quick and dirty imitation of the CSS from the IPFS.io website.
cc @dignifiedquire

I've just updated the base text color to be #333. It might take a couple of refreshes before your cache updates though.

Thanks!  That's better.  Note that many other web sites now seam to use #222, that might be a bit better.  But as it is now is okay for me.

@kevina:

I am not 100% sure but there also doesn't seam to be a way to get email on your own replies. I find this feature extremely useful, but since many other forms don't provide it something I can live with.

You can enable "Mailing list mode" in Preferences
("gear" icon after you click on your avatar):

@lidel I saw that, it is unclear if it will enable emails to be sent on your own activity like GitHub now allows.  From the limited testing I saw in try.discourse.org it does not, at least for private messages.  I can't post to the Sandbox because my account is "on hold".  So I waited, and then when I came back my account seams to have been deleted.

Marta posted a bunch of great questions on Discourse yesterday. We should use these to test Discourse. @RichardLitt can you drum up people to respond -- both from #ipfs and #ipfs-dev -- and watch the discussions?

Have we made any progress on this? Seemingly, the activity rate on Discourse is not that high (last post seems to have been at 23th of January)

Low participation is not surprising:
a)  ipfs/faq, ipfs/support and ipfs/community are still on Github, people are not directed to Discourse because there is not good content there (chicken and egg problem)
b) invasive anti-spam settings I mentioned here may discourage people from posting at Discourse (there are no restrictions at Github, you just create account and post anything you want)

I agree with point a), at least.
I am unable to continue pushing this forward. I'll leave this up to the rest of the IPFS team to enact.

We could set up a two-way sync between discourse and github. Or just move everything over and close the repos (I'd be down for that by now).

I think we should

move everything that makes sense over
have a DRI for discourse handling

Having https://github.com/ipfs/community/pull/246: Decision Document: Creating a Community Forum for IPFS and Related Projects
what will be the next step?
Changing http://ipfs.trydiscourse.com to  *.ipfs.io domain picked in https://github.com/ipfs/ops-requests/issues/33?

I just checked in with @lgierth about this. ipfs.io domain only allows https, even on subdomains. That means we will only be able to move discourse to discuss.ipfs.io after spinning up our own instance. We were planning to do that anyway. It just means we will have to wait a few more days before making the switch.
What are the other next steps? Off the top of my head:

rename from "discourse trial" to IPFS forum
after setting up the new subdomain, announce on all channels
do the steps outlined in the proposal on loomio

It has been done https://discuss.ipfs.io/ 🎉


Enhance CSM

Hello @vhirtham! Thanks for updating this PR.

In the file weldx/transformations.py:

Line 1142:1: W293 blank line contains whitespace

maybe we should use this PR to change the type hints for CS names from Hashable to str (no need for error catching)


Consider migrating to a variant of vector_math that has a smaller API surface area

For example, we don't seem to need https://master-api.flutter.dev/flutter/vector_math/Colors-class.html but it is currently in our API docs. We may also be able to make a simpler API surface, e.g. Matrix4.leftTranslate has an argument that is dynamic.
The question is can we do this without breaking everyone... I expect many people are importing vector_math themselves, so this may be a non-starter.
Not a high priority. cc @dnfield @yjbanov @goderbauer

We have a semi-related issue of having a separate copy of vector_math in dart:ui because it's used in web engine code and that can't depend on packages. This ends up negatively contributing to app size for web.


Fixed minor implicit conversion issues, using floats instead of doubles

These issues were found in Clang static analyzer with -Wconversion. Only two, both very minor.

Fixed by #26 and #8

Fixed by #26 and #8


More problems with zeros

Hi there, I've set up a simple example exactly like the video with a couple of form elements to read and then update values in a postgres table. My issue is that updating a value to anything (but a zero) works fine but if zero is the value it's a no-op. I'm running 3.4.0 of the plugin in self-hosted (docker) Grafana 10.2.2.
In my example below you can see how I'm updating two fields. The first is being changed from 1 to 0, and the second is being changed from 1 to 2. You can see that the 2 worked but the 0 did not. Printing out the query generated seemed to indicate that the zero was essentially being ignored and the value in the query was still 1. Any ideas?

@paustin01 It should be working. Could you share your panel config? Item value can be updated in custome code or somewhere else

@paustin01 I just double-checking on the upcoming v3.5.0 and it works as expected.
Please let us know if there is anything else.

Sorry for the delay. Holidays. I'll give the new version a shot and reopen if able to repro.

If it's at all helpful, I'm running 3.4.0 and was just doing a simple insert statement into a PG database. Works fine if the value is anything but zero but if it is zero I get the following. (I'll try again when 3.5.0 drops too)

The same issue in Radio Group with Boolen options field when choosing False value, with True value it's working ok. Have tried both INSERT/UPDATE postgres requests, same issue with 'false'.  Version 3.4.0

@paustin01 @sadashiva8 Thank you for raising the issue. We are investigating.

@paustin01 @sadashiva8 please share your panel config to repduce the issue

Please check if you use something like that in get payload code
const payload = {};

elements.forEach((element) => {
  if (!element.value) {
    return;
  }

  payload[element.id] = element.value;
})

/**
 * Data Source payload
 */
return {
  rawSql: // sql,
  format: 'table',
};`;

if it's true, you should change checking of element.value to
if (element.value === undefined) {
  return;
}

This works! Great, thank you very much for your support. 👍
Changed:
if (!element.value) {
return;
}
To:
if (element.value === undefined) {
return;
}

@paustin01 Let us know if you have the same issue and proposed code works for you?


[Pharmacy module] System does not display all the active prescriptions on Dispensation

[Actual Results]: The system does not display all the active prescriptions on Dispensation Tab
[Expected results]: The system must display all active prescriptions in the Dispensation tab
[Steps to reproduce]: Go to Pharmacy module-> Search for a patient(BTest)-> Click on Prescription Tab to visualise the number of active prescriptions-> Go to Dispensation tab to see the listed prescriptions

It is now working.

once is working, will close


Rebalance mode: show and warn if chain swaps would be triggered

In all most all cases that's not wanted

not a problem with current fee situation, will be addressed with https://github.com/BoltzExchange/boltz-client/issues/353


Error when installing

I install package using command go get -u github.com/btcsuite/btcutil. It returns error:
# github.com/btcsuite/btcutil btcsuite/btcutil/block.go:82: b.msgBlock.SerializeNoWitness undefined (type *wire.MsgBlock has no field or method SerializeNoWitness) btcsuite/btcutil/tx.go:63: t.msgTx.WitnessHash undefined (type *wire.MsgTx has no field or method WitnessHash) btcsuite/btcutil/tx.go:77: t.msgTx.HasWitness undefined (type *wire.MsgTx has no field or method HasWitness)
I using golang 1.8.3 (in both ubuntu 14.04 TS 32 bit and 64bit).

This is because the PR that the most recent commits relied on had not yet been merged to master.  It has now been merged.


Sketch mode more tolerant to syntax errors

Closes #4055

[x] Fix bug
[x] Add regression test

https://github.com/user-attachments/assets/e3780227-a7a1-493f-97f6-f35d61a98062

There's a new console error in the test I just wrote, only on windows, hence the failing playwright test.
I'll look into that tomorrow.


Question : how/when is source_dir copied into the sagemaker training instance?

Hello,
I am able to successfully get this example working no problem. I can adapt it to my purpose. However I am now attempting to use the AWS SageMaker Javascript SDK in order to accomplish the same task. I don't quite understand how source_dir in the jupyter notebook instance gets transferred over to the sagemaker training instance.
Is this done by the python sagemaker SDK? Can someone comment on how this could be done via the javascript sagemaker SDK?
The following successfully launches a trading instance. The image is downloaded from ECR, however the training fails. I suspect it is because source_dir has not been copied over to the sagemaker training instance.
 const trainingDateTime = moment().utc().format('YYYY-MM-DD-hh-mm-ss-SSS')
        let roleArn = 'arn:aws:iam::XXXX:role/sagemaker_role_dev'
        let TrainingJobName = `tf2-object-detection-${trainingDateTime}`
        let TrainingImage   = 'XXXX.dkr.ecr.us-west-2.amazonaws.com/tf-object-detection:XXXX'
        let S3Uri           = 's3://tf-training-test/data/antenna/tfrecords/'

        let params = {
            AlgorithmSpecification: { /* required */
                TrainingInputMode: 'File', /* required */
                TrainingImage: TrainingImage
            },
            OutputDataConfig: { /* required */
                S3OutputPath: `s3://sagemaker-us-west-2-XXXX/`, /* required */
            },
            ResourceConfig: { /* required */
                InstanceCount: 1, /* required */
                InstanceType: 'ml.p3.2xlarge', /* required */
                VolumeSizeInGB: 30, /* required */
            },
            RoleArn: roleArn, /* required */
            StoppingCondition: { /* required */
                MaxRuntimeInSeconds: 86400
            },
            TrainingJobName: TrainingJobName, /* required */
            InputDataConfig: [
                {
                    ChannelName: 'train', /* required */
                    DataSource: { /* required */
                        S3DataSource: {
                            S3DataType: 'S3Prefix', /* required */
                            S3Uri: S3Uri, /* required */
                            S3DataDistributionType: 'FullyReplicated'
                        }
                    },
                    CompressionType: null,
                    ContentType: '',
                    RecordWrapperType: null,
                }
            ],
            HyperParameters: {
                'model_dir':	                    '"/opt/training"',
                'num_train_steps':	                '500',
                'pipeline_config_path':	            '"pipeline.config"',
                'sagemaker_container_log_level':	'20',
                'sagemaker_job_name':	            `tf2-object-detection-${trainingDateTime}`,
                'sagemaker_program':	            '"run_training.sh"',
                'sagemaker_region':	                '"us-west-2"',
                'sagemaker_submit_directory':	    `"s3://sagemaker-us-west-2-XXXX/${TrainingJobName}/source/sourcedir.tar.gz"`,
                'sample_1_of_n_eval_examples':	    '1',
            },
            TensorBoardOutputConfig: {
                S3OutputPath: 's3://tf-training-test/data/antenna/tensorboard/', /* required */
                LocalPath: '/opt/training/'
            }
        };

        return this.sagemaker.createTrainingJob(params).promise();

Sagemaker training fails with the following error
2021-10-08 18:30:19,173 sagemaker-training-toolkit ERROR    framework error:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/sagemaker_training/trainer.py", line 97, in train
    runner_type=runner_type,
  File "/usr/local/lib/python3.6/dist-packages/sagemaker_training/entry_point.py", line 92, in run
    files.download_and_extract(uri=uri, path=environment.code_dir)
  File "/usr/local/lib/python3.6/dist-packages/sagemaker_training/files.py", line 131, in download_and_extract
    s3_download(uri, dst)
  File "/usr/local/lib/python3.6/dist-packages/sagemaker_training/files.py", line 167, in s3_download
    s3.Bucket(bucket).download_file(key, dst)
  File "/usr/local/lib/python3.6/dist-packages/boto3/s3/inject.py", line 247, in bucket_download_file
    ExtraArgs=ExtraArgs, Callback=Callback, Config=Config)
  File "/usr/local/lib/python3.6/dist-packages/boto3/s3/inject.py", line 173, in download_file
    extra_args=ExtraArgs, callback=Callback)
  File "/usr/local/lib/python3.6/dist-packages/boto3/s3/transfer.py", line 307, in download_file
    future.result()
  File "/usr/local/lib/python3.6/dist-packages/s3transfer/futures.py", line 106, in result
    return self._coordinator.result()
  File "/usr/local/lib/python3.6/dist-packages/s3transfer/futures.py", line 265, in result
    raise self._exception
  File "/usr/local/lib/python3.6/dist-packages/s3transfer/tasks.py", line 255, in _main
    self._submit(transfer_future=transfer_future, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/s3transfer/download.py", line 343, in _submit
    **transfer_future.meta.call_args.extra_args
  File "/usr/local/lib/python3.6/dist-packages/botocore/client.py", line 386, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.6/dist-packages/botocore/client.py", line 705, in _make_api_call
    raise error_class(parsed_response, operation_name)

botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found

Any insight on what causes this error or insights on how to get this same example functioning in the Sagemaker Javascript SDK would be greatly appreciated.

Hi @mkabatek, this more a SageMaker Python SDK question and I suggest you ask there, on AWS re:Post, or on Stack Overflow.


Constant pip issues on host level due to bad pip links config handing inside pip_lockdown_role

What version (commit) do you encounter this issue on?
r12.1.2
What type of issue is this (bug, feature, documentation, regression)?
Bug
What is the expected behavior?
pip configuration is 100% managed during RPC upgrade, no more stale links
What is actually happening?
TASK: [rpc_support | Install pccommon pip dependencies] ***********************
failed: [controller2] => (item=python-openstackclient) => {"attempts": 2, "cmd": "/usr/local/bin/pip install --force-reinstall python-openstackclient", "failed": true, "item": "python-openstackclient"}
msg: Task failed as maximum retries was encountered
failed: [controller3] => (item=python-openstackclient) => {"attempts": 2, "cmd": "/usr/local/bin/pip install --force-reinstall python-openstackclient", "failed": true, "item": "python-openstackclient"}
msg: Task failed as maximum retries was encountered
failed: [controller1] => (item=python-openstackclient) => {"attempts": 2, "cmd": "/usr/local/bin/pip install --force-reinstall python-openstackclient", "failed": true, "item": "python-openstackclient"}
msg: Task failed as maximum retries was encountered

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
rpc_support | Add rpc_support key to nova ------------------------------ 10.87s
rpc_support | Check for rpc_support keypair in nova -------------------- 10.84s
rpc_support | Install pccommon pip dependencies ------------------------- 5.83s
rpc_support | Add HWRaid apt keys --------------------------------------- 5.81s
rpc_support | Set history format file ----------------------------------- 1.36s
rpc_support | Host kernel sysctl tuning --------------------------------- 1.35s
rpc_support | Install HWRaid packages ----------------------------------- 0.68s
rpc_support | Install packages required for support --------------------- 0.68s
rpc_support | Install host packages required for support ---------------- 0.67s
rpc_support | Drop rpc-release file ------------------------------------- 0.35s
           to retry, use: --limit @/root/rpc-support.retry

controller1                : ok=24   changed=1    unreachable=0    failed=1
controller2                : ok=24   changed=1    unreachable=0    failed=1
controller3                : ok=24   changed=1    unreachable=0    failed=1
controller3_utility_container-841d3a0b : ok=16   changed=2    unreachable=0    failed=1

Ouch :

root@controller1:/opt/rpc-openstack/rpcd/playbooks<PHONE_NUMBER> # cat ~/.pip/links.d/openstack_release.link
http://<IP_ADDRESS>:8181/os-releases/11.2.8/

 cat ~/.pip/pip.conf
[global]
no-index = True
pre = True
timeout = 120
trusted-host =
        <IP_ADDRESS>

[install]
upgrade = True
allow_all_external = True
find-links =
        http://<IP_ADDRESS>:8181/rpc-releases/r11.1.3/
        http://<IP_ADDRESS>:8181/os-releases/11.2.8/

How can we reproduce this issue?
Running Kilo to Liberty upgrade via upgrade.sh
How can we verify your issue is addressed?
pip.conf is 100% of the time correct
If this is a large issue, what can be done immediately to alleviate the issue while working on a longer-term solution?
I have to implement workarounds in maintenance templates
What is your evaluation on the importance of this issue, and why?
None of the Liberty upgrades work without manual patches
What branches / milestones do you believe this issue should target?
The list below is what is currently supported for backports
Remove branches (lines) you do not wish to target.

[ ] Master
[ ] liberty-12.2
[ ] liberty-12.1

Manual workaround:
ansible hosts -m file -a 'dest=/root/.pip/pip.conf state=absent'
ansible hosts -m file -a 'dest=/root/.pip/links.d/openstack_release.link state=absent'
ansible hosts -m file -a 'dest=/root/.pip/links.d/rpc_release.link state=absent'

cat << EOF > /opt/rpc-openstack/openstack-ansible/playbooks/pip-lockdown.yml
---

- name: Dropping pip configuration
  hosts: hosts
  roles:
      - { role: "pip_lock_down" }
EOF
( cd /opt/rpc-openstack/openstack-ansible/playbooks/ && openstack-ansible pip-lockdown.yml )

There appears to be two separate issues here:

There is an rpc-releases link present. We should be cleaning this up, but I don't remember a task being added to do it. While the link should be removed, its existence should not cause any failure. Pip will grab the latest version meeting its requirements and so the old rpc-releases repo will effectively be ignored. If the repo containers have been rebuild, and so the rpc-releases repo no longer exists, the link will be skipped by pip.
The os-releases link still references a Kilo version. This indicates pip_lock_down has not been run with OSA Liberty code on the controller. I'm don't think this would be picked up by our testing because we use AIOs and so the os_nova role is run on the host. Given that r12.1.0 has been through QE and there have already been a number of upgrades done the implication is that this has been introduced by r12.1.2. Reviewing the changes I am unable to find the cause. @odyssey4me what drops pip.conf on the controllers? I am unable to find the relevant code path.

@git-harry The pip.conf is generated from various sources using the script at https://github.com/openstack/openstack-ansible/blob/liberty/playbooks/roles/pip_lock_down/files/pip-link-build.py so the removal of the additional link file is one step to resolve this. The pip_lock_down role is activated mostly through role meta dependencies, but sometimes also through the playbooks. We're in the process of consolidating the pip_install and pip_lock_down roles in master so that this whole things is a little more predictable and sensible, but for liberty/mitaka the implementation is as it was in kilo. What's changed here is that RPC-O in Liberty is now using the OSA repo-build process, so the Kilo repo-build process and pip configs need to be cleaned up during the upgrade.

@odyssey4me my question was specifically in regards to pip.conf on the controllers. I can't see anything in OSA that would create that file on a controller, only on the containers on the controllers. If that's the case I'd say that's a bug in OSA because it's unexpected but it might go some way to explaining what is being raised by this issue.

@git-harry You are right it is usually related to MAAS plays, putting a pip.conf in place

@git-harry If by 'controllers' you mean the hosts for the control plane then I understand the question better. The only playbooks I know of that target the control plane hosts are lxc-hosts-setup.yml, lxc-container-create.yml and openstack-hosts-setup.yml. Those playbooks and the roles referenced in them (and their dependent roles) do not place a pip.conf down. The only roles which reference pip at all are py_from_git and lxc_hosts, but none reference or depend on pip_lock_down.

9192f94da6a6f9b916b8ad294eae5a2ae44d261b removed the playbook repo-pip-setup.yml. It seems this was having the side effect of locking down the controller hosts for the OSA repo in addition to adding the RPCO repo required by Kilo.
pip_lock_down does not fully manage the directories it creates under /root/.pip. When we've switched to Liberty the file /root/.pip/links.d/rpc_release.link has been left behind and pip_lock_down does not ensure the directory only contains the files for which it controls the configuration.
The only RPCO playbooks that run pip_lock_down relate to logging which is the penultimate step of deploy.sh, this means that on a greenfield Liberty deployment rpc-support.yml and setup-maas.yml are not using the repo server and on upgrades they are using the Kilo version.
I think we should look to add a playbook to ensure all hosts have the appropriate pip config prior to any RPCO tasks, we should also consider moving https://github.com/rcbops/rpc-openstack/blob/master/scripts/upgrade.sh#L43-L46 into deploy.sh
cc @mancdaz

@git-harry Yes, I believe that the way that the pip lock down doesn't manage all the content in /root/.pip is by design in order to allow a deployer to add additional links files outside of the OSA framework. Personally I think it's confusing and would rather see /root/.pip/pip.conf simply be managed through the use of a template instead of a bunch of files and a script... but obviously that's not something that helps this particular issue as the issue specifically relates to the Liberty deployment and a design change would not be backported.

@git-harry I'd agree to the suggested approach, and also think that this should be a prio-1


Create a documentation search page virtual class

I think this makes the page much less magic, and more intuitive to use and customize.

Fixed in https://github.com/hydephp/develop/pull/932

Update: I decided against putting it in the kernel container as I prefer the output from the build:search command, and it also breaks the coupling between then. Maybe if we add a Don't Compile interface to mark some page classes to exclude them from compiling, but still show them in discovery. That way the HydeRC dashboard could be a real route instead of a virtual one.

Another benefit I realized we get from having the search page in the route index is that it's dynamic and can adapt to custom output directories (which influence route keys), as now the URI routing is static on the default string. I know I'm spending too much time on this rather small feature, but I want to make sure the underlying framework architecture is well equipped to handle these kinds of things before the 1.0 release.


Verify that user-defined topics for joint controllers are valid

In order to make topics more bullet-proof for joint controllers, it'd be worth adding a check after parsing the user-defined topic from SDF. More information about this can be found in #623.

#632 fixed JointController. We still need JointPositionController to be fixed.