Added live NPO1, 2 and 3.

Hey @Sjoerdjanssenen, amazing work. I haven't had the time to check your branch out to see how it works, but I've left two comments in the code.
Also, you seem to have chmod-ed .gitignore, Gemfile and Gemfile.lock (amongst others), from 644 to 755. Could you undo that?
You can either amend these changes to your existing commit or add new commits to this branch, they'll automatically show up in your pull request.

Why wouldn't we 'need' the livestreams? It would be an awesome addition!

He didn't mean that we don't need the actual livestreams, just that I don't need to use a certain function in the code. I updated my pull request with some fixes.

Het @Sjoerdjanssenen, thanks for fixing the issues, I've left one comment in the code and have run into some more issues when trying it out;
After fixing the reference to episode, I selected NPO 1, but the stream didn't work;

2015-11-11 07:45:18.077 Uitzending Gemist[75657:14377730] #T:[Main] #Error #SYSTEM : Error occurred while loading media item: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (403), NSLocalizedDescription=The operation could not be completed, NSURL=http://l2cm0196867658005640f79c000000.314190030753f0d3.smoote2g.npostreaming.nl/d/live/npo/tvlive/ned1/ned1.isml/ned1-audio=128000-video=900000.m3u8, NSUnderlyingError=0x7fc5f2eaa1a0 {Error Domain=NSOSStatusErrorDomain Code=403 "(null)"}}
2015-11-11 07:45:18.078 Uitzending Gemist[75657:14377730] #T:[Main] #Error #SYSTEM : Error occurred: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo={NSLocalizedFailureReason=An unknown error occurred (403), NSLocalizedDescription=The operation could not be completed, NSURL=http://l2cm0196867658005640f79c000000.314190030753f0d3.smoote2g.npostreaming.nl/d/live/npo/tvlive/ned1/ned1.isml/ned1-audio=128000-video=900000.m3u8, NSUnderlyingError=0x7fc5f2eaa1a0 {Error Domain=NSOSStatusErrorDomain Code=403 "(null)"}}
2015-11-11 07:45:18.078 Uitzending Gemist[75657:14377730] #T:[Main] #Error #SYSTEM : Stopping due to error

It turns out all three hardcoded URLs from templates/Live.xml.js give me a 403. Could you look into that? For the episode video's, there's some magic to get the right video URL, and It'd surprise me if that wasn't needed for the live streams.
Also, I think the menu bar item for the live view should be moved to the right. I think it'd be nicest to use "Nieuw", "Meest bekeken", "Live" and then "Search" as the order. While you're at it, could you change the heading in the live view to read "Live" instead of "NPO Kanalen", so it's in line with the menu item, like we do on the other views?
I've taken a look in NPO's official iPad app, and they refer to the channels as Nederland 1, Nederland 2 and Nederland 3 there, so I think we should do that too, instead of NPO1, NPO2 and NPO3 and remove the NPO letters from the icons. The icons could use some spacing around them, now the icons are quite close to the thumbnail edges,
Lastly, could you check the indentation in the code you added? There's at least a case and a break keyword indented wrong, and you've used tabs instead of spaces in templates/Live.xml.js.
Thanks again!

I think the NPO app refers to them as Nederland 1/2/3 because it isn't fully up to date yet. The NPO refers to them as NPO 1/2/3 everywhere else right now, because they rebranded.

Ah, got it. Thanks. Let's keep using NPO[1-3] for the live  stream titles. I still think removing the letters from the images would look nicer, but let's get this merged first and worry about that later.

Yeah, probably true! Think the channels do use just the numbers in the top right of the screen.

I'll change those up later on. For now, let's indeed get this merged; I'll look into a proper url mechanism.

I added new icons for NPO 1, 2 and 3. I also changed the heading to "Live" and fixed the URL system. They now load from proper URLs.

The icons look great, headings are good and the menu item is in the right place. Thanks!
I didn't have much time to debug, but I wasn't able to get the videos to play. It seems like this callback (https://github.com/jeffkreeftmeijer/UitzendingGemist/pull/15/files#diff-eac09cb1e778a06c5f5bcf55780643a9R173) is never called.
Also, could you remove the tabs from your additions and replace them with two spaces?
Thanks again, awesome work!
PS: For everyone reading along that wants to help, it would be great if you could check out this branch, try it out, and let us know how it worked for you here.

That's really weird. For me their working both on the Apple TV, the simulator and someone else's Apple TV. Could you try it once more? :P I'll change the tabs into spaces.

That sure is strange. I'll check it out once more soon. Just to be completely sure, could you check your working directory to make sure you don't have any uncommitted changes?

As it turns out, there is an additional token needed which is linked on NPO's side to the API of the request. I've reworked the system and will commit as soon as I've tested it properly.

Little update: I've reverse engineered the NPO workflow to create a live-stream url. There's one additional token needed, that looks like this: jQuery18304386200977023691_1447359571288. This is created in the application.js file that is loaded in. However, I'm not having any luck with recreating this. If anyone has some ideas about this, please contact me.

@johanb do you have some pointers on this, as you've gotten the live stream URLs to work before, right?

@jeffkreeftmeijer I'd like to help out. I'll try to have a look on Monday but sadly can't make any promises.

@johanb awesome! No pressure, though. :)

Checked it out last night, and a lot has changed since I implemented it for the Roku. I did find some other method of implementing it but haven't fully succeeded in that yet. Hope to have some more time during the week to get this working.

NPO provides direct m3u8-links in an element called 'x-webkit-airplay' on pages like http://www.npo.nl/live/npo-1
This is so the player supports AirPlay on the OS X desktop. Rip this URL on each stream start and you'll have a working live player.

That URL is being added using JavaScript ;). Last night I dissected the flow, if anyone cares to implement it: feel free.
[skip to pseudocode implementation]
Dissection
Let's say the final stream URI is this:
http://l2cm6a77a6c21d00565037a7000000.01258bc68b98dfaf.kpnsmoote2g.npostreaming.nl/d/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8

How did we get there? I'll be tackling this in reverse.
GET http://livestreams.omroep.nl/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8?hash=77a8112645281d88586e22453adc4b50&type=jsonp&protection=url&callback=jQuery183009402602585032582_1448097701968&_=1448097703489

jQuery183009402602585032582_1448097701968(
  "http:\/\/l2cm6a77a6c21d00565037a7000000.01258bc68b98dfaf.kpnsmoote2g.npostreaming.nl\/d\/live\/npo\/tvlive\/ned1\/ned1.isml\/ned1.m3u8"
)

baseUri: http://livestreams.omroep.nl/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8
query:
  hash: {{ hash }}
  type: jsonp
  protection: url
  callback: {{ jquery callback }}
  _: {{ unix timestamp }}

How did we get to the baseuri, and how did we get the hash? (the latter two arguments are fairly basic, and explained at the end)
Hash and URI
GET http://ida.omroep.nl/aapi/?callback=jQuery183009402602585032582_1448097701968&type=jsonp&stream=http://livestreams.omroep.nl/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8&token=unrmmj8hb597g02fub3lr37f17&version=6.0.0&_=1448097703392

jQuery183009402602585032582_1448097701968({
  "success":true,
  "stream":"http:\/\/livestreams.omroep.nl\/live\/npo\/tvlive\/ned1\/ned1.isml\/ned1.m3u8?hash=77a8112645281d88586e22453adc4b50&type=jsonp&protection=url"
})

baseUri: http://ida.omroep.nl/aapi/
query:
  callback: {{ jQuery Callback }}
  type: jsonp
  stream: {{ Stream URI }}
  token: {{ NPO Token }}
  version:  {{ NPO Version }}
  _: {{ unix timestamp }}

So we don't get the hash as a separate object, but as a complete url under result.stream, including all but the callback and _ query parameter.
Stream URI
GET http://e.omroep.nl/metadata/LI_NEDERLAND1_136692?callback=jQuery183009402602585032582_1448097701968&version=6.0.0&_=1448097703264

jQuery183009402602585032582_1448097701968 (
{
    ...
    "streams": [
        ...
        {
            "type": "hls",
            "url": "http://livestreams.omroep.nl/live/npo/tvlive/ned1/ned1.isml/ned1.m3u8"
        },
        ...
    ],
    ...
}

baseUri: http://e.omroep.nl/metadata/{{ Stream ID }}
query:
  callback: {{ jquery callback }}
  version: {{ NPO Version }}
  _: {{ unix timestamp }}

Stream ID
The stream ID is located in the stream page:
<div class="video-player-container" data-alt-prid="LI_NL1_824154" data-prid="LI_NEDERLAND1_136692" data-slug="npo-1" data-video-player="true" id="video-player-container">

The list of currently active streams can be found by parsing <www.npo.nl/live-box>.
NPO Token
GET http://ida.omroep.nl/npoplayer/i.js?s=http%3A%2F%2Fwww.npo.nl%2Flive

(function(npoplayer){ npoplayer.token = "unrmmj5hb897g02fub3lr37f17"; }(npoplayer));

In the self-executing function, the token is set.
NPO Version
Located in http://npoplayer.omroep.nl/csjs/npoplayer-min.js. Is probably the same for all users: 6.0.0
jQuery Callback
"jQuery_" + ("1.8.3" + Math.random()).replace(/\D/g, "") + timestamp
//                   ^                   ^
//         Concatenated as strings    Only keep numbers

Timestamp
Date.now()

Example
So a basic implementation would look like this:
// Set up defaults
var npoplayer = {
  version: "6.0.0"
  token: null
}

// Set the NPO Token
exec(get("http://ida.omroep.nl/npoplayer/i.js?s=http%3A%2F%2Fwww.npo.nl%2Flive"));

// Get the stream ID
// Currently set to LI_NEDERLAND1_136692, but i don't know whether/if this changes
var dom = DOM.parse(get("http://www.npo.nl/live/npo-1"));
var streamID = dom.querySelector('.video-player-container').getAttribute('data-prid')

// Generate a callbackname we'll reuse
var callbackName = generateCallback();

var streamUri;
window[ callbackName ] = function(response) {
  for(let stream of response.streams) {
    if (stream.type === 'hls') {
      streamUri = stream.uri;
      return;
    }
  }

  // No valid stream found
}
exec(get("http://e.omroep.nl/metadata/" + streamID + "?callback=" + callbackName + "&version=" + npoplayer.version + "&_=" + Date.now()));

// Wait for callback

var unlockedUriBase;
window[ callbackName ] = function(response) {
  unlockedUriBase = response.stream
}
exec(get("http://ida.omroep.nl/aapi/?callback=" + callbackName + "&type=jsonp&stream=" + streamUri + "&token=" + npoplayer.token + "&version=" + npoplayer.version + "&_=" + Date.now()));

// Wait for callback

var finalStreamUri;
window[ callbackName ] = function(response) {
  var finalStreamUri = response;
  // We're done!
}
exec(get(unlockedUriBase + "&callback=" + callbackName + "&_=" + Date.now()))

@marijnvdwerf It seems that we're on the same path. The missing piece for my code was the "jQuery_" variable. You wrote that it can be generated by executing this code:
"jQuery_" + ("1.8.3" + Math.random()).replace(/\D/g, "") + timestamp;

However, the result of this doesn't provide me with access, so it seems there is still something going wrong. Any ideas?

@rmens These URLs are unique per visitor. So the URLs I'd rip out, don't work for you and vice versa.

@Sjoerdjanssenen Can you push your efforts to your repo? I'll gladly take a look.

Closing this. Use https://github.com/Mauricevb/NPO-Live-Apple-TV-4 for livestreams instead.


🆕 Software Suggestion | openSUSE Leap

Basic Information
Name: openSUSE Leap
Category: Operating System
URL: opensuse.org
Description
Beside Fedora and Ubuntu, openSUSE Leap could be third choice for beginners. It is one of the major distros, and its stability is remarkable.
Why I am making the suggestion

openSUSE contains several desktop environments for users, and it's easy to use as Fedora and Ubuntu.
openSUSE uses systemd as init like Fedora and Ubuntu.
openSUSE Leap is stable just like Debian. Fedora and Ubuntu are close to beta channel (I even got a non-bootable kernel after the update of Fedora once).
Ubuntu contains Amazon ads and data leaks by default, which is not privacy friendly. Debian is more preferable.
SELinux is enabled on Fedora by default, which confuses a beginner a lot.

My connection with the software
I am a daily user of openSUSE Leap and a former daily user of Fedora.
I personally prefer stable distros such as openSUSE Leap and Debian.

[x] I will keep the issue up-to-date if something I have said changes or I remember a connection with the software.

As both an Ubuntu and openSUSE user on desktop and servers, I need to point out a few things here, but I do agree that openSUSE should be added to the list. I would also add the Tumbleweed version to the advanced operating systems section, since it could be seen as a more stable version of Arch Linux, but that is more of a personal preference.

Ubuntu contains Amazon ads and data leaks by default, which is not privacy friendly.

The Amazon problem went away years ago, and Ubuntu does not leak data by default on the desktop—it has opt-in telemetry, with the keyword being opt-in.

SELinux is enabled on Fedora by default, which confuses a beginner a lot.

The equivalent to SELinux in the Ubuntu and openSUSE world is AppArmor. Being enabled and restrictive by default should be the norm, not the exception, and Fedora does this mostly right in my opinion. Those are Linux kernel security modules which allow you to force cURL, for example, to never overwrite your .bashrc file—they provide strong mandatory access controls.

As both an Ubuntu and openSUSE user on desktop and servers, I need to point out a few things here, but I do agree that openSUSE should be added to the list. I would also add the Tumbleweed version to the advanced operating systems section, since it could be seen as a more stable version of Arch Linux, but that is more of a personal preference.

Ubuntu contains Amazon ads and data leaks by default, which is not privacy friendly.

The Amazon problem went away years ago, and Ubuntu does not leak data by default on the desktop—it has opt-in telemetry, with the keyword being opt-in.

SELinux is enabled on Fedora by default, which confuses a beginner a lot.

The equivalent to SELinux in the Ubuntu and openSUSE world is AppArmor. Being enabled and restrictive by default should be the norm, not the exception, and Fedora does this mostly right in my opinion. Those are Linux kernel security modules which allow you to force cURL, for example, to never overwrite your .bashrc file—they provide strong mandatory access controls.

Glad to know Ubuntu has gotten rid of Amazon. On second thought, who SELinux actually annoys are admins, especially when deploying a web server, not common users.

It is also worth noting that several useful privacy-enhancing tools are available in the distribution:

tor
torbrowser-launcher
various VPNs (openvpn, wireguard, anyconnect)

@bmwiedemann in which distro aren't they available?

@bmwiedemann in which distro aren't they available?

I did a quick grep and found
alpine and Slackware seem to have no tor.
Additionally, CentOS, Gentoo, Guix, Mageia seem to lack torbrowser.

One of openSUSE's biggest benefits is that it installs with BTRFS and Snapper configured by default.
With this combination, every time you update your system or install a new package, it automatically makes a snapshot. If an update or install leads to problems, you can easily roll back to the snapshot before the update.
If an update causes problems that prevents you from booting into the OS, you can select the snapshot before the update at the GRUB menu to boot into. After doing that, you can use Snapper to roll back into that snapshot (when you boot into a snapshot at GRUB, it's read-only).
This combination makes recovering from problems extremely easy.

At privacytools.io website, mainstream general-purpose distributions like Ubuntu, Debian, Fedora and Arch are recommended but not openSUSE. This omission strikes me as very odd because, technical considerations aside, it's definitely more user-friendly and failproof than (plain) Arch, does not have the record of privacy-invading issues of Ubuntu and is community-driven while sponsored by a parent company just like Fedora (if having ties to a corporation were an issue).
openSUSE is a very mature and technically competent distribution while being easy to install and easy to use as an Introductory Operating System, having a decades-old reputation and commitment to free and open source software.
GNU's endorsement of openSUSE is only prevented by the inclusion a nonfree repo, which is added to the system by default but no packages from it are pre-installed (and can be easily disabled). Any telemetry measures that I'm aware of have to be expressely implemented by the user.
openSUSE's documentation provides a complete guide for system security and hardening.


how to add source function for reading expressions from another file

Hi Howard,
I'm trying to add a (source "path_to_script") functionality.
My modifications are here, https://github.com/glycerine/glisp, see especially the interpreter/source.go file (I tried to copy from the runScript() function in main.go). Unfortunately my env.Run() call is always returning the error 'invalid stack access asked for 0 Top was -1', about which I am mystified.
Could you suggest what I need to correct to get (source "script") to work?  I would like to be able to execute other scripts from within a script.
Thank you!
Jason

@zhemao, I think I got it working--still would appreciate it if you could comment on the correctness of this approach, as I'm just guessing here: from my revised interpreter/source.go: adding an env2 := env.Duplicate() call and then using that in RunScript() seems to solve the problem.
func SourceFunction(env *Glisp, name string, args []Sexp) (Sexp, error) {
    fmt.Printf("\n SourceFunction started!\n")
    if len(args) != 1 {
        return SexpNull, WrongNargs
    }

    env2 := env.Duplicate()

    switch t := args[0].(type) {
    case SexpStr:
        RunScript(env2, string(t))
    default:
        return SexpNull, errors.New(
            fmt.Sprintf("argument to %s must be string: the path to source", name))
    }

    return SexpNull, nil
}

Running it in a duplicate environment isn't going to have things resolvable back in the main environment. I made an update on my fork to support sourcing into the environment. I can submit it as a PR as well.
https://github.com/chrhlnd/glisp/commit/13f4c60a2c560f220a5c0fe52e8b3dcd3ab0c399
The stack error you're getting is because... there is no data stack when calling a user function, so you have to push and pop something when trying to evaluate the expressions that got parsed. In the commit above I added the method source-file which will... source files into the environment. In the test folder there is a source-include.glisp that includes some other files there.

I think if we want to support something like imports, it should be done during code generation and not at runtime. Basically, it would be something similar to macro expansion. At runtime, if it finds that the statement is something like (include "path-to-file"), it will read in the specified file and run the generator on the included code.

Ok I added a codgen version and made a pr, the run-time version could be useful if things are getting copied around and you want to dynamically populate while the script is executing. This could be in a support repo as well, but it relies on the Source* functions in the environment.go file.

@chrhlnd, cool, I'll check out your new code. And thanks for that.
For my uses, I do need the runtime, as sourcing at the repl is what is required.

Running it in a duplicate environment isn't going to have things resolvable back in the main environment.

Odd that it actually does work then. Note that env.Duplicate() does a shallow copy, since slices act like pointers. I just didn't (and still don't) understand why the env.Duplicate() made it work, nor what the original error was trying to say. I'd still appreciate any illumination on these points.
I'm refactoring the repl part that is in main to be in the interpreter library, so the repl can be used in the library. Let me know if you'd like a PR for that.  It's currently just on branch in https://github.com/glycerine/glisp/tree/fieldspec

As far as the stack error. I made it panic at one point to see what was causing the pop

@zhemao Hi Howard,
Sorry, my comment earlier reflected confusion on my part about the distinction you were making -- could you explain the difference between "runtime" and "codegen" time?  Perhaps naively I thought of all codegen happening at runtime in an interpreter, does it not?

I think if we want to support something like imports, it should be done during code generation and not at runtime. Basically, it would be something similar to macro expansion. At runtime, if it finds that the statement is something like (include "path-to-file"), it will read in the specified file and run the generator on the included code.


Generalize Cosmos address to alternative pubkey hash, merge evmos

Description
Generalize Cosmos address to support alternative pubkey hash, from config; merge native Evmos implementation with Cosmos.  NativeEvmos thus does not need a custom blockchain type, nor Entry, Address implementation.
How to test
All unit tests, esp. Cosmos-based chains.
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Create pull request as draft initially, unless its complete.
[x] Add tests to cover changes as needed.
[x] Update documentation as needed.
[x] If there is a related Issue, mention it in the description.

If you're adding a new blockchain

[ ] I have read the guidelines for adding a new blockchain.

It seems that publicKeyHasher confuses us, being used as extended public key hasher and public key hasher in address, let's use a separate field in registry json? and keep publicKeyHasher as it is.

Suggestion:

leave publicKeyHasher as it is, used in HDWallet xpub derivation
introduce addressHasher, used in hashing address, e.g. in Cosmos.  For Eth chains, this can be set to keccak.

I have added a few more Hash tests, to restore coverage (Linux CI failed because of coverage).
I also added documentation on fields in registry.json:
https://github.com/trustwallet/wallet-core/blob/ar/evmos-cosmos/docs/registry-fields.md
@hewigovens , please re-review.


Add autoprefixer to documentation page CSS

This PR replaces #3803

Coverage remained the same at 91.684% when pulling c957f8c36ee8c7f9b60c5ba562b911645a6c6f26 on Munter/docs-autoprefixer into f1662ac98e816b5b23c98b759b3208c1592c680e on master.

Not following how AG-B automagically runs "autoprefixer" for us using "/docs/.browserlistrc",
as "autoprefixer" is not an AG-B dependency.

Based on your reply why you might not desire to make it a direct dependency.
Maybe add "autoprefixer" as AG-B optional dependency?

We had some of these bring-your-own-version module dependencies marked as optional at one point in time. The problem is how the default npm behavior shows that to the user at install time. First off, an optional dependency is installed at install time, but is allowed to fail while still succeeding the root level installation run. However, a failed optional install is exactly as verbose with red blinking lights as a failed installation of a dev or non-dev dependency, causing every user to assume the installation failed despite the exit code being 0.
Secondarily, in order to actually control the specific version you'd like from an optional dependency, we'd need to specify the wides possible version range, basically *, and you'd still have to save the version of your own choice as a direct dependency of your project.
So we concluded that optionalDependency is bollocks in its current form and went over to make a runtime check for module availability and have assetgraph log an info event that explains how you can install a specific optional module to gain certain improvements in your build.
We're actively working on reducing some of these more optional parts of the pipeline. I have a branch running where we've eliminated the need for two-thirds of these types of checks because the node ecosystem now provides modules that wrap certain OS-level binaries we were depending on to do the same work before. But the concept of letting developers chose their own version of specific libraries still remains


removed logs

#11  👈
main

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

Join @leonchike and the rest of your teammates on  Graphite


Contributors

Solved issue #(your issue number)
In Language- (your used language)

[ ] Updated README Link
[ ] Added code with comments

Thanks for contributing!

@all-contributors please add @adityabisoi for ideas

@all-contributors please add @adityabisoi for maintenance

@all-contributors please add @adityabisoi for mentoring

@all-contributors please add @anushkasinghal11 for code

@all-contributors please add @Nivedita967 for code

@all-contributors please add @Aarushi11H for code

@all-contributors please add @stormfireuttam for code

@all-contributors please add @yashasvimisra2798 for code

@all-contributors please add @abhay313 for code

@all-contributors please add @abhay313 for code

@all-contributors please add @codewithvk for docs


[Core] [Perf] Comparison b/w Node 20 fetch with core clients

Add a perf pipeline for core
Perform this experiment again https://github.com/Azure/azure-sdk-for-js/pull/21544

Any updates on this?  With Node 22 out it seems like it would make sense to test both Node 20 and Node 22.

Thanks for showing interest @timtucker-dte.
We'll be working on this soon.


checklist dataset search not working

When we try to do any search using the dataset/checklist tab we get the same 'total' result
Example of a query by publisher:
https://biodiversidad.co/dataset/search?anyPublisherKey=2a7e3080-28a9-11dd-97cd-b8a03c50a862&type=CHECKLIST

Looks like we introduced this error with the merge of ALA event search. We have split publisher filters into 2 - one driven of occurrence scope and one that look into all of gbif publishers. But the naming leads to conflicts. And it seem to expose a more fundamental problem in how we reuse names for filters.

Thank yout Morten


Add kebob actions menu and changed Shutdown button type to default in Dashboard

Fixes: suggestions in #946 and #1069
Prerequisite: #1030
Enhancements: For narrow mobile screens (<= 600px), automatically retract the Action menu to a kebob menu
Before:

After:

In this case "Shutdown" doesn't need to be red since it's not a destructive action. Only "Remove" should be red. The structure and placement looks good though.

@lwrigh but wouldn't that make the design inconsistent since Shutdown has always been a Danger button??

@lwrigh but wouldn't that make the design inconsistent since Shutdown has always been a Danger button??

A danger button shouldn't be there so that's another issue we should address. We can open another issue for it.

@lwrigh I've made the changes. take a look

Cool that looks good to me. It feels less out of place now to me.

As per @thaorell, my #1 issue with the kebab on the left is already handled by #1030.

@thaorell Can you include a screenshot that includes the kebab icon in it? It's had to tell if it's aligned with the icon without it in the screenshot. Thank you!

@thaorell - also needs a rebase

@sjd78 does this look better?
@lwrigh it seems like the kebab icon is toggled off when clicked

I wouldn't do a tooltip on top of a tool tip, it's kind of overwhelming. I would just list out all of the console options instead or we could have a console button with a dropdown that lists out all of the console options and then have all of the other actions in the kebab menu.

Latest update:

The kebob dots show on the left instead on the right where the menu appears.

firefox-68.0-4.fc30.x86_64

The kebob dots show on the left instead on the right where the menu appears.

firefox-68.0-4.fc30.x86_64

@isaranova - PR #1030 (which I merged earlier) should have taken care of the kebob icon being on the left. I rebased this PR so it should work now.  Please re-test.

ci build please

@sjd78 No, unfortunately, it's still on the left even though the package has been updated.
ovirt-web-ui-1.6.1-0.20190909git747b7d7.el7.noarch
ovirt-engine-4.4.0-0.0.master.20190907174703.gitd1c8e76.el7.noarch

ci build please

Kebob is still on the left.

@thaorell , @isaranova - Fixed the layout issues and updated the PR. Good to test again.

So, I've found another issue - when shutdowning the VM through the kebob, the VM is down as expected, however the kebob contents change into the old version and the only available option 'run' does not work. VM cannot be started unless I resize the window to the non-kebob size and click on the menu run button.

firefox-69.0.1-3.fc30.x86_64

@isaranova , @thaorell - Fixed the no-confirm-dialog actions on the kebab modal (i.e. Run works now).  Please test one more time.  Thanks!

All tests passed

LGTM


terraform: provider initialization test

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@timstott what's the status of this? What's missing here?

Abandoning this for now and will continue to rely on the terraform_plugins_test package for test.


Cache transitive dependencies

The call to getTransitiveDeps can get quite slow for larger projects, even on a decent machine.
I found at least one relevant reference to this here: https://github.com/spacchetti/spago/issues/110#issuecomment-463518492.
I am wondering if we could not simply cache the transitive deps based on the hash of the dhall files, perhaps, or even take the hash of the PackageSet type, if at all possible.

@felixSchl yeah, great points! I think it would be ok to cache things based on the hash of Dhall files, but it might not be necessary if we had a faster implementation. I think the current implementation is fairly naive and there might be lots of space for improvement, as noted in the comment you linked

my other question for this is would this work with a function written in dhall?

@justinwoo as I understood it they did not mean to write the function in Dhall, but to use the hash of spago.dhall or packages.dhall to identify the right cache to use for caching the list of transitive dependencies for every package


Added mysql host, usage of it and default value to be localhost

just a tiny contribution.

Thanks @manuperezgo.
I think there should be a space between the -h and the host.
e.g. -h $MYSQL_HOST"
See http://dev.mysql.com/doc/refman/5.7/en/connecting.html

space between -h and the host is not needed, I can add it if you prefer, just let me know

You are right @manuperezgo. Just please change the host to be <IP_ADDRESS> instead of localhost so it won't connect through socket instead of TCP. Thanks!

@arikogan it has been changed, Cheers!


Recipe App : Set Up Kanban Board

We are two team members working on this project.

@HafizMassamTabraizKhan
@ProgramKingAbel

Project Link :
https://github.com/users/HafizMassamTabraizKhan/projects/2

Hello @Team    😃 🥳 🎉 🎈
Great Job 😄 👏 You've done it. Your project is complete!  There is nothing else to say other than... it's time to merge it 👍🏻 ✅
To Highlight 💯

Good implementation of the project requirement ✔
Descriptive issue✔

Congratulations! 🎉

Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Overriding variables

Hey guys! :)
Thanks for the great package! I'm using it almost in all of my projects!
I'm doing some refactoring and was wondering, is it possible to override the env variable with another one? My use case would be:

BASE
---- .env (app_prefix="/app")
--- APP1
------ .env (app_prefix="/app1")
--- APP2
------ .env (app_prefix="/app2")

Is there any way to get app_prefix="/app1" inside the APP1 application instead of app_prefix="/app" from BASE?
Best regards,
Milosh

Oh, it seems that I was a bit hassle.I've found the solution here: https://github.com/vlucas/phpdotenv/issues/393#issuecomment-563982523


EXIF GPS metadata extraction isn't working on mobile as well as desktop

Here's an example image that works on desktop, but not mobile: https://photos.app.goo.gl/AcEfSrYTMqgp6JfX8
Using eruda to see the JS console with this branch, I see this on desktop:
Extracted GPS latitude/longitude location from EXIF metadata Object {latitude: 40.717019444444446, longitude: -73.99356388888889}

but this on mobile:
Extracted GPS latitude/longitude location from EXIF metadata Object {latitude: '"NaN, longitude: "NaN"}

Seems like this issue might be within the exifr library: https://github.com/MikeKovarik/exifr

To rule out the possibility that the EXIF metadata is getting stripped when uploaded from my phone, I logged out the md5sum of the image right before parsing the metadata, and it is<PHONE_NUMBER>08457705bf09a8ee3c1093 on both. desktop and mobile, yet the GPSLatitude and GPSLongitude arrays are [NaN, NaN, NaN] on mobile, but [40, 43, 1.27]and [73, 59, 36.83] on desktop, respectively.


upstream url

upstream url must take current COREOS_VERSION in consideration

Be aware that if you are using a specific OS version when creating the cluster with something like
COREOS_VERSION="612.1.0" NODE_MEM=2048 NODE_CPUS=1 NUM_INSTANCES=1 vagrant up

You must also use it when ssh'ing into the node with:
COREOS_VERSION="612.1.0" vagrant ssh master

If you fail to do so, you will not be able connect to the node as authentication will fail.

great catch. fixed in my tree. you patch was missing an angle - in CoreOS repos 'current' is their symlink to latest version not 'latest' so we needed to take care of that too :smile:


MM 31192  - license renewal telemetry

Summary
Adds the license renewal telemetry to the renewal banner and system console card
Ticket Link
https://mattermost.atlassian.net/browse/MM-31192
Related Pull Requests
https://github.com/mattermost/mattermost-webapp/pull/7391

Hello @pablovelezvidal,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Hello @pablovelezvidal,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Error trying to update the PR.
Please do it manually.

Error trying to update the PR.
Please do it manually.

Hey @pablovelezvidal . Everything looks great. I just have a small question. Why do we have to make telemetryInfo a prop? Since that RenewLink button is dedicated to renewing licenses, I was of the view that the events will always be renew_license_admin_console_success and renew_license_admin_console_fail and that we could just specify those as contants in the component itself?

Thanks for the review @AGMETEOR . So, the user story define to send telemetry from two different places, one from the system console and the other from the banner which can be anywhere in the app. So, we have telemetry for renew_license_admin_console_success and for renew_license_banner_success and this also let the possibility to call the renewal link cmp from any other place and handle different telemetry.

Hey @pablovelezvidal . Everything looks great. I just have a small question. Why do we have to make telemetryInfo a prop? Since that RenewLink button is dedicated to renewing licenses, I was of the view that the events will always be renew_license_admin_console_success and renew_license_admin_console_fail and that we could just specify those as contants in the component itself?

Thanks for the review @AGMETEOR . So, the user story define to send telemetry from two different places, one from the system console and the other from the banner which can be anywhere in the app. So, we have telemetry for renew_license_admin_console_success and for renew_license_banner_success and this also let the possibility to call the renewal link cmp from any other place and handle different telemetry.

Hey @pablovelezvidal . Everything looks great. I just have a small question. Why do we have to make telemetryInfo a prop? Since that RenewLink button is dedicated to renewing licenses, I was of the view that the events will always be renew_license_admin_console_success and renew_license_admin_console_fail and that we could just specify those as contants in the component itself?

Thanks for the review @AGMETEOR . So, the user story define to send telemetry from two different places, one from the system console and the other from the banner which can be anywhere in the app. So, we have telemetry for renew_license_admin_console_success and for renew_license_banner_success and this also let the possibility to call the renewal link cmp from any other place and handle different telemetry.

Oh yeah. I have now noticed the difference. Thanks a lot, Pablo.

Hey @pablovelezvidal . Everything looks great. I just have a small question. Why do we have to make telemetryInfo a prop? Since that RenewLink button is dedicated to renewing licenses, I was of the view that the events will always be renew_license_admin_console_success and renew_license_admin_console_fail and that we could just specify those as contants in the component itself?

Thanks for the review @AGMETEOR . So, the user story define to send telemetry from two different places, one from the system console and the other from the banner which can be anywhere in the app. So, we have telemetry for renew_license_admin_console_success and for renew_license_banner_success and this also let the possibility to call the renewal link cmp from any other place and handle different telemetry.

Oh yeah. I have now noticed the difference. Thanks a lot, Pablo.

Cherry pick is scheduled.

Cherry pick is scheduled.


matchArgs improvements

Support multiple filters in matchArgs
Fix path argument type

new PR here https://github.com/cilium/tetragon/pull/901


add force flag

msbot clone needs a --force flag to override asking for confirmation

Pull Request Test Coverage Report for Build 1322

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 68.891%

Totals

Change from base Build 1301:
0.0%

Covered Lines:
3924

Relevant Lines:
5456

💛  - Coveralls


Difference in trailing whitespace handling between version 3.3.2 and 3.4.5

I'm using select2 with the tags and multiple and separator options. I explicitly want to be able to add tags that have trailing whitespace.
Have a look at the following JSFiddles:
3.3.2:
http://jsfiddle.net/GLcvb/1/
3.4.5:
http://jsfiddle.net/Bf6XB/1/
In both cases when you remove the "A" and "B" tags you'll see "A " and "B " is the value of the event.removed.text attribute . Now, add a new tag: "C ". If you remove this tag then select2 3.3.2 will include the trailing space in event.removed.text whereas select2 3.4.5 will not (i.e. 3.3.2 will have "C " and 3.4.5 will have "C").
Ideally I would like select2 3.4.5 to behave as 3.3.2 in this case - is it a true bug and not a deliberate change in behaviour?

This should be fixed in 3.5.2.
If it is not fixed, please add a :+1: to the ticket to bring it to our attention. Please also include an example that we can test to verify that it is not actually working.


Unable to retrieve child resources

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.30.0
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20230609.2
Platform
Windows
OS Version
Windows 11
Bug Description
Unable to retrieve child resources
ProducerError:{
"name": "FetchError",
"message": "request to https://saragrseuntcccnsremeat03.blob.core.windows.net/?comp=list&include=metadata failed, reason: self signed certificate in certificate chain",
"stack": "FetchError: request to https://saragrseuntcccnsremeat03.blob.core.windows.net/?comp=list&include=metadata failed, reason: self signed certificate in certificate chain\n    at ClientRequest. (C:\Users\O48121\AppData\Local\Programs\Microsoft Azure Storage Explorer\resources\app\node_modules\@storage-explorer\blob-extension\dist\src\index.js:2:2834516)\n    at ClientRequest.emit (node:events:513:28)\n    at TLSSocket.socketErrorListener (node:_http_client:502:9)\n    at TLSSocket.emit (node:events:513:28)\n    at emitErrorNT (node:internal/streams/destroy:151:8)\n    at emitErrorCloseNT (node:internal/streams/destroy:116:3)\n    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)",
"type": "system",
"errno": "SELF_SIGNED_CERT_IN_CHAIN",
"code": "SELF_SIGNED_CERT_IN_CHAIN"
}
Steps to Reproduce

Launch Storage explorer
Expand 'Blob containers' for given storage
The error message described in previous step is received.

Actual Experience
Additionally I am not able to authenticate. I see following error messages:
Could not access resources for this tenant. You may need to reauthenticate. See the error details for more information:
{
"name": null,
"message": ""{\n  \"name\": \"Error\",\n  \"message\": \"self signed certificate in certificate chain\",\n  \"stack\": \"Error: self signed certificate in certificate chain\\n    at TLSSocket.onConnectSecure (node:_tls_wrap:1540:34)\\n    at TLSSocket.emit (node:events:513:28)\\n    at TLSSocket._finishInit (node:_tls_wrap:959:8)\\n    at ssl.onhandshakedone (node:_tls_wrap:743:12)\",\n  \"code\": \"SELF_SIGNED_CERT_IN_CHAIN\"\n}""
}
Expected Experience
No response
Additional Context
No response

@hstoyanova can you give using system proxy setting a try? You can read more about it here: https://docs.microsoft.com/en-us/azure/storage/common/storage-explorer-network#use-system-proxy-preview

Closing due to lack of response. If you still have this issue, please open a new one with the additional information we requested.


Command "queue:consumers:start" is not defined.

I'm getting a lot of noise in the stdout of bin/magento cron:run
Healthchecking Cron Service
Starting Service

  Command "queue:consumers:start" is not defined.

  Did you mean one of these?
      ce_mq:consumers:start
      queue:consumers:list

  Command "queue:consumers:start" is not defined.

  Did you mean one of these?
      ce_mq:consumers:start
      queue:consumers:list

...etc
I'm running 1.3.1-stable on Magento 2.3.4. Is this supposed to happen?

Hi mlambley, I'm having the same issue. Also "bulk actions" are not properly performed by cron. Did you find a way to fix this?

No unfortunately not.

Hi Mark,
maybe I have a solution.
I also saw messages like 'Consumer “async.operations.all” skipped as required connection “amqp” is not configured. Unknown connection name amqp' in the debug.log which lead me to the following articles:

https://magento.stackexchange.com/questions/269928/consumer-async-operations-all-skipped-as-required-connection-amqp-is-not-con
https://community.magento.com/t5/Magento-2-x-Technical-Issues/Magento-2-3-3-update-product-attributes-in-bulk-does-not-work/td-p/294215

After adding the following information to my env.php, the error messages seem to be gone. Also the bulk update is working again.
'cron_consumers_runner' => [
        'cron_run' => true,
        'max_messages' => 2000,
        'consumers' => [
            'product_action_attribute.update',
	    'product_action_attribute.website.update',
	    'codegeneratorProcessor',
	    'exportProcessor',
	    'quoteItemCleaner',
	    'inventoryQtyCounter',
	    'codegeneratorProcessor'
        ]
]

It sure fixed the problem for me. Hopefully, its also helping you.
BR, Conrad

Ok I can confirm that this is a Magento issue, not a m2-ce-cron issue, thanks for that buddy.

Hi,
Thanks for your quick reply. Unfortunately it doesn't solve the problem :(


Fix issue with ConfigMap with profiles inside and no active profiles

Before this fix, when a ConfigMap contained profiles but no active profile was set, then no data was read from the ConfigMap at all

@iocanel could you check this out? It's pretty simple and fixes a pretty annoying issue :)

Thanks @iocanel!


Go to Definition only seems to work for project dependencies

Don't seem to get hyperlinks for the functions declared local to a file, Elmjutsu -> Go to definition also has no effect

Hi!  Maybe you can post a screen capture that shows the issue?  Thanks!

Hard to convey with screenshots, but with hyperclick installed, here is me pressing the ctrl key:

and here is me doing the same thing on the 'foo' function. No hyperlink, and the Elmjutsu context menu does not work either

This is with the latest version (2.17 I think) on Windows 10

Hmm.. I copied the code in the screenshot and it's working for me (using Lubuntu).  How about a sample directory?  I don't have a Windows 10 machine though :cry:

This happens with just the Main.elm you see in the clipping, sadly, so the only other thing in the directory is the default elm-package.json that you get with 'elm-package install', i.e:
{
    "version": "1.0.0",
    "summary": "helpful summary of your project, less than 80 characters",
    "repository": "https://github.com/user/project.git",
    "license": "BSD3",
    "source-directories": [
        "."
     Can't help you with a Win 10 machine - but if there is an easy way for me to switch on debugging etc I can help that way.

You can try running Atom using atom -d and check the console (Ctrl-Shift-i) for errors.
Are the other features working?  You mentioned that Go To Definition is also not working.  Maybe the plugin is not parsing your project files properly for some reason.  Try to toggle the Sidekick panel to check if it's showing information for the symbols in the file.

Sidekick panel shows for dependencies, but not for project types. So it agrees with the Go-to definition in that sense.
Looking at the console, elmjutsu does scan the files, and there are no errors logged:
[elmjutsu] Parsing project directory C:\dev\elmjutsuTest...
[elmjutsu] Parsing C:\dev\elmjutsuTest\A.elm
[elmjutsu] Parsing C:\dev\elmjutsuTest\Main.elm
[elmjutsu] Parsed project directory C:\dev\elmjutsuTest

OK it's a good old EOL issue. Atom on Windows by default is using CRLF, on *nix you'll only have LF, and probably that's all the downloaded dependency coded uses too, which explains why they work.
I'm not sure what the actual fix is but from stepping through the code, the regexes in indexing.js are failing to match. Perhaps they could be tweaked?

Hi @mandrolic!  Thank you so much for taking the time to debug this.  Can you check if the latest version works?  I was able to replicate the issue by changing the line ending in Atom.

Hooray! that fixed it. Great thanks, that will make some Elm/Windows users happier (assuming it's not just me)

I'm still wondering why this is the first time someone brought this up :thinking:

I'd not encountered it because I already had my line endings set that way.  😅


chore(main): release 0.2.1

:robot: I have created a release beep boop
0.2.1 (2023-02-25)
Bug Fixes

update reports schema and add tests (#21) (0e3b5ee)

Documentation

add andrewthetechie as a contributor for code, doc, and test (#24) (1989b9f)
add CodingDavid8 as a contributor for code, and bug (#25) (b0c4a7e)
add rmathew8-gh as a contributor for code, and test (#26) (1f3d0da)
update readme with allcontributors block (f86c3fd)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/andrewthetechie/geekbot-api-py/releases/tag/v0.2.1 :sunflower:


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: dg7dvpvifq721
Region: us-east-2
Step: Domain activation
Status: Failed

Note: Do not include information that is sensitive in nature such as your domain name, company etc.

Issue/question
A clear and concise description of what the issue/question is.
Error message
If there is an error message, please include it here.
Note: Be sure to check the message for sensitive information.
Additional information
Please add any other relevant information. Please feel free to include screenshots.

Refer to our documentation to troubleshoot domain setup.
https://docs.aws.amazon.com/amplify/latest/userguide/custom-domain-troubleshoot-guide.html
https://docs.aws.amazon.com/amplify/latest/userguide/custom-domain-troubleshoot-guide.html#i-get-a-cnamealreadyexistsexception-error
Let us know if you're still facing issues.

@profit4x is this still an issue?


[core] Prepare packages for release

Packages impacted by this PR
@azure/core-auth
@azure/core-rest-pipeline
@azure/core-util
Update changelog for release. Also, for core-util make a minor version bump as
per semver.

API change check
API changes are not detected in this pull request.


Nested commands - extra argument

#!/usr/bin/env python

import click

@click.group(invoke_without_command=True)
@click.pass_context
def cli(ctx):
    if ctx.invoked_subcommand is None:
        click.echo('I was invoked without subcommand')
    else:
        click.echo('I am about to invoke %s' % ctx.invoked_subcommand)

@cli.command()
@click.option('--test',
              prompt='SYNC ME BABY ONE MORE TIME')
def sync(test):
    click.echo(test)
    second_level()

@click.command()
def second_level():
    print("wtf")

if __name__ == '__main__':
    cli()

results in
cli_minimal_working_example.py sync
I am about to invoke sync
SYNC ME BABY ONE MORE TIME: asd
asd
Usage: cli_minimal_working_example.py [OPTIONS]
Try "cli_minimal_working_example.py --help" for help.

Error: Got unexpected extra argument (sync)

My expection would be that I could continue the command chain with the second_level .
How can I achieve this?

This is the exact same issue as #1450 the last one you posted.

Sorry, I do not consider this one a duplicate of #1450 . You helped me solve #1450 , but now I am lost again.
Where would I have to put standalone_mode=True?
My code above is a minimal "working" example.
But I shall discuss this issue in the discord channel and maybe post a SO issue.


Is it possible to take accurate UIAlertController snapshots?

Hello, I'm trying to take a UIAlertController snapshot, and I keep getting a transparent image with some content aligned on top.
Is there a proper way to do it?

It may need a UIWindow or to be presented from a UIViewController

@alanzeino could you provide us a small peace of code for this, I've tried but It didn't work

Maybe it doesn't work then, we've never bothered to snapshot alerts so I don't know


Biome formatter prevents IntelliJ formatter to run even if disabled

First, thanks for bringing Biome to IntelliJ IDEs!
I have an issue with the formatter, I'd like to disable it on .js files because I prefer how my IDE config handles formatting.
Unfortunately, whether I put "formatter": false a the root of the config or just in the "javascript": block, IntelliJ formatter is still bypassed: it says "Running LSP-based formatter" in the status bar and my settings aren't applied unless I disable Biome plugin entirely. Of course Biome itself honors the setting, so no formatting is done at all.
This forces me to either abandon the Biome plugin or my formatting preferences (did the second because linting in-editor is precious, but I'm quite unhappy with Prettier-style formatting).

I am currently evaluating to move from typscript eslint to biome since i have massive performance problems with that setup. Unfortuanetly I have the same issue with the IDE formatter which is apparently disabled completely on activating the biome plugin in the settings. Is there any chance to get that fixed soon?
Maybe a useful note: If i check the "Run format on save" checkbox the biome formatter is running despite I have disabled the formatter in the options. My config which i am testing with looks like this:
{
	"$schema": "https://biomejs.dev/schemas/1.9.0/schema.json",
	"formatter": {
		"enabled": false
	},
	"linter": {
		"enabled": true,
		"rules": {
			"style": {
				"useImportType": "off",
				"noUselessElse": "off"
			},
			"correctness": {
				"noGlobalObjectCalls": "off"
			},
			"suspicious": {
				"noExplicitAny": "off"
			}
		}
	},
	"organizeImports": {
		"enabled": false
	}
}

Additional note: As a workaround I found that changing the IDEs Reformat on save from "whole file" to "changed lines" works.

Note that an empty Biome error shows up in the notifications panel when you try to run JetBrains' formatter with "formatter": false.
In my opinion, there should be a checkbox "Run on 'Reformat Code' action" like in the Prettier plugin, see here: https://www.jetbrains.com/help/idea/prettier.html#ws_prettier_configure

Could you try please to use the night build?
https://plugins.jetbrains.com/plugin/22761-biome/versions/nightly
We removed "reformat on save" and added "Enable LSP-based code formatting" in settings.

I tried Biome 1.5.2-nightly.4b695b7, that fixes the problem. Thank you!


Mast: Watch (?-i:^Imalent Flashlight$)

Mast requests the watch of the watch_keyword (?-i:^Imalent Flashlight$). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?-i:^Imalent Flashlight$) has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Riva overwrite content directory

If I'm upload file to root path "/" Reva overwrite user content directory with single file. User lost all data.
Steps to reproduce:
cd reva/cmd/reva
echo "Test" >test.txt
./reva --insecure login basic
./reva --insecure upload test.txt /

after this operation directory "/var/tmp/reva/data" has only file "einstein", not directory "einstein"

@JarCz thanks for reporting this. We'll look into it.

@ishank011 had actually reverted the fix, because it breaks the sync clients (one needs to be able to upload a file to a folder, not within it, from a sync client perspective).
The solution is discussed at https://github.com/sciencemesh/sciencemesh/issues/108#issuecomment-691123077 and it is to change the reva CLI only, not the server side.


Congrats

Woohoo! Great to see this launching :) Congrats @meganbradley and @adkinn !

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

ID: c101c482-1f4b-f4a9-9da1-91ad723c5bb5
Version Independent ID: 8d19e1b7-1bd8-b556-d32a-8ddb1d14ea49
Content: Announcing the Docs Markdown Extension for Visual Studio Code
Content Source: teamblog/docs-extension.md
Service: unspecified
GitHub Login: @adkinn
Microsoft Alias: adkinn

Thanks again for the kudos, @EisenbergEffect!


aachen evaluation

Hi @GrumpyZhou   Thanks for your great works!
I use patch2pix + superglue as matcher for aachen evaluation,  and use eval_aachen.py script.  I can get keypoints.h5 and matches.h5, but an error was encountered while running triangulation, the error as follows:
"Keypoint format not supported"
I find the format slightly different from the hloc, any suggestion?  Did you test patch2pix + superglue on aachen ? Thanks!

Hi @wolf943134497,
Yes, i tested patch2pix+superglue on aachen as shown in the paper. I have not encountered this error before. Can you show me your config for  patch2pix+superglue on aachen and the command for the evaluation ?

Hi @wolf943134497,
Yes, i tested patch2pix+superglue on aachen as shown in the paper. I have not encountered this error before. Can you show me your config for patch2pix+superglue on aachen and the command for the evaluation ?

Hi Thanks for your quick reply!
I just use the config as follows:
default: &default
class: 'Patch2PixRefined'
ckpt: 'image-matching-toolbox/third_party/patch2pix/pretrained/patch2pix_pretrained.pth'
imsize: 1024
coarse_default: &coarse_default
name: 'SuperGlue'
weights: 'outdoor'
sinkhorn_iterations: 50
max_keypoints: 4096
nms_radius: 4
imsize: 1024
aachen:
<<: *default
match_threshold: 0.1
imsize: 1600
rthres: 48
coarse:
<<: *coarse_default
match_threshold: 0.1
imsize: 1600

my code :
# Initialize Model
config_file = 'configs/patch2pix+superglue.yml'
with open(config_file, 'r') as f:
args = yaml.load(f, Loader=yaml.FullLoader)['aachen']
class_name = args['class']
print(f'Method:{class_name} Args: {args}')
model = immatch.dictclass_name
print('model:',model)
matcher = lambda im1, im2: model.match_pairs(im1, im2)
dataset_dir = Path('data')
im_dir = dataset_dir / 'images/'
output_dir = Path('output')

# Load db & query pairs
db_pairs_path = output_dir / 'pairs-db-covis20.txt'
query_pairs_path = output_dir / 'pairs-query-vlad20.txt'
pair_list = load_pairs(db_pairs_path, query_pairs_path)
if not pair_list:
    return

# Match pairs
match_pairs_exporth5(pair_list, matcher, im_dir, output_dir)

# Extract keypoints

process_matches_and_keypoints_exporth5(
    pair_list, output_dir, output_dir )

# Localization
#init_empty_sfm(args)
result_sfm = Path('output') / 'result_sfm'
empty_sfm = Path('output') / 'sfm_base'
result_dir = output_dir
colmap = 'colmap'
reconstruct_database_pairs(result_sfm, empty_sfm, im_dir, db_pairs_path, result_dir, colmap)
localize_queries(result_sfm, dataset_dir, query_pairs_path, result_dir)

if name == 'main':
parser = argparse.ArgumentParser(description='Localize Aachen Day-Night')
parser.add_argument('--gpu', '-gpu', type=str, default=0)
parser.add_argument('--config', type=str, default=None)
parser.add_argument('--prefix', type=str, default=None)
args = parser.parse_args()

eval_aachen(args)

I just want to get the localize_queries results, and test the pipeline is right or not.
I get init_empty_sfm by  sfm. I follow the pipeline as hloc, and just change the matcher. The feature and matches can import the colmap database.
Thanks!

Um so you used my code to generate the matches and used original hloc repo to import matches and features? Am i understanding it correctly?

Um so you used my code to generate the matches and used original hloc repo to import matches and features? Am i understanding it correctly?

sorry for the unclear description, I use your code to generate the matches and use your script localize_sfm_helper.py to import matches and features, the hloc are also your repo.
Thanks!

I don't understand in your posted code
reconstruct_database_pairs(result_sfm, empty_sfm, im_dir, db_pairs_path, result_dir, colmap)
localize_queries(result_sfm, dataset_dir, query_pairs_path, result_dir)

In the original code, the input argument is different from what you are using:
https://github.com/GrumpyZhou/image-matching-toolbox/blob/6ec826d520464b5a12a7cb430d9eeee09f78f8e4/immatch/utils/localize_sfm_helper.py#L117
Apart from this, i also found something not correct in your config, since to evaluate patch2pix + superglue  on aachen, you need to perform quantization (we also mentioned it in the paper).
Without quantization, errors might occur during the triangulation or you get much worse accuracy. This is because patch2pix regressed matches are not repeatable compared to keypoint-based methods.
So to help you get this out, i will update the repo by including the configuration that i used and the running command tonight or tomorrow. Since i still need to work on something else before i touch this.

I don't understand in your posted code
reconstruct_database_pairs(result_sfm, empty_sfm, im_dir, db_pairs_path, result_dir, colmap)
localize_queries(result_sfm, dataset_dir, query_pairs_path, result_dir)

In the original code, the input argument is different from what you are using:
https://github.com/GrumpyZhou/image-matching-toolbox/blob/6ec826d520464b5a12a7cb430d9eeee09f78f8e4/immatch/utils/localize_sfm_helper.py#L117
Apart from this, i also found something not correct in your config, since to evaluate patch2pix + superglue on aachen, you need to perform quantization (we also mentioned it in the paper).
Without quantization, errors might occur during the triangulation or you get much worse accuracy. This is because patch2pix regressed matches are not repeatable compared to keypoint-based methods.
So to help you get this out, i will update the repo by including the configuration that i used and the running command tonight or tomorrow. Since i still need to work on something else before i touch this.

I also change the  the function variables in localize_sfm_helper.py, just write it directly in your code.  I also perform quantization by set  qt_psize = 48, qt_dthres = 4 ,sc_thres = 0.25 in code.  I will check my code and h5 file.
Looking forward to your updates, Thanks for your great works again, it is very meaningful !

Hey,  can you try with my example command in readme for evaluating patch2pix+superglue  on aachen? Please  inform me here if you succeed with it. Thanks~

Hey, can you try with my example command in readme for evaluating patch2pix+superglue on aachen? Please inform me here if you succeed with it. Thanks~

I will  try with your example command  for evaluating patch2pix+superglue on aachen, I'll give you feedback. Thanks~

Hey, can you try with my example command in readme for evaluating patch2pix+superglue on aachen? Please inform me here if you succeed with it. Thanks~

I will try with your example command for evaluating patch2pix+superglue on aachen, I'll give you feedback. Thanks~

@GrumpyZhou   Hi   The code runs successfully! Thanks~

Hi @TruongKhang,
I do not remember the exact time now but yes it is taking a lot of time (* days) to run the whole evaluation on Aachen due to the large number of pairs.

Thank you @GrumpyZhou. Also, I have one more question. I wonder how to get the results Local Feature Evaluation on Night-time Queries from the table in your paper. This current code produced the results of Full Localization with HLOC, am I right?

Hi @TruongKhang ,
I just uploaded the config in this commit e3801b6 .

Thank you so much for your engaging discussion! I wish you the best in your research :D


Add support for missing services

In this PR, we add support for the following missing services:

Baremetal (ironic):

allocations
drivers
nodes
ports

Blockstorage (cinder):

availability_zones
limits
qos
quotasets
quotasets_usage
snapshots
services
volume_backups

Compute (nova):

images
networks
secgroups
serverusage
tenantnetworks

Identity (keystone):

domains
services
tenants

Image Service (glance):

members

Configure connection with Apache Superset

Also, we apply the following fixes:

add spec validation
apply formatting
fix readme badges

Finally, this PR aims to update the following packages:

bump net from v0.10.0 to v0.17.0 (PR #1)
bump gprc from v1.57.0 to v1.57.1 (PR #2)
bump apache arrow from v13.0.0 to v15.0.0 (this depends on the approval and merge of the PRs (https://github.com/dihedron/cq-plugin-utils/pull/1 and https://github.com/dihedron/cq-plugin-utils/pull/2)

Non vedo le modifiche relative a:

supporto per include ed exclude filter.
supporto nel makefile per la sovrascrittura dei simboli pubblic (plugin.Version) attraverso linkr flag.


🚀 - Make PullToRefresh work with scrollable content

Which @taiga-ui/* package(s) are relevant/related to the feature request?
addon-mobile
Description
For now PullToRefresh disable the possibility to scroll but it is more common to have a scrollable content that triggers refresh when scrollTop is 0.

PullToRefresh has only one type of loader, I would like to be able to select spinner with advanced features (like size, color, form, etc.)
It would be great to set custom height of refresh (like distanceForRefresh attribute in ngx-pull-to-refresh)


gcc: assigned string must not be freed.

This fixed a double-free memory issue. The pointer was assigned but freed, then it will be used and freed again causing memory corruption.

OMG how can we have missed that !
+1


Increment version for textanalytics releases

Increment package version after release of azure_ai_textanalytics

/azp run python - textanalytics - ci


WIP: Faucet clean up

Simple PR to clean up formatting and remove unused .env variables in .env.sample
May add more to this PR if anything is found to be needed.

Closing in favor of https://github.com/anoma/namada-interface/pull/1066


proposal: spec: keys/vals function for map types

It's quite a common case to use maps to ensure values are unique.

I wondered if the hashmap implementation could expose it's keys and values directly via
a `keys` and `vals` builtin, instead of creating a slices, iterating over the map and
filling the slice. It would also help to avoid creating unnecessary gargabe when only a
reference is obtained.

This is similar to other requests for builtin generic functionality, such as map/reduce #14173. Otherwise keys/values could be implemented or generated for each map type desired.

Any implementation of these functions has to make a copy, so there is no way to generate less garbage than the hand written implementation.  We aren't going to do this special case.  Closing.


Remove unused references to "lock_timeout" in file/S3 cache implementations

I am probably overlooking something obvious but it seemed to me that the lock_timeout parameter is simply ignored in the file and S3 cache implementations.
So I propose to remove it to improve code readability.

Thanks!


Usage with tensorflow.js

When trying to use it with tensorflow.js getting an error:
Browser error
Uncaught (in promise) Error: Cannot find module '@tensorflow/tfjs'
    node_modules bundle.js:14
    promise callback*webpackEmptyAsyncContext browser|lazy|groupOptions: {}|strict namespace object:4
    load index.js:264
    tsx Test.tsx:45
    a async module:49
    tsx bundle.js:221
    factory react refresh:6
    Webpack 15
        __webpack_require__
        fn
        ts
        a
        ts
        factory
        __webpack_require__
        fn
        tsx
        a
        tsx
        factory
        __webpack_require__
        <anonymous>
        <anonymous>
browser|lazy|groupOptions: {}|strict namespace object:5

Warning from CRA
WARNING in<EMAIL_ADDRESS>297:53-70
Critical dependency: the request of a dependency is an expression

Environment:
<EMAIL_ADDRESS>"^0.6.0",
    "@tensorflow/tfjs": "^4.3.0",
    "@tensorflow/tfjs-vis": "^1.5.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-router-dom": "^6.9.0",
    "react-scripts": "^5.0.1",
    "typescript": "~4.5.4",

Trying to import like this
import * as tftypes from '@tensorflow/tfjs';
const {
  // @ts-ignore
  layers,
} = await concurrent.import('@tensorflow/tfjs').load();
const tfLayers: typeof tftypes.layers = layers;

It's not possible to import a module using its package name in Deno and the browser. Please see the browser-tensorflow sample for a basic TF usage.


Blank FlashList after refresh and switch between tab

Steps to reproduce

scroll LIKE tab (to ~20 element)
go to OWNER tab and pull-to-refresh
go back to LIKE tab

Actual behavior
Content is not visible.
Expected behavior
Content should be visible.
Code to reproduce
import React, { useCallback, useState } from "react";
import { StatusBar, Text, View } from "react-native";
import { useSharedValue } from "react-native-reanimated";
import { Route, TabView } from "@showtime-xyz/tab-view";
import { TabFlashList } from "@features/Social/components/TabFlashList";
import { GestureHandlerRootView } from "react-native-gesture-handler";
import { TabFlashList } from "./tab-flash-list";

const StatusBarHeight = StatusBar.currentHeight ?? 0;
const TabScene = ({ route }: any) => {
  return (
    <TabFlashList
      index={route.index}
      data={new Array(60).fill(0)}
      estimatedItemSize={79}
      renderItem={({ index }) => {
        return (
          <View
            style={{
              height: 71,
              backgroundColor: "#fff",
              marginBottom: 8,
              justifyContent: "center",
              alignItems: "center",
            }}
          >
            <Text>{`${route.title}-Item-${index}`}</Text>
          </View>
        );
      }}
    />
  );
};

export default function Example() {
  const [isRefreshing, setIsRefreshing] = useState(false);
  const [routes] = useState<Route[]>([
    { key: "like", title: "Like", index: 0 },
    { key: "owner", title: "Owner", index: 1 },
    { key: "created", title: "Created", index: 2 },
  ]);
  const [index, setIndex] = useState(0);
  const animationHeaderPosition = useSharedValue(0);
  const animationHeaderHeight = useSharedValue(0);

  const renderScene = useCallback(({ route }: any) => {
    switch (route.key) {
      case "like":
        return <TabScene route={route} index={0} />;
      case "owner":
        return <TabScene route={route} index={1} />;
      case "created":
        return <TabScene route={route} index={2} />;
      default:
        return null;
    }
  }, []);

  const onStartRefresh = async () => {
    setIsRefreshing(true);
    setTimeout(() => {
      console.log("onStartRefresh");
      setIsRefreshing(false);
    }, 300);
  };
  const renderHeader = () => (
    <View style={{ height: 300, backgroundColor: "#000" }}></View>
  );
  return (
    <GestureHandlerRootView style={{flex: 1}}>
      <TabView
        onStartRefresh={onStartRefresh}
        isRefreshing={isRefreshing}
        navigationState={{ index, routes }}
        renderScene={renderScene}
        onIndexChange={setIndex}
        lazy
        renderScrollHeader={renderHeader}
        minHeaderHeight={44 + StatusBarHeight}
        animationHeaderPosition={animationHeaderPosition}
        animationHeaderHeight={animationHeaderHeight}
      />
    </GestureHandlerRootView>
  );
}

Screenshots:
https://github.com/showtime-xyz/showtime-tab-view/assets/22820318/a40e8486-f918-4c46-931e-032236db261b
Environment info:

Pixel 7 Pro (Android 14);
"react-native-reanimated": "3.5.4"
"react-native-gesture-handler": "^2.13.4"
"@shopify/flash-list": "^1.6.2"
"react-native": "0.72.7"

The problem was fixed by these changes:
     onScroll: (e) => {
       const moveY = e.contentOffset.y;
       scrollY.value = moveY;
-      if (curIndexValue.value !== index) return;
-      shareAnimatedValue.value = moveY;
       if (propOnScroll) {
         runOnJS(propOnScroll as any)({ nativeEvent: e });
       }
+      if (curIndexValue.value !== index) return;
+      shareAnimatedValue.value = moveY;
     },
   });
   // adjust the scene size

It seems like runOnJS(propOnScroll as any)({ nativeEvent: e }); wasn't called when the scene was not in focus. So literally we were scrolling the scene to the initial position (scrollTo from REA), but we didn't propagate this event to JS. As a result FlashList had old offset and was rendering incorrect elements.
Moving runOnJS(propOnScroll as any)({ nativeEvent: e }); before if (curIndexValue.value !== index) return; seems to resolve this problem 👀

Hey, @kirillzyusko, sorry for replying late. I'm not actively maintaining this library because I find the current implementation messy. I always think about how to make this library run perfectly and be easy to use instead of passing an index to the scene view.
Also, I have left Showtime. Next, I'm planning to create a new library and refactor it to make it more composable. And this time I will no longer use react-native-tab-view. I will let you know when it's ready.


gpt-4-turbo-preview max_tokens error

When attempting to use gpt-4-turbo-preview with llms.OpenAI() I get the following error:
OpenAI (gpt-4-turbo-preview)] Retrying datadreamer.llms.openai.OpenAI.retry_wrapper.<locals>._retry_wrapper in 3.0 seconds as it raised BadRequestError: Error code: 400 - {'error': {'message': 'max_tokens is too large: 8153. This model supports at most 4096 completion tokens, whereas you provided 8153

This error can be fixed by passing max_new_tokens=4096. I'm attempting to fork datadreamer and fix get_max_content_length() in src/llms/openai.py, but I think there's general confusion between GPT-4's advertised "context length" and it's max number of completion/output tokens.
From src/llms/openai.py
    def get_max_context_length(self, max_new_tokens: int) -> int:  # pragma: no cover
        """Gets the maximum context length for the model. When ``max_new_tokens`` is
        greater than 0, the maximum number of tokens that can be used for the prompt
        context is returned.

        Args:
            max_new_tokens: The maximum number of tokens that can be generated.

        Returns:
            The maximum context length.
        """  # pragma: no cover
        model_name = _normalize_model_name(self.model_name)
        format_tokens = 0
        if _is_chat_model(model_name):
            # Each message is up to 4 tokens and there are 3 messages
            # (system prompt, user prompt, assistant response)
            # and then we have to account for the system prompt
            format_tokens = 4 * 3 + self.count_tokens(cast(str, self.system_prompt))
        if "-preview" in model_name:
            max_context_length = 128000

This code is obviously trying to calculate GPT-4's context length from the model name given. But the error produced later has to do with confusing context length with completion/output tokens and asking for more than the model will give (in this case, 4,096):

Just wanted to document the issue as I see it before I change the entire function around (in a PR) to reduce confusion.

Thanks for reporting and looking into this @zeroshotkevin, this should now be fixed on on 0.24.0 that was just released on PyPI.


mldsa parallel shake

Here an option for parallel shake in ML-DSA. There's more room for improvement but this gives us some of it.
Performance numbers are all over the place. We need to write better benchmarks.
Based on top of #440
cc #275

I parallelised a couple more and moved to some more mutable outputs. We should see performance of the arithmetic better now.


Update No-op prepper

Description
Moves the No-op prepper from using generics to consuming Record
Issues Resolved
#607
Check List

[x] New functionality includes testing.

[ X] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #620 (c402e1a) into main (169365c) will increase coverage by 0.11%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##               main     #620      +/-   ##
============================================
+ Coverage     91.58%   91.70%   +0.11%
- Complexity      568      571       +3
============================================
  Files            72       72
  Lines          1747     1747
  Branches        145      145
============================================
+ Hits           1600     1602       +2
  Misses          113      113
+ Partials         34       32       -2

Impacted Files
Coverage Δ

...mazon/dataprepper/plugins/prepper/NoOpPrepper.java
33.33% <ø> (ø)

...com/amazon/dataprepper/pipeline/ProcessWorker.java
91.42% <0.00%> (+5.71%)
:arrow_up:

Continue to review full report at Codecov.

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

Please sign your commit. See the Contributing Guide for details.


Volume adjustion problem

Hello, i have built a music player and everything works fine.
But when i try to play the same song a second time, everything works fine but there is an exception thrown, the exception is "Volume must be between 0.0 and 1.0"
I'm using a trackbar to adjust the volume.

Well, what are you trying to set the volume to? Use a debugger to see what the value you are setting is.


"npm login" with private Artifactory don't work with ng update. RegistryClient returns 401

From @BaggersIO on May 15, 2018 12:46
Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Area
- [ ] devkit
- [x] schematics

Versions
$ node --version
8.11.1

$ npm --version
5.6.0

Operating System: Windows 7

Repro steps

You need a private Artifactory repository using HTTPS + Basic Authentication.

.npmrc Configuration

registry=https://some.local.registry
ca[]="my cert ..."
strict-ssl=false
always-auth=true
<EMAIL_ADDRESS>

Login via npm login

$ npm login
Username: foo
Password: ***
E-Mail<EMAIL_ADDRESS>

Run ng update

It does not matter if you use ng update or ng update xxx-package.

CLI / RegistryClient throws 401 for GET http://some.local.registry/...

The ng update command stops after a few minutes (~2-3 mins) without any exception.
I digged deeper into the update schematic at npm.js with few logs and got this:
{ Error: Registry returned 401 for GET on https://some.local.registry/artifactory/api/npm/npm-virtual/karma
    at makeError (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:316:12)
    at RegClient.<anonymous> (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:292:14)
    at Request._callback (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:216:14)
    at Request.self.callback (C:\dev\shared\node_modules\request\request.js:188:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (C:\dev\shared\node_modules\request\request.js:1171:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (C:\dev\shared\node_modules\request\request.js:1091:12) pkgid: 'karma', statusCode: 401, code: 'E401' } { errors: [ { status: 401, message: 'Authentication is required' } ] }
Registry returned 401 for GET on https://some.local.registry/artifactory/api/npm/npm-virtual/karma

Quick and Dirty Hack to get it working

Since npm login has no effect, I had to patch npm.js in the update schematic to get it working:
const client = new RegistryClient({
    proxy: {
        http: options[0],
        https: options[1],
    }, ssl: {
        strict: false, // This was needed but it is still fixed
    }
});
client.log.level = 'silent';
const params = {
    timeout: 30000,
    auth: { // This was needed for authentication
        alwaysAuth: true,
        username: 'my_usenrame', // My artifactory username
        password: 'my_encrypted_password' // My encrypted password
    }
};

https://github.com/angular/devkit/blob/master/packages/schematics/update/update/npm.ts#L100-L116
Note: the strict-ssl patch is not needed anymore: https://github.com/angular/devkit/pull/838
With the hack above my ng update command worked well.
The log given by the failure
I logged out the following exception:
{ Error: Registry returned 401 for GET on https://some.local.registry/artifactory/api/npm/npm-virtual/karma
    at makeError (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:316:12)
    at RegClient.<anonymous> (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:292:14)
    at Request._callback (C:\dev\shared\node_modules\npm-registry-client\lib\request.js:216:14)
    at Request.self.callback (C:\dev\shared\node_modules\request\request.js:188:22)
    at emitTwo (events.js:126:13)
    at Request.emit (events.js:214:7)
    at Request.<anonymous> (C:\dev\shared\node_modules\request\request.js:1171:10)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at IncomingMessage.<anonymous> (C:\dev\shared\node_modules\request\request.js:1091:12) pkgid: 'karma', statusCode: 401, code: 'E401' } { errors: [ { status: 401, message: 'Authentication is required' } ] }
Registry returned 401 for GET on https://some.local.registry/artifactory/api/npm/npm-virtual/karma

Desired functionality
npm login / authentication + private Artifactory works with ng update
Mention any other details that might be useful

Copied from original issue: angular/devkit#917

I'm seeing this, too.
$ node -v
v10.12.0

$ npm -v
6.4.1

Operating System: OS X High Sierra

@alexeagle could you please elaborate a bit more on the work-around for someone who just has npm and angular-cli installed locally?

This should be corrected in the latest CLI version (7.3.5).  If the problems still persists, please open a new issue with updated environment and version information.


Fix #201... but not confident that this is a good approach.

Should this just be exposed as a static method, or would something else be better?
Not sure this is a good idiom for exposing a static method...
And assuming the original PR worked, should find what broke, rather than adding more duct tape?
Is the model code encroaching on view turf?

@alexsb : cleaning up old PRs; I do not have write privs, and in any event I think this is moot.


Mounting a btrfs with LUKS is not working with Flakes

Describe the bug
I am using a setup of luks+btrfs (LUKS applied directly to the disk without any partitions). The setup is here: https://github.com/thiagokokada/nix-configs/commit/e1fb3792ee6eba16fec3bc2200abd6243c37084b#diff-089e089cb5879be1e33c6e828a0c290b38b72038e369e2c763aa7df8f7fce220R26-R31
When I try to build my system I get the following error:
$ sudo nixos-rebuild switch --show-trace
building the system configuration...
error: --- EvalError ---------------------------------------------------------------------------------------------------------------- nix
builtins.storePath' is not allowed in pure evaluation mode
-------------------------------------------------------------- show-trace ---------------------------------------------------------------
trace: while evaluating the attribute 'passAsFile' of the derivation 'system-path'
at: (7:7) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/pkgs/build-support/trivial-builders.nix

     6|     stdenv.mkDerivation ({
     7|       name = lib.strings.sanitizeDerivationName name;
      |       ^
     8|       inherit buildCommand;

trace: while evaluating 'check'
at: (256:15) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/types.nix

   255|       name = "path";
   256|       check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
      |               ^
   257|       merge = mergeEqualOption;

trace: from call site
at: (499:22) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |                      ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: while evaluating anonymous lambda
at: (499:17) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |                 ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: from call site
at: (499:12) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |            ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: while evaluating the attribute 'value'
at: (510:27) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   509|     optionalValue =
   510|       if isDefined then { value = mergedValue; }
      |                           ^
   511|       else {};

trace: while evaluating anonymous lambda
at: (265:14) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/types.nix

   264|       merge = loc: defs:
   265|         map (x: x.value) (filter (x: x ? value) (concatLists (imap1 (n: def:
      |              ^
   266|           if isList def.value then

trace: from call site
trace: while evaluating the attribute 'serviceDirectories' of the derivation 'dbus-1'
at: (7:7) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/pkgs/build-support/trivial-builders.nix

     6|     stdenv.mkDerivation ({
     7|       name = lib.strings.sanitizeDerivationName name;
      |       ^
     8|       inherit buildCommand;

trace: while evaluating 'check'
at: (256:15) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/types.nix

   255|       name = "path";
   256|       check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
      |               ^
   257|       merge = mergeEqualOption;

trace: from call site
at: (499:22) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |                      ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: while evaluating anonymous lambda
at: (499:17) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |                 ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: from call site
at: (499:12) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   498|       if isDefined then
   499|         if all (def: type.check def.value) defsFinal then type.merge loc defsFinal
      |            ^
   500|         else let firstInvalid = findFirst (def: ! type.check def.value) null defsFinal;

trace: while evaluating the attribute 'mergedValue'
at: (497:5) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   496|     # Type-check the remaining definitions, and merge them. Or throw if no definitions.
   497|     mergedValue =
      |     ^
   498|       if isDefined then

trace: while evaluating the option `environment.etc.dbus-1.source':
trace: while evaluating the attribute 'value'
at: (465:9) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

   464|     in warnDeprecation opt //
   465|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
      |         ^
   466|         inherit (res.defsFinal') highestPrio;

trace: while evaluating anonymous lambda
at: (98:72) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/modules.nix

    97|           # For definitions that have an associated option
    98|           declaredConfig = mapAttrsRecursiveCond (v: ! isOption v) (_: v: v.value) options;
      |                                                                        ^
    99|

trace: from call site
at: (279:20) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/attrsets.nix

   278|               then recurse (path ++ [name]) value
   279|               else f (path ++ [name]) value;
      |                    ^
   280|         in mapAttrs g set;

trace: while evaluating 'g'
at: (276:19) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/attrsets.nix

   275|           g =
   276|             name: value:
      |                   ^
   277|             if isAttrs value && cond value

trace: from call site
trace: while evaluating the attribute 'source'
trace: while evaluating anonymous lambda
at: (20:20) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/etc/etc.nix

    19|     /* !!! Use toXML. */
    20|     sources = map (x: x.source) etc';
      |                    ^
    21|     targets = map (x: x.target) etc';

trace: from call site
trace: while evaluating the attribute 'sources' of the derivation 'etc'
at: (12:5) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/etc/etc.nix

    11|   etc = pkgs.stdenvNoCC.mkDerivation {
    12|     name = "etc";
      |     ^
    13|

trace: while evaluating the attribute 'text'
at: (77:38) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/strings-with-deps.nix

    76|
    77|   stringAfter = deps: text: { inherit text deps; };
      |                                      ^
    78|

trace: while evaluating the attribute 'text'
at: (9:5) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/activation/activation-script.nix

     8|   addAttributeName = mapAttrs (a: v: v // {
     9|     text = ''
      |     ^
    10|       #### Activation script snippet ${a}:

trace: while evaluating 'id'
at: (14:5) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/trivial.nix

    13|     # The value to return
    14|     x: x;
      |     ^
    15|

trace: from call site
trace: while evaluating 'textClosureMap'
at: (70:35) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/lib/strings-with-deps.nix

    69|
    70|   textClosureMap = f: predefined: names:
      |                                   ^
    71|     concatStringsSep "\n" (map f (textClosureList predefined names));

trace: from call site
at: (89:18) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/activation/activation-script.nix

    88|                 withHeadlines = addAttributeName set';
    89|               in textClosureMap id (withHeadlines) (attrNames withHeadlines)
      |                  ^
    90|             }

trace: while evaluating the attribute 'system.activationScripts.script'
at: (68:9) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/activation/activation-script.nix

    67|       apply = set: {
    68|         script =
      |         ^
    69|           ''

trace: while evaluating the attribute 'activationScript' of the derivation 'nixos-system-miku-nixos-20.09.20210213.2118cf5'
at: (95:5) in file: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source/nixos/modules/system/activation/top-level.nix

    94|   baseSystem = pkgs.stdenvNoCC.mkDerivation {
    95|     name = "nixos-system-${config.system.name}-${config.system.nixos.label}";
      |     ^
    96|     preferLocalBuild = true;

Just changing the in the hardware-configuration.nix file from btrfs to anything else (xfs for example) works, so I think there is some issue with the btrfs evaluation?
I also tried to pass --impure flag, but this fails with another error of "cannot coerce a list to string".
To Reproduce
Steps to reproduce the behavior:
0. Have a Flake-based NixOS setup

Create a LUKS without partition, opens it and format as btrfs
Use nixos-generate-config to generate the config
Try to rebuild the system

Expected behavior
It should work.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.4.97, NixOS, 20.09.20210213.2118cf5 (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4pre20201201_5a6ddb3
nixpkgs: /nix/store/iv5kvpbswff5m4kfsh0x7vaj1g18axls-source

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

As a workaround, removing the fsType worked: https://github.com/thiagokokada/nix-configs/commit/1e9faad186b2547d941cfd1e87f7cf3ea63e3450#diff-089e089cb5879be1e33c6e828a0c290b38b72038e369e2c763aa7df8f7fce220R28

Well, now I re-added the fsType and it worked.
My issue was during the initial installation, so maybe nixos-rebuild is working fine :thinking: ?

Closing since it is working now for some reason.


Dev n1to1 a

Fix ReLUN1To1 fused activation for OpenCL and OpenGL
The ReLUN1To1 op was repurposed from the a ReLU1 op. However it was not fully reimplemented. As a result it clipped to a minimum of 0 instead of -1.
Add a left clip attribute, lclip, to the ReLU implementation. Set to -1 for ReLUN1To1 and 0 for all other ReLUs.

@roserg Could you help review this change? Thanks!


Scrolling browser causes draggables to change position randomly

I love your library. However I've seen a strange issue. I have a series of graphs - these are HTML canvases wrapped in divs. There is a hierarchy, a graph has a parent and can have multiple children. It looks like this:

However, when I scroll down, sometimes they jump about:

When I look in the inspector, I can see that as I scroll, the transform in the css changes as I scroll:

Im not including code here, but I will if needed. Any  ideas what this could be? Thanks

Hi @Zander1983, thank you for the comment.
Could you show an example by using e.g. https://jsfiddle.net/ to reproduce that?

@anseki thats going to take some time! Or would you be willing to look at the code? I can pay you a consultancy fee...

You don't have to make your app in JSFiddle.
It's just only an example code to reproduce that issue, I will read the your code, then I might find a bug in your code.

Yes ill try that. My project is really complex though. Many moving parts. I'll see can I reproduce on Jsfiddle and post back here then.

Ok :smile:

No reply came, then this abandoned issue is closed.

Ok :smile:
Maybe your app or another library does something in scroll event.


How AP is computed?

According to the essay, AP and AR are the average precision and recall among different OLS threshold. As I understand, the precision should be total True Positive(TP) over TP+FP and recall should be total TP over the number of ground truth. In the code, the recall seems to be calculated in this way, while the precision is averaged over another dimension R.
https://github.com/yizhou-wang/cruw-devkit/blob/a565905d52c0962a632ef3779d88e66c910ea171/cruw/eval/rod/rod_eval_utils.py#L164
This dimension seems to be calculated with recall and recThrs. I wonder what's the meaning of this dimension and is the precision consistent with the classic definition? Also, is this AP the metric used in the ROD2021 competition?
Thanks in advance!

The code for AP and AR in our evaluation script is modified from the COCO evaluation script: https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py.
In the traditional object detection community, AP is defined as the area under the precision-recall curve. The following blog might be helpful to know the detailed definition: https://jonathan-hui.medium.com/map-mean-average-precision-for-object-detection-45c121a31173

That's a great help. Thank you very much!


Fix default constructor of QubitRegister

As I explained in Issue #91, the default constructor of QubitRegister was not working properly. Based on what the default constructor needs, I made the constructor allocate a length-2 state for a single qubit and initialize the two elements to 1.0 and 0.0. The line if(GlobalSize()) assert(GlobalSize() * 2UL == new_num_amplitudes); fails because global_size_ is not initialized and can be an arbitrarily large number when using the default constructor. And since this constrains Resize to only adding a single additional qubit, I think this line can be deleted.
I also wrote a simple test in unit_test/include/one_qubit_register_test.hpp to test the behavior of the default constructor.

Thank you for your comments. Please feel free to incorporate any changes as seen fit.


Add sidecar for Galley

I think this should be prioritized for 1.1.1 - I did some initial config/testing with
https://github.com/istio-ecosystem/istio-installer/tree/master/istio-control/istio-config/templates/....
( still need to put the proper cert)
The goal is to make Galley MCP consistent with Mixer and Pilot - use Spiffe certs ( so it doesn't behave differently or have problems in multicluster), and eventually can use SDS.  Using Galley in MC is needed by few users, and switching to SDS (to remove the use of k8s secrets in such environments) is required as well.

Tracked here: https://github.com/istio/istio/issues/11787


[ISSUE #56] add exportJvmInfo to judge prometheus whether export jvm info or not

fix #56 add exportJvmInfo to judge prometheus whether export jvm info or not

Codecov Report

Merging #57 (f5a2779) into main (0177b54) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #57      +/-   ##
==========================================
- Coverage   23.77%   23.74%   -0.04%
==========================================
  Files          96       96
  Lines        4176     4182       +6
  Branches      662      663       +1
==========================================
  Hits          993      993
- Misses       2960     2966       +6
  Partials      223      223

Impacted Files
Coverage Δ

...rg/apache/rocketmq/mqtt/cs/config/ConnectConf.java
0.00% <0.00%> (ø)

...pache/rocketmq/mqtt/cs/starter/ExporterServer.java
0.00% <0.00%> (ø)

...rg/apache/rocketmq/mqtt/exporter/MqttExporter.java
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Add Shannu Ali  to Contributors list

@zeroxenator, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?


Remove additionalSettings in KNN plugin

Description
Per https://github.com/opensearch-project/OpenSearch/pull/9392, mmap will be a default setting for all lucene segment files in 3.0
Related Issues
Resolves #1892
Check List

[X] New functionality includes testing.
[X] New functionality has been documented.
[X] API changes companion pull request created.
[X] Commits are signed per the DCO using --signoff.
[X] Public documentation issue/PR created.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

code looks good. Please fix the CIs