Update Getting Started guide with improved Docker and K8s setup details

Hello friends,
I'd like to kindly ask about whether there are plans to update the Getting Started guides for docker and kubernetes on the current roadmap? At present, they leave a lot to be desired

For example, Docker points to a local repo instead of the appropriate image.

And, the Kubernetes setup guide points a k8s manifest which doesn't include any references to the k8s_processor, which is going to be required for the very large majority of OTEL users deploying the collector in a production otel environment.

While it's great to see so many contributors from so many Commercial Open Source Software vendors, it seems like most of the organisations involves have preferred to contribute to their own proprietary documentation that exists in their own repositories or on their forks of the opentelemetry collector, and these documentation improvements have not made it back upstream . Some examples, (not meant in a negative way, just showing off some strong documentation, diagrams, or explanations of key concepts which live outside the OTEL docs).

https://github.com/signalfx/splunk-otel-collector
https://docs.signalfx.com/en/latest/apm/apm-getting-started/apm-opentelemetry-collector.html
https://www.elastic.co/guide/en/apm/get-started/current/open-telemetry-elastic.html
https://help.sumologic.com/Traces/Getting_Started_with_Transaction_Tracing/Set_up_traces_collection_for_Kubernetes_environments
https://opentelemetry.lightstep.com/the-collector-and-exporters/

Not having the best in class docs live within the opentelemetry.io documentation itself makes it difficult for users to onboard onto OpenTelemetry in a way that is generally agreed to be portable+vendor agnostic. In the long run it may hurt adoption as users struggle to onboard or don't enable the optimal processors within their collector pipelines. It would  be wonderful to see some better documentation and getting started examples , especially for containerised and k8s environments

FWIW I'm very supportive of the idea of improving these (opentelemetry.io) docs, I've just haven't had the time to commit to improving the upstream docs in a while. Would absolutely welcome even small PRs to improve them, though!

My 2 cents as someone with a bit of experience in metrics and tracing: when I was trying to get started with OpenTelemetry in Go a couple of months back I found it very frustrating.
My recommendation would be to port this page to Otel: https://opentracing.io/docs/getting-started/
The similar page here has improved since I needed it, but the example dumps traces to stdout. That is not going to show newcomers the power of distributed tracing.

consider referencing posts from @jpkrohling on the topic: https://medium.com/@jpkroehling

@ericmustin have a look at #380. The getting started documentation was ported directly from the core repository and the core repository had pre-existing examples. I went ahead and added the Docker Hub information especially since it comes with a default configuration now this really is easier than the example -- thanks for pointing this out!
Regarding k8s -- the examples are built on the core repository and the k8s_processor is in contrib. Unfortunately, the k8s_processor is lacking documentation which includes RBAC rules. Once this is added, it would be easy enough to update the k8s example to leverage this processor.
There is a bigger question around core versus contrib docs -- for getting started, current thought process is that core should be the priority, Suggestions welcome here.
Regarding vendor documentation -- I am familiar with the first two links :) what do you think is missing from the getting started documentation here? Fully agree with Austin that the goal should be to provide the best docs on this site.

consider referencing posts from @jpkrohling on the topic

Feel free to use/reuse the blog posts as you see fit!

@flands Sorry for the delayed response, I have been a little underwater.
I appreciate all the work you've put in here. I think it shows, and certainly makes the docs clearer. The docker addition in #380 along with the additional details around Linux packaging is definitely helpful.
I do happen to think that a well documented k8s_processor will be quite necessary for most k8s use cases, so i'm glad to hear that's being considered to be added to onboarding docs. Perhaps I am mistaken but afaik, in an "otel-agent running as daemonset + otel-collector running as gateway service" scenario, which is what the example k8s manifest shows, any sort of accurate correlation of traces or metrics with appropriate host would not be possible, unless the application sdk or service emitting the telemetry data to the otel-agents were adding that metadata.
That being said it's entirely possible I am mistaking the limitations/concerns/bias of my own employer with that of the community (that seems to be a common habit for folks these days 😅 ), and a k8s_processor is not nearly as important as I've indicated. In which case, disregard!
Broadly speaking, while considering whether to focus on core vs contrib, I would encourage the docs to highlight relevant contrib components where applicable in the future. For example, highlighting the docker stats receiver for dockerized setups, and so on.
Lastly (hats off if you're still reading), regarding your followup Q, Two areas I think some vendor docs excel, especially LS,

they do a 1st class job of walking through the concepts with visual aids, and in general I think they provide a clear explanation of some otherwise confusing topics. Their explanation of context propagation is a good example of making few assumptions about what a user might already know about Tracing, starting broadly, and working toward specific implementation details for OpenTelemetry. I'm not sure this type of bottoms up approach to key concepts exists as thoughtfully in the Otel docs.

They also do a good job of suggesting useful semantic conventions to use for things like resource attributes. Something like service.version and service.name, which are more or less "key" resource attributes, are specified clearly in the LS docs but not so much in the OpenTelemetry.io docs as far as I can tell. The OTEL SDK Env vars would also be a nice thing to highlight since their use will be a much easier onboarding path than attempting to have users modify application code with, in some cases, potentially dynamic values. Lastly it's just sort've like, if we went through all the trouble of bikeshedding for years over semantic conventions and attribute names and so on, we should totally promote their use now that there's some stability and consensus.

Anyway @flands and @austinlparker and friends, I hope that helps, I am totally fine if you want to close this issue, or if you'd prefer to leave it open for further comment from the community. ty for coming to my ted talk.

I'm fine leaving it open for more discussion for now. If we can identify specific workable items (such as visual aids for concepts, context prop, etc.) then let's split those out into separate issues.

Probably more to improve, but the collector getting started docs have improved a bit since late last year: https://opentelemetry.io/docs/collector/getting-started/
Some other things mentioned here are also in docs now:

The spec is pulled into the site itself, so anything spec-related is now searchable in the site
There are now conceptual docs for common env vars
There are (thankfully) now more visual aids in the docs
Some of the vendor-owned docs (lightstep and honeycomb) have been pulled in - these are language-agnostic conceptual docs
Things like service.name/service.version are present in the getting started and manual instrumentation guides for several languages now (intent is that we show best practices for all languages)
Semantic conventions do get a call-out in JS docs, and should definitely be added in to every other language's docs just so that there's awareness about them no matter which language you're coming from.

I filed https://github.com/open-telemetry/opentelemetry.io/issues/1538 to track the specific issue of recommending the k8sattributesprocessor by default when getting started with k8s.
I also filed https://github.com/open-telemetry/opentelemetry.io/issues/1539 to track adding semantic attributes to each language's docs pages since.
Given that, I'll close this in favor of the two specific issues we've had. Thanks a bunch of the feedback (that I'm now reading like 1.5 yrs later, heh). And please do comment on if there's more you think should be added. We can break them out into specific issues.


Negative collections!

Describe the bug
I've noticed on two challenges a negative number in "Total collections this kata is a part of" (weirdly, both by myjinxin2015).
Screenshots

Contexts
Please complete the following information:

Codewars username : Haksell
OS: macOS Catalina 10.15.3
Browser: Google Chrome
Browser Version: 83.0.4103.61

on two challenges

There're many of these now. The first time this was "reported" was a few days ago on gitter, so this is probably a result of some recent changes.

The code for this was last changed more than 4 years ago and I don't think I changed anything around Collections recently. It's just an event handler that decrements whenever collection item referencing the challenge is destroyed. I don't know the exact cause for this yet, but it should at least make sure that the number is never negative.

Double digits! (fourth one that I see, fourth one by myjinxin2015)

I did some scraping. Here are the 35 negative collections (which is not to say that other katas are not miscounted too).
https://www.codewars.com/kata/58880c6e79a0a3e459000004 -5 myjinxin2015
https://www.codewars.com/kata/5a662a02e626c54e87000123 -1 MrZizoScream
https://www.codewars.com/kata/59c8b38423dacc7d95000008 -3 myjinxin2015
https://www.codewars.com/kata/58845748bd5733f1b300001f -4 myjinxin2015
https://www.codewars.com/kata/588463cae61257e44600006d -6 myjinxin2015
https://www.codewars.com/kata/59547688d8e005759e000092 -4 myjinxin2015
https://www.codewars.com/kata/589577f0d1b93ae32a000001 -3 myjinxin2015
https://www.codewars.com/kata/534eb5ad704a49dcfa000ba6 -1 Bugari
https://www.codewars.com/kata/58fd91af13b0012e8e000010 -7 myjinxin2015
https://www.codewars.com/kata/5889ab4928c08c08da00009b -9 myjinxin2015
https://www.codewars.com/kata/5951b409aea9beff3f0000c6 -10 myjinxin2015
https://www.codewars.com/kata/58bccdf56f25ff6b6d00002f -6 myjinxin2015
https://www.codewars.com/kata/58b8db810f40ea7788000126 -7 myjinxin2015
https://www.codewars.com/kata/58fd96a59a9f65c2e900008d -10 myjinxin2015
https://www.codewars.com/kata/588856a82ffea640c80000cc -4 myjinxin2015
https://www.codewars.com/kata/58fd52b59a9f65c398000096 -11 myjinxin2015
https://www.codewars.com/kata/589d237fdfdef0239a00002e -4 myjinxin2015
https://www.codewars.com/kata/592e2446dc403b132d0000be -7 myjinxin2015
https://www.codewars.com/kata/58fd9f6213b00172ce0000c9 -9 myjinxin2015
https://www.codewars.com/kata/58b635903e78b34958000056 -5 myjinxin2015
https://www.codewars.com/kata/58b6c403a38abaaf6c00006b -4 myjinxin2015
https://www.codewars.com/kata/58845a92bd573378f4000035 -4 myjinxin2015
https://www.codewars.com/kata/5887099cc815166a960000c6 -4 myjinxin2015
https://www.codewars.com/kata/5889ae4f7af7f99a9a000019 -9 myjinxin2015
https://www.codewars.com/kata/58899594b832f80348000122 -6 myjinxin2015
https://www.codewars.com/kata/5884615cbd573356ab000050 -6 myjinxin2015
https://www.codewars.com/kata/589d1e88e8afb7a85e00004e -6 myjinxin2015
https://www.codewars.com/kata/58956f5ff780edf4a70000a2 -7 myjinxin2015
https://www.codewars.com/kata/58a3f57ecebc06bfcb00009c -3 myjinxin2015
https://www.codewars.com/kata/5a5519858803853691000069 -1 Avanta
https://www.codewars.com/kata/585e3bec6d36a5cad5000103 -4 donaldsebleung
https://www.codewars.com/kata/57c4a31f0a32cae2a800065b -4 naomik
https://www.codewars.com/kata/5612a0d653d31f401b00001a -6 Freywar
https://www.codewars.com/kata/55f307bef98d9c4adc000006 -4 hhelwich
https://www.codewars.com/kata/570f3e06c983eb5d390008b8 -1 raulbc777

Inteersting thing is that this kata was published 2 days ago and already has -24 stars.

Hi I'm the author of the Kata that @hobovsky  mentioned in his comment. I'm probably the one who made it -24 stars. What I did was I tried clicking on it and I noticed that sometimes it increments or decrements more than 1 time. So I tried spam clicking it to see what happens and it reached -3 so I stopped. I just thought that it's just some frontend issue and the backend won't be affected so I just left it at -3 hoping it will be back to normal (it was 2 or 3 stars at first), but turns out suddenly it's -24. When I saw this I tried doing it again and I think it's now at -31. So the Katas that @Haksell scraped probably also got negative stars/collections by clicking it repeatedly. And that also kind of answers why most Katas with negative stars/collection were myjinxin2015's he probably tried doing it to his other Katas. I'm not sure though if other people can do that or only the authors can do it to their own Katas.

@tenick Thanks for the info. That makes sense for the starts. Author or not shouldn't matter.
For collections, it's probably caused by something failing when trying to remove the kata from the collection. Decrementing the kata happens after removing, so I'm not sure how, but maybe the kata wasn't actually removed when the count was decremented.

Hi all, this has been escalated to the engineering team to investigate.


Remove sequence from traversable?

As with moving (/=) out of Eq until we have default implementations, we could make sequence = traverse id until then also.
/cc @paf31

Closing this. Unlike (/=) we do implement something better than traverse id for sequence in most cases currently.


Crossword Puzzle

Submission Title
Crossword Puzzle
Submission Type
Algorithms/Backtracking
Submission Description
Describe the Algo
Submission Directory
Algorithms => Backtracking=> Crossword.cpp
Contributors

[x]  C++ -
[ ]  C -
[ ]  Python -
[ ] Java -
[ ] JavaScript -
[ ] TypeScript -
[ ] Golang -
[ ] Ruby -
[ ] php -
[ ] Swift -
[ ] C# -

Hey, I'd like to work on this

@ywalia01 I have worked in C++ solution you can contribute in any other language.

thanks everyone :v:


Recent archived content from YouTube livestreams only keeps small fragment after downloading.

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2020.01.24
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

$ youtube-dl -v "https://www.youtube.com/watch?v=Va9vbM4EXbM"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'https://www.youtube.com/watch?v=Va9vbM4EXbM']
[debug] Encodings: locale UTF-8, fs UTF-8, out None, pref UTF-8
[debug] youtube-dl version 2020.01.24
[debug] Python version 2.7.16 (CPython) - Linux-4.4.190-x86_64-AMD_Ryzen_7_1700_Eight-Core_Processor-with-slackware-14.2
[debug] exe versions: ffmpeg 3.2.4, ffprobe 3.2.4, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] Va9vbM4EXbM: Downloading webpage
[youtube] Va9vbM4EXbM: Downloading video info webpage
[youtube] Va9vbM4EXbM: Downloading m3u8 information
[youtube] Va9vbM4EXbM: Downloading MPD manifest
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on u'https://manifest.googlevideo.com/api/manifest/dash/expire/1581252443/ei/-6o_XqnJGpS91gLa7aGgAw/ip/<IP_ADDRESS>/id/Va9vbM4EXbM.1/source/yt_live_broadcast/requiressl/yes/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/force_finished/1/vprv/1/keepalive/yes/fexp/23842630/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cas%2Cforce_finished%2Cvprv%2Citag%2Cplaylist_type/sig/ALgxI2wwRAIgXpIhI0XOq5gduYtxE8BL5XoD1kzoij2JSmpzQaa7Of4CIFr1VhHmKCs86SjyLB5wYXepRUGlGgyDc1OtTD-oCKZw'
[dashsegments] Total fragments: 766
[download] Destination: PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f137.mp4
[download] 100% of 872.15MiB in 06:46
[debug] Invoking downloader on u'https://manifest.googlevideo.com/api/manifest/dash/expire/1581252443/ei/-6o_XqnJGpS91gLa7aGgAw/ip/<IP_ADDRESS>/id/Va9vbM4EXbM.1/source/yt_live_broadcast/requiressl/yes/as/fmp4_audio_clear%2Cwebm_audio_clear%2Cwebm2_audio_clear%2Cfmp4_sd_hd_clear%2Cwebm2_sd_hd_clear/force_finished/1/vprv/1/keepalive/yes/fexp/23842630/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Cas%2Cforce_finished%2Cvprv%2Citag%2Cplaylist_type/sig/ALgxI2wwRAIgXpIhI0XOq5gduYtxE8BL5XoD1kzoij2JSmpzQaa7Of4CIFr1VhHmKCs86SjyLB5wYXepRUGlGgyDc1OtTD-oCKZw'
[dashsegments] Total fragments: 766
[download] Destination: PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f140.m4a
[download] 100% of 59.32MiB in 02:01
[ffmpeg] Merging formats into "PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel 'repeat+info' -i 'file:PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f137.mp4' -i 'file:PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f140.m4a' -c copy -map '0:v:0' -map '1:a:0' 'file:PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.temp.mp4'
Deleting original file PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f137.mp4 (pass -k to keep)
Deleting original file PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.f140.m4a (pass -k to keep)
$ du -sh *.mp4
1.3M    PIA Executives Give THEIR Side of the Story - WAN Show Feb 7, 2020-Va9vbM4EXbM.mp4

Description

Noticed that recently i only end up with tiny fractions of archived livestreams on YouTube.
It does download the entire thing. Fragment after fragment, the file gets bigger. Once it's finished, only a small file is left.
Here is an example:
youtube-dl "https://www.youtube.com/watch?v=Va9vbM4EXbM"

Downloads 900MB+ video/audio, resulting file ends with 1.3MB (last ~5 seconds of the video).
Tested it with a few videos, and it only seems to happen with archived livestreams, and only recent ones.
(Not absolutely sure on this, but i could not find a recently uploaded video where this happened that wasn't originally streamed to youtube.)

update FFmpeg to the latest version(4.2.2).


fix SLO signal grouping schema to match monitors and public api

fix SLO signal grouping schema to match monitors and public api
support for SLO signal grouping
update CHANGELOG

This change is part of the following stack:

#93

#94 ◀

Change managed by git-spice.


Creating Linux jobs from Windows clients fails when using backslashes

Summary
In OneFuzz clients, we need to normalize all client paths into container-relative blob names, to match the server-side expectation.
Details
Server-side, we expect values like target_exe to contain the name of blob storage item, and validate it accordingly. This is similar to a POSIX-style filesystem path, with additional restrictions.
In the CLI, if a Windows-style, backslash-delimited path is used to specify a (nested) target_exe, everything still works if Windows is the host. The job and tasks get created, and run successfully. However, the relative path constructed by the CLI is not translated to the blob storage "virtual directory" scheme, and so it only continues to work due to luck in downstream program handling of the Windows-style path.
Worse, if a Linux job is created from a Windows client, using Windows-style paths, this does not just work once the job is running. The job will get created successfully, but the on-VM tasks will fail.
Note: we don't generally reject blob names with backslashes because they may validly be part of a blob name, and aren't necessarily a misused Windows path delimiter.
Repro
From a Windows PowerShell session:
# Assume a `linux` pool name `linux`, the existence of an ELF libFuzzer name `fuzz.exe`
> mkdir -p setup\bin
> cp fuzz.exe setup\bin\

# We are creating a job to run on Linux VMs, but we're using Windows-style, backslash-delimited paths.
> onefuzz template libfuzzer basic -v myproject blob-linux-from-win 123 linux --vm_count 1 --setup_dir .\setup-linux --target_exe .\setup-linux\bin\fuzz.exe

Expected
The value of target_exe should be submitted to the OneFuzz server as setup_dir-relative blob name: bin/fuzz.exe. The job tasks should get scheduled and run successfully.
Actual
The job is scheduled, but all tasks fail.
From onefuzz tasks get:
            "target_exe": "bin\\fuzz.exe",

    "error": {
        "code": "TASK_FAILED",
        "errors": [
            "task failed. exit_status:code=1 signal=None success=False",
            "",
            "[2021-10-19T23:33:14Z INFO  onefuzz_agent::tasks::config] agent ready, dispatching task\n[2021-10-19T23:33:14Z INFO  onefuzz_agent::tasks::config] task_start event_type:libfuzzer_fuzz\n[2021-10-19T23:33:16Z ERROR onefuzz_agent::managed::cmd] error running task: libfuzzer failed to start: setup/bin\\fuzz.exe\n    \n    Caused by:\n        No such file or directory (os error 2)\nError: libfuzzer failed to start: setup/bin\\fuzz.exe\n\nCaused by:\n    No such file or directory (os error 2)\n"
        ]
    },

Formatting the task error for readability:
[2021-10-19T23:33:14Z INFO  onefuzz_agent::tasks::config] agent ready, dispatching task
[2021-10-19T23:33:14Z INFO  onefuzz_agent::tasks::config] task_start event_type:libfuzzer_fuzz
[2021-10-19T23:33:16Z ERROR onefuzz_agent::managed::cmd] error running task: libfuzzer failed to start: setup/bin\fuzz.exe

    Caused by:
        No such file or directory (os error 2)
Error: libfuzzer failed to start: setup/bin\fuzz.exe

Caused by:
    No such file or directory (os error 2)

Note the mixed path delimiters in the error.
Notes
Needing to support backslashes in a distinguished blob name (like target_exe) is probably extremely niche.
It may be most user-friendly to:

Reject blob names server-side if they contain occurrences of \
...unless a request was sent with a flag that indicates the use of \ was intentional

OTOH, all our client code can be made to do the right thing, and so only a third-party client could ever actually succeed in even sending an unintentional backslash. Since direct HTTP API usage is not officially supported in any way, this "opt-in" behavior is practically probably unnecessary, as long as we update our first-party client SDK and CLI.
AB#39994076

@ranweiler, has this been addressed with #1371?


Unable to implement in ionic 2 project

try it, it's makes alot of errors.
ionic 2 beta 6
if you success please tell me the steps to implement.

+1

I'm using angular2-moment in my projeto ionic with success.
Steps to use:
npm install angular2-moment -> version 0.5.0 is compatible with ionic-angular beta 6
In my page/component declare the pipes, like this:
import {TimeAgoPipe} from 'angular2-moment/TimeAgoPipe.js'; @Component({ pipes:[TimeAgoPipe] })
In my Html:
{{lastSync | amTimeAgo}}

I followed the steps described by @mauricionarcizo , but i keep getting this error:
/Users/Eline/Documents/Stack & Heap/project kvk app/kvkapp/node_modules/angular2-moment/TimeAgoPipe.ts:3 import {Pipe, ChangeDetectorRef, PipeTransform, OnDestroy} from 'angular2/core'; ^ ParseError: 'import' and 'export' may appear only with 'sourceType: module'

Should be fixed by 0.8.0. Just upgrade to latest angular2-moment and import it like this:
import {TimeAgoPipe} from 'angular2-moment';

This is not working for me.
i'm using:
"angular2": "2.0.0-beta.15",     "angular2-moment": "^0.8.0", "ionic-angular": "2.0.0-beta.6",

What does your import statement look like?
On May 23, 2016 12:35 AM, "eevine"<EMAIL_ADDRESS>wrote:

This is not working for me.
i'm using:
"angular2": "2.0.0-beta.15",
"angular2-moment": "^0.8.0",
"ionic-angular": "2.0.0-beta.6",
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/urish/angular2-moment/issues/33#issuecomment-220907385

The same like you said: import {TimeAgoPipe} from 'angular2-moment';

And which error do you get?
On May 23, 2016 1:34 AM, "eevine"<EMAIL_ADDRESS>wrote:

The same like you said: import {TimeAgoPipe} from 'angular2-moment';
—
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub
https://github.com/urish/angular2-moment/issues/33#issuecomment-220918909

I get no errors anymore with the 0.8.0 version, but it also doesn't go to the page where I used the pipe in the html. I'll make a plunker.

It works now, no clue why, I did everything again and now it works. Thanks.


Geohash support

I've added:

[x] USAGE.md docs if applicable
[x] CHANGELOG.md

No dependency geohash implementation. Credited @feyl on this as he/her opened the original PR. Should replace #107.

I like it

@igas @tobyhinloopen do you two have any interest in this PR?

LGTM


Add dash support

Split URL into label=X message=Y etc.
You could follow the hints on shields.io use -- to make -. This is useful for repo names and URLs without having to setup separate parameters.
but separate params end up being more readable and easier to generate and one doesn't have to remember escaping rules for dash and underscore when editing

P


Russian locale

Russian locale has more plural forms then just two like in English. So this PR provides ability to calculate correct plural form in runtime (focusing on performance).

Thank you very much, Russian is so complex, so I think more testease will be more prefact.
You can add testcase intotests/test.js similar with en. ^_^~

#19 ru is added.

@hustcc sure, #35 :smile:


Use pip-compile-multi option --autoresolve

We use the --autoresolve option of pip-compile-multi to make sure we don't run into conflicts across multiple txt files.
According to the docs:

This feature works only if your project has a single requirements file, that references (directly or indirectly) all other files.

So I added the all.in file.
TBH, I don't really understand why this is needed, I thought the whole point of pip-compile-multi was to make sure that the versions were the same for all envs, but anyway.

It seems that virtualenv now supports platformdirs4 (see https://github.com/pypa/virtualenv/pull/2664), so it now resolves fine without pinning to <3.
The issue with prompt-toolkit remains, but gets resolved by --autoresolve.

@jl-wynen this doesn't work with the nightly.in files.
It will then use e.g. scipp @ https://github.com/scipp/scipp/releases/download/nightly/scipp-nightly-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl in all .txt files.
So I think we need to go back to pinning the prompt-toolkit version :-(


Explicit returned value is missing

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

When I was reading source codes of next.js, I found an interesting place, https://github.com/zeit/next.js/blob/canary/lib/router/router.js#L138.
We'd better to return true there? Those codes were introduced by #1250.
Current Behavior

Return without explicit boolean value.

@chinesedfan Thanks for the issue.
We just fixed it.


Cleanup minio tenant config

What doest this pull request do
Cleanup Minio.
Remove console service, because it is disabled.
Remove skip validation workaround for ArgoCD storage app.

/retest

/retest

Tagging the PR as HOLD. It only impacts local dev, so it can be merged during the freeze period. However we have important PRs going through at the moment, and I want to limit changes to the repository until they went through.

/retest

@xinredhat I see that, Minio on the Openshift was updated from 4.8 to 5.0.3, so maybe this bug was fixed... But will see...

Green.
/retest

Green
/retest

Green
/retest

Green
/retest

Green
/retest

Green
/retest

All Green, except destroy-cluster
destroy-cluster
/retest

Green. @xinredhat I executed ci about 12 times, I don't see any minio failing. So I give up for now. I guess this issue was fixed with newer Minio...

Green. @xinredhat I executed ci about 12 times, I don't see any minio failing. So I give up for now. I guess this issue was fixed with newer Minio...

@AndrienkoAleksandr thanks for the update.

@AndrienkoAleksandr There's a pending comment. Once you've processed it, remove the draft label if this PR is ready to be merged.

@Roming22 I handled your feedback


Suggestion: Add search button!

It has everything except a search button, would be amazing if you could add it

👍

yes please :D


In useSWRInfinite i want to get next page url along with data.

let's assume my data is in this format
{
"count": 4,
"next": "http://localhost:8000/api/?page=2&id=102&paginate_by=2",
"previous": null,
"results": [
{
"id": 153,
"name": "pre workshop"
},
{
"id": 154,
"name": "workshop"
}
]
}
now if write code in this way, I don't have the option to store next page URL
const fetcher = url => axios.get(url).then(res => res.data);
const { data, error, mutate, size, setSize, isValidating } = useSWRInfinite(
index =>
https://api.github.com/repos/${repo}/issues?per_page=${PAGE_SIZE}&page=${index +       1},
fetcher
);
I want to store data.results in data array and also store next page URL.
how can I achieve that

@shuding please help me out with this.
I want to pass arguments like this inside fetcher
const fetcher = url => axios.get(url).then(res =>
{
data = res.data.results;
next = res.data.next;
}
);

@shuding please help me out with this issue
I want my fetcher to be like this with arguments
const fetcher = url => axios.get(url).then(res =>
{
data = res.data.results;
next = res.data.next;
}
);

Please read the documentation: https://swr.vercel.app/docs/pagination#example-2-cursor-or-offset-based-paginated-api
There's a second argument for the getKey function: previousPageData. In your case just return the next endpoint URL based on that.

previousPageData

let's assume my api data is in this format
{
"count": 4,
"next": "http://localhost:8000/api/?page=2&id=102&paginate_by=2",
"previous": null,
"results": [
{
"id": 153,
"name": "pre workshop"
},
{
"id": 154,
"name": "workshop"
}
]
}
how can I pass res.data.next to getkey previousPageData
and make const data = res.data.results
@shuding

Please read the documentation: https://swr.vercel.app/docs/pagination#example-2-cursor-or-offset-based-paginated-api
There's a second argument for the getKey function: previousPageData. In your case just return the next endpoint URL based on that.

if this is the data format
GET /users?cursor=123&limit=10
{
data: [
{ name: 'Alice' },
{ name: 'Bob' },
{ name: 'Cathy' },
...
],
nextCursor: 456
}
then how can I concatenate data
@shuding please help me out with this
thanks in advance

@pacocoursey please help me with this

Please read the documentation: https://swr.vercel.app/docs/pagination#example-2-cursor-or-offset-based-paginated-api
There's a second argument for the getKey function: previousPageData. In your case just return the next endpoint URL based on that.

if this is the data format
GET /users?cursor=123&limit=10
{
data: [
{ name: 'Alice' },
{ name: 'Bob' },
{ name: 'Cathy' },
...
],
nextCursor: 456
}
then how can I concatenate data of first-page results with second-page results and so on ...
@shuding please help me out with this
thanks in advance

@varunkumargande if you want to concatenate the data, you can do it after the hook call:
const { data } = useSWRInfinite(...)
const mergedData = data ? [].concat(data.map(item => item.results)) : []

@varunkumargande if you want to concatenate the data, you can do it after the hook call:
const { data } = useSWRInfinite(...)
const mergedData = data ? [].concat(data.map(item => item.results)) : []

@shuding thanks, fixed my usecase


provide solution to run in browser

currently there is an option https://pyodide.org/ which coverts python module to webassembly, which works in browser.
lets isolate request generation part and provide it as module.
browsers/other js runtimes can use this to run.

here is poc. textx can be run in browser. all we need to do is to do is get object from dothttp.
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  <script type="text/javascript">
      // set the Pyodide files URL (packages.json, pyodide.asm.data etc)
      window.languagePluginUrl = 'https://cdn.jsdelivr.net/pyodide/v0.16.1/full/';
  </script>
  <script type="text/javascript" src="https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js"></script>
  <script type="text/javascript">
    pythonCode = `
      def do_work(*args):
        from textx import metamodel_from_str, get_children_of_type

        grammar = """
        Model: commands*=DrawCommand;
        DrawCommand: MoveCommand | ShapeCommand;
        ShapeCommand: LineTo | Circle;
        MoveCommand: MoveTo | MoveBy;
        MoveTo: 'move' 'to' position=Point;
        MoveBy: 'move' 'by' vector=Point;
        Circle: 'circle' radius=INT;
        LineTo: 'line' 'to' point=Point;
        Point: x=INT ',' y=INT;
        """

        class Point(object):
            def __init__(self, parent, x, y):
                self.parent = parent
                self.x = x
                self.y = y

            def __str__(self):
                return "{},{}".format(self.x, self.y)

            def __add__(self, other):
                return Point(self.parent, self.x + other.x, self.y + other.y)

        mm = metamodel_from_str(grammar, classes=[Point])

        model_str = """
            move to 5, 10
            line to 10, 10
            line to 20, 20
            move by 5, -7
            circle 10
            line to 10, 10
        """

        model = mm.model_from_str(model_str)

        def cname(o):
            return o.__class__.__name__

        position = Point(None, 0, 0)
        for command in model.commands:
            if cname(command) == 'MoveTo':
                print('Moving to position', command.position)
                position = command.position
            elif cname(command) == 'MoveBy':
                position = position + command.vector
                print('Moving by', command.vector, 'to a new position', position)
            elif cname(command) == 'Circle':
                print('Drawing circle at', position, 'with radius', command.radius)
            else:
                print('Drawing line from', position, 'to', command.point)
                position = command.point
        print('End position is', position)

        points = get_children_of_type("Point", model)
        for point in points:
            print('Point: {}'.format(point))
      import micropip
      micropip.install('textx').then(do_work)
    `

    languagePluginLoader.then(() => {
      return pyodide.loadPackage(['micropip'])
    }).then(() => {
      pyodide.runPython(pythonCode);
    })
  </script>
</body>
</html>

[ ] provide .wasm, .js  (with minimalist packages)
[ ] parse and provide object to js runtime
[ ] js runtime will unwrap object and uses it to run curl

(wasm)[https://github.com/cedric05/dothttp/tree/wasm] branch has poc changes.
loadable html code is here.
<html>
<head>
  <meta charset="utf-8">
</head>
<body>
  <script type="text/javascript">
      // set the Pyodide files URL (packages.json, pyodide.asm.data etc)
      window.languagePluginUrl = 'https://cdn.jsdelivr.net/pyodide/v0.16.1/full/';
  </script>
  <script type="text/javascript" src="https://cdn.jsdelivr.net/pyodide/v0.16.1/full/pyodide.js"></script>
  <script type="text/javascript">
    pythonCode = `
      def haha(*args, **kwargs):
        from dothttp import Config, HttpDefBase
        class content_override(HttpDefBase):
            def load_content(self):
                self.original_content = self.content = """@name(test)
                POST https://httpbin.org/post
                ? haha = ramu
                ? haha = ramu
                // ? haha2 = ramu
                ? haha3 = ramu
                json({
                    "this is first level" : "this is second level",
                    "this is first level2" : "this is second level"
                })
                """
        def main():
            out = content_override(Config(target="1", no_cookie=True, property_file=None, experimental=False, format=False,
                                        stdout=False, debug=True, info=False, curl=False, env=[], file="", properties=[]))
            out.load()
            out.load_def()
            print(out.httpdef)
        main()
      import micropip
      micropip.install(['textx', 'http://localhost:8000/dothttp_req-0.0.10.dev0-py3-none-any.whl']).then(haha)

    `
    languagePluginLoader.then(() => {
      return pyodide.loadPackage(['micropip'])
    }).then(() => {
      pyodide.runPython(pythonCode);
    })
  </script>
</body>
</html>

packaging current solution is still pending, hopefully we will get some answers...
https://github.com/iodide-project/pyodide/discussions/1379

code changes are available in v0.0.10, checkout
https://pypi.org/project/dothttp-req-wasm/


Add missing react import

Codecov Report

Merging #221 into master will decrease coverage by 6.97%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #221      +/-   ##
==========================================
- Coverage      35%   28.02%   -6.98%
==========================================
  Files         108      104       -4
  Lines        3271     2876     -395
==========================================
- Hits         1145      806     -339
+ Misses       2126     2070      -56


User data safety

This implements a safety mechanism regarding foreign wayland objects and user_data:
When wrapping a wayland object, we try to recognize a magic pointer we stored in its implementation (that we don't use because we have a custom dispatcher). If this pointer is not there, this means this object is not ours, and we act conservatively and don't try to read its user_data or manage it in any way.

All this is obviously a breaking change, and will trigger the release of version 0.9.
I'll try to polish the API as much as possible regarding this before merging this PR.


Allow zero samples in RandomGamma

Fixes #7406.  Instead of an error with zero samples,
we now return a zero-shape tensor.

Can one of the admins verify this patch?

I signed it!

@tensorflow-jenkins test this please

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.

Jenkins, test this please.


[GSB] Remove constraints derived from concrete conformances

When an otherwise abstract constraint can also be derived from a concrete conformance, the path via the concrete conformance caused the abstract constraint to be considered redundant. However, this depends on the idea that the concrete conformance itself is always recoverable and usable---which it isn't.
Therefore, remove constraints derived via a concrete conformance so long as there is some other path to get to that constraint. That way, the abstract derivation of the constraint will remain, and be part of the resulting generic signature.
This fixes a class of annoying bugs where adding a redundant constraint can break the generic signature (losing requirements), including rdar://problem/31163470,  rdar://problem/31520386, and SR-4458 / rdar://problem/31375569.

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge

@swift-ci please smoke test and merge


feat: introducing experimental section

What does this PR do?
First step of https://github.com/podman-desktop/podman-desktop/issues/10226.
This PR add a new Experimental section in the settings. I moved the docker compatibility and tasks to the experimental (as they are?).
❓ I hardcoded the the flask icon on the frontend, not sure if we want to add the full logic of adding an icon to the configuration..
Screenshot / video of UI

What issues does this PR fix or reference?
Related to https://github.com/podman-desktop/podman-desktop/issues/10226
How to test this PR?

[x] Tests are covering the bug fix or the new feature

I think we are fine getting it on the left side as well - it drives a bit more attention onto the section as well.

there should not be any hardcoded stuff
some changes are refactoring and should not be part of this PR

The way the navigation are build is complicated we cannot create an experimental section, it is generated by using parentId.
Here is what the frontend has access
https://github.com/podman-desktop/podman-desktop/blob/0698e4d2fd1f3fcb64bfc8d66a96003545b6ee89/packages/renderer/src/stores/configurationProperties.ts#L34
We have a store of Array<IConfigurationPropertyRecordedSchema>, let's look at what it is
https://github.com/podman-desktop/podman-desktop/blob/e9eb09390bed6c7f96fef2eebfdf66a416839b62/packages/main/src/plugin/configuration-registry.ts#L51-L55
Each configuration property has a parentId, which is a string, and only exist has a string. Here is the code transforming the Array<IConfigurationPropertyRecordedSchema> into a Map<string, IConfigurationPropertyRecordedSchema>.
https://github.com/podman-desktop/podman-desktop/blob/138ed5fd30fb1ff38b079d049183dd1ff44c9940/packages/renderer/src/PreferencesNavigation.svelte#L53-L68
When we look at the navigation created here is the interesting part
https://github.com/podman-desktop/podman-desktop/blob/138ed5fd30fb1ff38b079d049183dd1ff44c9940/packages/renderer/src/PreferencesNavigation.svelte#L92-L94
Today, (not in this PR) there is a single parentId, which is preferences, so we only see the preferences navigation.

some ids are changed from 'preferences.experimental.tasks' to 'experimental.tasks'

The parentId yes, to create a new section, not to change the property id, the parent id are not used in the settings.json,
This can be visible by enabling the docker compatiblity, on main or on this branch we still get the same change
{
  "dockerCompatibility.enabled": true
}

We do not use the parentId, it seems it is only used to group together the settings under preferences.

and IMHO we should have to change ids at all

It depend on what we want to do here, changing the parentId allow to use the existing code to create a new section.
If we want to keep the id, we need to add a new property experimental?: boolean, create a new section, change the implementation of PreferencesNavigation.svelte to filter out the properties with this flag, add some kind of new section, of find a way to provide from the backend to the frontend the info about the parent node, because currently we only guess the parentId, by parsing it and splitting using ..

On the mockup the icon was on the right. Here it looks very odd to have only one item with an icon (so I would even moved out the icon from the first PR)

I asked here https://github.com/podman-desktop/podman-desktop/pull/10371#issuecomment-2545709783 and got a response here https://github.com/podman-desktop/podman-desktop/pull/10371#issuecomment-2545805907
I don't mind doing the change, I don't have any opinion on that.
To comment the steps

refactoring

Depends on how we want to achieve

experimental section added

This is not something doable with how the preferences section is added currently

icon for experimental

If we want to define the icon from  the backend side, what do we use ? icon.woff2 ?
ℹ side note, personal opinion, the configuration system and navigation settings are extremely complicated, and this is frustrating to work with. For example the Kubernetes navigation use a registry and a custom navigation system (ref https://github.com/podman-desktop/podman-desktop/pull/8833) where the settings don't, there is a lot of duplicate code due to this change, and this makes very long to understand how the code works together. If we want to migrate the settings to work the same way the Kubernetes navigation work this issue should be moved away at least to the next sprint because this cannot be done all together in a single sprint.

hello,

regarding the experimental setting, it needs to be a mode (like hidden) so yes we need to bring a new attribute to declare a configuration setting being experimental.

Because we want to able to filter the settings, not touching any ids and removing the flag is just removing the attribute.

Once we added the attribute to all the settings that we want, (in the future it means that we would avoid to have to name it with experimental in the setting's name) then it's how to have a category to display/filter them. Also AFAIK we still want to be able to see the settings in their own categories.

adding the icon is for me an incremental step (it's the friction point in the discussion so I would move it out of the initial enhancement)


Go to 'Account'

Describe the bug
A clear and concise description of what the bug is.
[REPLACE WITH BUG DESCRIPTION]
To Reproduce
Steps to reproduce the behavior:
[EXAMPLE STEP TEMPLATE BELOW: FILL IN INFO AND ADD/REMOVE STEPS AS NEEDED]

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
 PUT N/A IF YOU ARE UNSURE.]
Screenshots
If applicable, add screenshots to help explain your problem.
[PASTE IMAGE HERE.
 PUT N/A IF THERE IS NONE]

Go to 'Account'

JordanVollenweider Thanks for reporting this. This behavior was reported already in issue #48 and will be addressed in the next release.

@JordanVollenweider  Thanks for reporting this. This behavior was reported already in issue #48 and will be addressed in the next release.


i18n(fr): fix typo in glossary

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description
Fixes typo

Merci, @MoustaphaDev!


non task health check

do not use 'launchTasks' for health-check and other status inquiries

Please rebase on current mesosphere:rewrite


Steering committee needs more selection details

Howdy!  I'm coming over from the CNCF where we're working on something similar, which you can see in our Project Template.
Currently the Charter document names a Steering Committee, but doesn't say anything about how that committee is selected.  It would be useful to give some examples/options of how a committee could be selected.
Alternately, we decided that the actual MVG was the "maintainer council" model, where the people who have approver rights are identical to the people who have governance authority, which is the de facto way that most small independant projects run.  Anyway, check out our repo for some ideas.  Also happy to sync up directly at some point.

Howdy! I'm coming over from the CNCF where we're working on something similar, which you can see in our Project Template.

Howdy @jberkus - glad to see other work in this area!

Currently the Charter document names a Steering Committee, but doesn't say anything about how that committee is selected. It would be useful to give some examples/options of how a committee could be selected.

The initial state would be negotiated by the folks interested in the collaboration. And then Section 2.2 of the Charter has additions or subtraction by 3/4 vote of the Steering Committee.

Alternately, we decided that the actual MVG was the "maintainer council" model, where the people who have approver rights are identical to the people who have governance authority, which is the de facto way that most small independant projects run.

Agree! For each project, the project governance document states that the maintainers govern -- appeals can be made to the steering committee of the organization.
It strikes me that we might have a naming problem. In MVG the intent is that the Steering Committee can oversee a number of (likely) overlapping projects. I think the analog in CNCF would be the Governing Board. MVG also tries to capture the de facto standard that most individual projects are governed by the maintainers. Keeping this structure in mind, any other thoughts on SC structure?
Feel free to reach out to me at my handle @github.com - would love to chat about this or any other feedback or thoughts more generally on project/organization governance.

Ah, I don't think it's clear at all the division between individual project and meta-project.  I certainly wasn't to me when I started poking around.  Perhaps a guide?
In general what's missing from these governance docs is any information about how people are selected/promoted and removed, which is key to governance anywhere.  I do really like your "How we work" sections though, if licensing is compatible I might copy those for some of our docs.

Thanks @jberkus.

I don't think it's clear at all the division between individual project and meta-project. I certainly wasn't to me when I started poking around. Perhaps a guide?

Take a look at the excellent feedback and ideas around that guide in Issue #7. I'm partial to the tree feature from @spier, but would love any thoughts you might have on the two proposals or any other thoughts you have.

In general what's missing from these governance docs is any information about how people are selected/promoted and removed, which is key to governance anywhere.

They are selected and removed by the existing members of either the maintainers or the steering committee. Do you mean the docs are silent regarding criteria for selection or removal? If so, that is currently on purpose at both levels so that the docs remain flexible, but I'd be very interested in thoughts on whether there is one standard way to do it at either the steering committee or maintainer level. I do want to avoid a garden of forking paths leading to different forms. A bit more on why we've gone with that design choice thus far:
At the steering committee level there are many different reasons that people or organizations come together to collaborate and who is on the steering committee might differ depending on the context of the collaboration and relationships between the people and institutions involved. The default of adding or removing with 3/4 approval might lead to discussion between the initial group to make sure that each group of people or institutions are adequately represented so that the steering committee has no hostile takeover by some subset of interested parties (e.g. employees of the same corporation).
At the maintainer level, allowing the maintainers to set criteria in the contributing document and then approve new maintainers I think is pretty standard. Though I'm not aware of harmonized criteria for becoming a maintainer that's widely accepted. Being a lawyer and not an engineer I very much accept that I might have a huge blindspot here and perhaps there is a great contributing ladder that has wide adoption we could plug in -- would love to find such a thing.

Closing this issue and continuing the conversation in Issue #7


Code validation: validate-exists marker

This PR adds validation for blocks which have a // @validate-exists comment. This allows validation for blocks without requiring the block to be highlighted. In the tutorial markdown, tutorial authors will specify at the global scope which markers to use for validation: exists, highlight, or both (exists, highlight). If no markers are specified, it defaults to using highlight.
```validation.global
# BlocksExistValidator
* markers: exists, highlight
```

Note that if both exists and highlight are specified as markers and one block has both // @validate-exists and // @highlight, that block will be counted twice.
This also sets up future work to support multiple validate comments on one block. For example, you might have a // @validate-sequence and // @validate-exists on one block.

The change seems okay if this is the approach we want to take (and I'm not strictly against it), but I do wonder: is there ever a scenario where the user would have //@validate-exists comments but not specify the exists marker? If not, would it be better to simply have that comment always get checked and optionally have a flag to disable looking at highlight blocks (rather than the whole marker system)?
I know you mentioned we might extend the marker system later on for things like sequence. I'm not totally sure I see how that would work without a concrete example, but I do wonder if it'd be better to wait and only add the complexity once we need it. I suppose the downside is, if we went that route, we'd have the ignoreHighlights flag separate from the markers, which could be a bit confusing...
Main takeaway - do we have a concrete example of how these markers will be extended in the future? I think that'd be helpful in understanding the goals of the marker system as a whole.

Alternatively we could keep all of this the same but not expose markers to the user (yet), then just have "exists, highlight" as the default and expose an ignoreHighlights flag they can set which, behind the scenes, removes the marker. That way we keep the flexibility of the system without locking ourselves to it completely should we decide to do things differently down the road.


Include L2 native tokens as part of TVL calculation

We're starting to see the creation of tokens that are native to L2 systems that don't necessarily have corresponding L1 tokens. Currently, L2Beat only seems to track the value of ETH + ERC20 tokens locked up in the various token bridges for the project. If L2 native tokens aren't considered as part of the TVL, this could create a perverse incentive for projects to create the token on L1 and send the full balance to L2 simply to increase TVL numbers on L2Beat. I think L2 native tokens will become more and more popular, and ultimately they do represent valid TVL and should be represented on L2Beat.

I still think L2 native tokens should have to pass the basic requirements (mainly top 300 coingecko), but at least the infrastructure should exist for including these tokens.

Finding a good metric for including a token is very tricky. You want to include tokens that seems to be very legit, like LYRA on Optimism, but at the same time, you don't want meme tokens like HOKK which, if bridged to any L2, would inflate TVL of that L2 to trillions of dollars.
Tracking native L2 tokens require some architectural changes to L2Beat backend, and it should be done. But the issue remains - which tokens should be included. I would welcome more community input on this issue.

I agree that it's important to create a reasonable standard. I'm not sure what the best approach here is. I'll do some thinking about this.

If we take LYRA as an example, there are some further problems to consider:

It is a fixed supply token (1B) issued on L1, which should make things easier, but ...
CS (Circulating Supply) is unknown, CMS claims that self-reported CS is 65M, just 6.5%
10% of supply was bridged to L2, presumably to distribute rewards to L2 users of Lyra. How much of it is CS is unknown
Point is - even with token minted on L1 with fixed supply we have no idea how much of that 10% of supply that is bridged to L2 is in circulation. Ignoring CS will lead to ridiculous numbers, accounting for CS is very hard if not impossible

closing as we are reworking TVL


MouseEvent position varying according to layers scale

🐛 Bug
The MouseEvent position doesn't seem to be mapping to the correct position in the canvas when the layers have different scales.
I'm reproducing this bug by setting the current step of the viewer to the position where the mouse double click was captured. I expected the viewer to stay at the same step, but it moves, hence event.position is not at the current_step. Is this expected?

The layer's world_to_data transform also doesn't take this into account, you can see with the print that no transformation is done.
My guess is that the scaling of the layers results in a shift (rounding/interpolation) in the data and this is not taken into account.
To Reproduce
Steps to reproduce the behavior:

Execute the following code:

import napari
import numpy as np

def double_click(layer, event):
    print('world', event.position, 'data', layer.world_to_data(event.position))
    viewer.dims.set_current_step(range(4), event.position)

x = np.zeros((5, 25, 50, 50))
y = np.zeros((100, 50, 50, 50))

viewer = napari.Viewer()

x_layer = viewer.add_image(x, scale=(20, 2, 1, 1))
y_layer = viewer.add_image(y)

x_layer.mouse_double_click_callbacks.append(double_click)
y_layer.mouse_double_click_callbacks.append(double_click)

viewer.dims.set_current_step(0, 100)
viewer.dims.set_current_step(1, 41)

napari.run()

Double click anywhere in the canvas and notice that the planes are changing.

Expected behavior
I didn't expect it to change the plane since I'm setting the step to the position where the click occurred.
Environment
napari: 0.4.11.dev364+ge7ff53a0
Platform: Linux-5.11.0-40-generic-x86_64-with-glibc2.17
System: Ubuntu 20.04.3 LTS
Python: 3.8.10 (default, Jun 4 2021, 15:09:15) [GCC 7.5.0]
Qt: 5.15.2
PyQt5: 5.15.4
NumPy: 1.20.3
SciPy: 1.7.1
Dask: 2021.07.1
VisPy: 0.9.4

OpenGL:
- GL version: 4.6.0 NVIDIA 460.73.01
- MAX_TEXTURE_SIZE: 32768

Screens:
- screen 1: resolution 3440x1440, scale 1.0

Additional context
It should be noted as well, that the 0-axis displays a length longer than the length of the largest data (100)

This behavior exists for a while, it never bothered me, but now I think it's related to the interpolation of the data after the scaling. So it could be related to the bug.

@JoOkuma I tried the code snippet in main
c95f4b68a57154ddb0b65354a1be9d191dca2014
and I don't get any strange behavior, just the expected (?) print:
world (99.0, 41.0, 21.498198859064274, 39.00870470341276) data [99.         41.         21.49819886 39.0087047 ]

Is this still an issue for you?


Kotlin idioms

Fixes all Detekt issues and replaces some Java APIs with Kotlin idioms.
Follow up #924.

This depends on #1064, merge that first.

If we are ready to land this, may merge #1064 first, then rebase this to check the API changes.


[NSA-8291] Show/hide content based on  option chosen

Ticket: https://dfe-secureaccess.atlassian.net/browse/NSA-8291
Changes:

Added a dev:windows command to the package.json file, so that the environment variable is set correctly and doesn't cause an error.
Added an additional class (.show-when-js-disabled) to the CSS, as js-hidden hides elements and expected JS functionality. The new class allows content to stay visible if JS is disabled, and the element has both js-hidden and show-when-js-disabled.
Added show/hide content functionality for <select> elements:

If the select's parent contains the data-target attribute, it will be picked up by the show-hide-content script.
The data-option value on the select element specifies the value which will show the content.
The optional data-clear value on the select element specifies whether or not the target's content will be cleared when the select option changes.

Removed aria-hidden attribute being set/removed when content is shown/hidden as the MDN Docs specify that aria-hidden should not be added to elements where display: none and visibility: hidden are used, as it's unnecessary.
ESLint fixes for the whole show-hide-content script.

Verified on Test ENV. LGTM


Tag a release?

Hello,
It’d be very helpful if you could tag a release so we know the code there is stable and can be used. I work on Homebrew and we provide a way to install git-hg but we rely on the git HEAD so can’t provide checksums and can’t ensure users will always get the same code depending on the time they install it, making it harder for us to debug issues.
Thanks!

Ping?


Fix a quoting bug in the storage doc. [phab:D799]

Created by fromberger at 2016-03-29 14:49:07:
ASCIIdoc requires curly brackets to be quoted, lest they get sucked up
by the macro processing facility.

schroederc accepted this revision at 2016-03-29 15:39:59

fromberger closed via commit e7629e6709233497b5f6748d2bbec670316916e3 at 2016-03-29 15:40:32


[FLINK-14296] [Table SQL] Use Optional for optional parameters in parser module

Brief change log

partitionKeyList / columnList / propertyList cannot be null because we initialize them as SqlNodeList.Empty as default, so add unit tests to verify their value and replace the null value check with size check.
return optional value when calling #getComment().

Verifying this change

Unit Testing.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no

As per the code style guide, optionals should not be used for class fields.

Thanks for pointing it out. Sorry I didn't notice that before. It's fixed now.

@flinkbot run travis

@flinkbot run travis

@wucho  @danny0  Thanks for your review and I've improve the code according to most of your comments.

@danny0405 @wuchong @dawidwys  Thanks for you review!


Copy/Cut and Paste doesn't work

Copy/Cut and Paste has never worked for me and other people I work with in Filemin on CentOS 6 and 7. We have been using Filemin since before it was included in Webmin. No matter what destination you select, this error always comes up:
"Following errors occured while performing operation
Pasting to the same directory makes no sense"
Also, the old Java File Manager allowed copying and pasting into the same folder but it would ask for an alternate file name. That made it very easy to do a quick backup of an individual file while leaving it in the same directory. In that situation pasting into the same directory does actually make sense since it's the only way to duplicate a file.

Will add this to 1.1.2

@Anialation81 With Authentic Theme 17.80+ you will be able to paste to the same folder with new name: (using default distribution of Filemin (0.9.6))
https://rostovtsev.ru/pub/src/authentic/17.80b/file-manager-pasting-files-with-the-same-name-into-current-directory.webm
:wink:

..this will also work for directories..

..and when copying to the other directory, there will be a prompt for replacing/copying with new name..
http://rostovtsev.ru/pub/src/authentic/17.80b/file-manager-pasting-files-with-the-same-name-into-different-direcotry-using-prompt.webm

What's the content of yours ~/.filemin/.buffer?

Version 1.1.2 allows copy/paste to the same directory, this will create something like this filename_copy.ext. Go grab it.


Slingshot SEO

Node version: v6.9.4
npm version:3.10.10
Operating system: Win 10 x64
Using the fetch as google tool I've noticed that any site made with react boilerplate just seems to be showing up as a black box and doesn't render any of the content. Beyond going with the server rendered method or something like prerender.io (but not excluding them, I'd be interested in any methods) is there any other things I can do to get my react content to render? This is partly a search engine issue and partly a developer issue so I'm interested in anything I can do as a developer.
I love the boilerplate, but I may need to add some server side rendering to deal with the SEO issue.
I noticed there wasn't an issue on the topic of SEO here so I figured I'd bring it up as an issue to discuss.
Any suggestions on how to improve the SEO using slingshot? Even if they're tricks/hacks.

I wouldn't suggest using this boilerplate if you care about SEO. I'd suggest choosing one with universal rendering out of the box. Many great options out there: http://andrewhfarmer.com/starter-project/


Extension issue

Issue Type: Bug
Extension Name: LiveServer
Extension Version: 5.6.1
OS Version: Windows_NT x64 6.3.9600
VSCode version: 1.52.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

Live server not show in status bar


Dalaran workers and elites should transform when taking the Nexus path

Moving to 2.0 as Nexus is staying in 2.0.

@SebastianTanoni Was this how it worked in the vJASS version? I can't find anything on the subject.

Nah, it didnt work like that

Excellent, then I'll leave that to you to either do or close.


tests, README: How to run tests against an external cluster

What this PR does / why we need it:
Provide instructions on how to run the e2e tests on an existing kubevirt cluster.
Release note:
NONE

/cc @RamLavi @danielBelenky @enp0s3

I mainly used @enp0s3 and @danielBelenky instructions when trying to run it myself.
I hope we can formalize this so all can use a single procedure.

/lgtm

its not README , since there is a script, maybe worth to change title ?

its not README , since there is a script, maybe worth to change title ?

Done

Changes: Updated the README and script based on the latest review comments.

maybe worth to change PR title + desc ,
Mechanism / script for running tests on external cluster,
instead how to oriented ?

Thanks
/lgtm

Changes:

Removed the creation of the kubevirt namespace (not needed).
Removed the polarion arguments as they are not mandatory.

/assign @AlonaKaplan

maybe worth to change PR title + desc ,
Mechanism / script for running tests on external cluster,
instead how to oriented ?

I can add "Document" before the "How", all the rest seems fine to me.

maybe worth to change PR title + desc ,
Mechanism / script for running tests on external cluster,
instead how to oriented ?

I can add "Document" before the "How", all the rest seems fine to me.

Since its also a tool, i think the title should reflect it,
if it was a core change, it would be important, because , at least for myself, when i git log and read the titles,
i overlook on stuff that start with doc and so on,
but here its not a core change but an external, so its up to you, but in my opinion, title should be more explicit here
and adhere the the "how to create commits messages" you sent once, unless it does already.

Since its also a tool, i think the title should reflect it,
if it was a core change, it would be important, because , at least for myself, when i git log and read the titles,
i overlook on stuff that start with doc and so on,
but here its not a core change but an external, so its up to you, but in my opinion, title should be more explicit here
and adhere the the "how to create commits messages" you sent once, unless it does already.

The subject expresses the main objective of the change, and in this case it is to document how to run tests on external clusters. The script is a small helper to assist with that, nothing more.

/lgtm

change: Rebase.

This document definitely needs a revamp. It is now however extremely overlapping with our getting started guide. And also please don't recommend commands which don't go through makefile targets.

It is partially overlapping but it is in a more focus position by being under the test folder and addressing a specific goal of running the tests against an external deployed cluster. The getting started guide lacks details and is less focused.
Is there something you suggest to make this better? (e.g. remove from the user guide details and ref this readme)


[ADD] Support for backend and PS 1.7

Support for backend urls and also the few urls in the backend that use symfony framework in PS 1.7

Thanks for the PR, Mikel


add sigstore-bot to policy-controller repo to be able to push releases

Summary

add sigstore-bot to policy-controller repo to be able to push releases

similar config we have with cosign/rekor/fulcio repos
Release Note
n/a
Documentation
n/a

cc @vaikas @hectorj2f


Can we support to transmit annotation from CNI to runtime?

What is the problem you're trying to solve
Some runtimes like clear containers or kata-containers, the runtimes may not directly use the net devices in the pod's network, so we need transmit some configs like annotations to runtimes which generated by the CNI.
For example, when the ovs-dpdk mode like kata-containers, we need to tell the kata-container runtime to use the specific vhost-user-socket path which created by CNI.
The annotation may be smaple like this:
pod_nic_status: {"eth0":{"address":["<IP_ADDRESS>/24"],"path":"/var/run/openvswitch/v-bkufwys4yyryy","katamac":"5e:44:08:1f:35:73","uuid":"0ca76712-63c9-4962-a845-49bc93fbd0d3"}}
Describe the solution you'd like
Now the containerd will run CRI plugin firtly, and then run the runtime flow. I want to allow some var of CNIResult to transmit to the pod container.
One way to like this:

Add new var like addations map[string]string in CNIResult
Transmit the CNIResult.addations to the pod container annotations

Additional context
`
type Result struct {
Interfaces map[string]*Config
DNS        []types.DNS
Routes     []*types.Route
raw        []*types100.Result
}
`

I think it should be handled in upstream first. https://github.com/containernetworking/cni/issues/582 :)

yes, you are right.  but that issue has none update two years, disappointing : (

I think it should be handled in upstream first. containernetworking/cni#582 :)

cc @MikeZappa87 should we consider this as CNI enhancements? 😄

@fuweid hey I will take a look at this tomorrow slipped through the cracks!

is not fixed in https://github.com/containerd/containerd/pull/5026?

This looks like the ask is to have the cni result modified to include fields so the runtime can do something with it? I wonder if the NRI would be useful here as well.

is not fixed in #5026?

Thanks, this commit can solve my question, but there is none documents about io.kubernetes.cri.pod-annotations in CNI

@yiya1989 we are discussing something similar in: https://github.com/containernetworking/cni/issues/1050


Closes softlayer/sl-ember-components#973

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from the review on Reviewable.io


You can avoid users needing to install syntax-jsx

Was looking at this module investigating an unrelated issue and noticed your current setup requires users to enable the syntax plugin, so wanted to comment. You should be able to include babel-plugin-syntax-jsx as a dependency of this plugin itself to avoid your users needing to think about it. As long as its in your dependencies and you use inherits like you already do, it should just work.

@loganfsmyth Thanks for that, I've made the change to package.json and published it. :)

Happy to help :)


Tweaks

This is a collection of "old" tweaks I have lying around (extracted from #297 actually).
Most of them should be independent, but there are some "breaking" API changes in c31df0c & 80dac00 which change what's returned as a name — e.g. old refs/heads/master/refs/heads/origin/master (the underlying reference name) vs new master/origin/master).

@pietbrauer Just noticed I opened this some time ago now. Can it be merged ?
Well, going through the changes, I feel that some more tests would be nice...

@tiennou if you feel you need to add tests I am all for it. Will have a look once they are in

I'll try to then. I may also have some more minor tweaks I found recently : we needed a -[GTCommit parentOIDs] call, which libgit2 has but we don't wrap directly, and -[GTOID hash] allocates an NSData just for hashing purposes (which showed up in profiles when graphing with GitX).

(Re-)rebased against master.
I wrote tests for the major parts, as I don't think it's worthwhile to test things like accessors. Unless you want me too 😉. I also added a few things from GitX, and I'll make another PR with the proposed hashing changes.

Looks good to me but could you fix the indentation in GTRepository.m?
From 36be9eef09a7d659061d07134472ad965c5d273e Mon Sep 17 00:00:00 2001
From: Piet Brauer<EMAIL_ADDRESS>Date: Wed, 28 Jun 2017 22:11:50 +0200
Subject: [PATCH] Fix indentation

---
 ObjectiveGit/GTRepository.m | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/ObjectiveGit/GTRepository.m b/ObjectiveGit/GTRepository.m
index cf181a0..e455da7 100644
--- a/ObjectiveGit/GTRepository.m
+++ b/ObjectiveGit/GTRepository.m
@@ -325,7 +325,7 @@ struct GTRemoteCreatePayload {
 		return nil;
 	}

-    return [GTObject objectWithObj:obj inRepository:self];
+	return [GTObject objectWithObj:obj inRepository:self];
 }

 - (id)lookUpObjectByGitOid:(const git_oid *)oid error:(NSError **)error {
@@ -402,8 +402,8 @@ typedef void (^GTRepositoryBranchEnumerationBlock)(GTBranch *branch, BOOL *stop)
 	git_reference *gitRef = NULL;
 	int gitError = git_branch_iterator_new(&iter, self.git_repository, (git_branch_t)type);
 	if (gitError != GIT_OK) {
-        if (error) *error = [NSError git_errorFor:gitError description:@"Branch enumeration failed"];
-        return NO;
+		if (error) *error = [NSError git_errorFor:gitError description:@"Branch enumeration failed"];
+		return NO;
 	}

 	git_branch_t branchType;
@@ -416,11 +416,11 @@ typedef void (^GTRepositoryBranchEnumerationBlock)(GTBranch *branch, BOOL *stop)
 	}

 	if (gitError != GIT_OK && gitError != GIT_ITEROVER) {
-        if (error) *error = [NSError git_errorFor:gitError description:@"Branch enumeration failed"];
-        return NO;
+		if (error) *error = [NSError git_errorFor:gitError description:@"Branch enumeration failed"];
+		return NO;
 	}

-    return YES;
+	return YES;
 }

 - (NSArray *)localBranchesWithError:(NSError **)error {
--
2.12.2

Made the requested indentation fixups, and rebased !


 I though https://github.com/prometheus/procfs/pull/314 should have fixed this.

I am packaging the latest released version 0.1.3 / 2020-06-14. I will try with a patch from master.

Ok it works with x86_32 now. And armv7hl fails with another reason.


Error installing manually

Maybe I'm doing something wrong, but I can't install the software.
Can you help me?
Thanks in advance.
My npm version is: 6.9.0 and i'm running it as root
Here i put the command that I executed:

cd /tmp
git clone https://github.com/kuun/xdebug-trace-viewer.git
cd /tmp/xdebug-trace-viewer
npm install gulp-cli -g
/usr/bin/gulp -> /usr/lib/node_modules/gulp-cli/bin/gulp.js

<EMAIL_ADDRESS>updated 1 package in 7.303s

root@test:/tmp/xdebug-trace-viewer# npm install

<EMAIL_ADDRESS>postinstall /tmp/xdebug-trace-viewer/node_modules/core-js
node scripts/postinstall || echo "ignore"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!
The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:

https://opencollective.com/core-js
https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)

<EMAIL_ADDRESS>postinstall /tmp/xdebug-trace-viewer/node_modules/electron
node install.js

/tmp/xdebug-trace-viewer/node_modules/electron/install.js:49
throw err
^
Error: EACCES: permission denied, mkdir '/tmp/xdebug-trace-viewer/node_modules/electron/.electron'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-10-02T10_36_02_291Z-debug.log

Error: EACCES: permission denied, mkdir '/tmp/xdebug-trace-viewer/node_modules/electron/.electron

maybe you don't have permession to create directory '/tmp/xdebug-trace-viewer/node_modules/electron/.electron',

please try newer version nodejs

If you run npm with root, please try:
npm install --unsafe-perm=true --allow-root

Finally it works!
My final recipe to install was as standard user (non root):
cd /tmp
git clone https://github.com/kuun/xdebug-trace-viewer.git
cd /tmp/xdebug-trace-viewer/
sudo npm install gulp-cli -g
npm install
npm run ejs
npm start
The difference with the README recipe is that I need to prepare with sudo: "sudo npm install gulp-cli -g", otherwise I have reports as: Error: EACCES: permission denied, access '/usr/lib/node_modules/gulp-cli'
Thanks so much for your time! ;)


[ClangImporter] Add missing end-iterator check in Clang diag emission

This caused non-deterministic crashes when a high number of modules containing diagnostics were compiled for the first time. The 9-entry test case results in a crash on 64-bit macOS when run under Guard Malloc without this change.
rdar://problem/33515925

@swift-ci Please smoke test

@swift-ci Please ASan test


Fix content warning issues over https

Obvious Fix

@manixate Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@manixate Thank you for signing the Contributor License Agreement!


defineSupportCode has been deprecated.

See https://github.com/cucumber/cucumber-js/blob/master/CHANGELOG.md

Any update on this?


Frozen is not completely immutable.

A while ago, I tried to invent a god-tier immutable dictionary. Thought for a while, it is the ultimate immutable dictionary out there. Later on, I discovered that it is also mutable because of the object.__setattr__ method. Then tried it out on the frozen decorator of this package, and it turned out that it is also affected by this method. I am not sure if the implementation of the built-in method object.__setattr__ is buggy, or maybe because everything in python is an object which makes that function run on any python object. Therefore, it is either a bug in attrs.frozen or object.__setattr__. Most likely the latter. But in case to reproduce the error, consider the following listing:
>>> from attrs import frozen
>>> @frozen
... class Foo:
...   bar: str
...
>>> foo = Foo("bar")
>>> foo["bar"] = 'foo'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Foo' object does not support item assignment
>>> object.__setattr__(foo, 'bar', 'foo has been pwned')
>>> foo
Foo(bar='foo has been pwned')

Looking forward to your response to confirm whether it is a bug in this package or the built-in object.__setattr__ method.

Our immutability is documented in https://www.attrs.org/en/stable/how-does-it-work.html#immutability  and also in our API docs:

There's also a non-significant amount of issues being opened asking about escape hatches form frozen classes, so all works as designed.


There is a error,I don't know how to do?ImportError: cannot import name 'IdGenerator' from 'mmdet.core' (D:\develop\anaconda\lib\site-packages\mmdet\core_init_.py)

Notice
There are several common situations in the reimplementation issues as below

Reimplement a model in the model zoo using the provided configs
Reimplement a model in the model zoo on other dataset (e.g., custom datasets)
Reimplement a custom model but all the components are implemented in MMDetection
Reimplement a custom model with new modules implemented by yourself

There are several things to do for different cases as below.

For case 1 & 3, please follow the steps in the following sections thus we could help to quick identify the issue.
For case 2 & 4, please understand that we are not able to do much help here because we usually do not know the full code and the users should be responsible to the code they write.
One suggestion for case 2 & 4 is that the users should first check whether the bug lies in the self-implemented code or the original code. For example, users can first make sure that the same model runs well on supported datasets. If you still need help, please describe what you have done and what you obtain in the issue, and follow the steps in the following sections and try as clear as possible so that we can better help you.

Checklist

I have searched related issues but cannot get the expected help.
The issue has not been fixed in the latest version.

Describe the issue
A clear and concise description of what the problem you meet and what have you done.
Reproduction

What command or script did you run?

A placeholder for the command.

What config dir you run?

A placeholder for the config.

Did you make any modifications on the code or config? Did you understand what you have modified?
What dataset did you use?

Environment

Please run python mmdet/utils/collect_env.py to collect necessary environment information and paste it here.
You may add addition that may be helpful for locating the problem, such as

How you installed PyTorch [e.g., pip, conda, source]
Other environment variables that may be related (such as $PATH, $LD_LIBRARY_PATH, $PYTHONPATH, etc.)

Results
If applicable, paste the related results here, e.g., what you expect and what you get.
A placeholder for results comparison

Issue fix
If you have already identified the reason, you can provide the information here. If you are willing to create a PR to fix it, please also leave a comment here and that would be much appreciated!

The code for IdGenerator is given here. Could you provide more details about what did you do? And could you check in the terminal that if the following snippets work?
from mmdet.core.utils import IdGenerator


Added info logging for remote client IP address to service operations.

Added info logging for remote client IP address to service operations.

Please increase version in setup.py.


New README with Appendixes

Created new README file for version 4.0, including appendixes (sort of separated tutorials) to organize information better.

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@bfa7468). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             dev      #98   +/-   ##
======================================
  Coverage       ?   93.54%
======================================
  Files          ?       14
  Lines          ?      217
  Branches       ?        0
======================================
  Hits           ?      203
  Misses         ?       14
  Partials       ?        0

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 bfa7468...56a0d54. Read the comment docs.


separate initial pinning from default pinning by a provider

Default provider currently is web3.storage
User runs IPFS daemon to pin locally at first -> then pins with a pinning provider

We decided not to have user run their own IPFS daemon because it adds mroe work on their local machine end


Is 1080p60 impossible?

Hi!
I have been trying to integrate voctomix into my workflow. I love the simplicity and power, but I'm having trouble mixing 1080p 60fps.
Everything works smoothly up to 41fps, but as soon as I go over 41fps voctomix seems to ignore my input.
Is this a known issue or is there a known workaround?

What CPU?
OS
sources and sinks?

I just figured out I had left in a source with video_mode commented out. Changed it from ";video_mode = 1080p60" to "video_mode = 1080p60" and now everything is working.
Sorry for the trouble and thanks for the help :)

@Gnarr it would still he nice to share which system you are operating on and, if possible, add your setup to the Wiki: https://github.com/voc/voctomix/wiki/CPU-works-works-not-Table

@MaZderMind Done :)
It's an i9 7900x running Ubuntu 19.04 with 2 sources and 1 sink.
The final setup will run on AWS. I will add more info once it is running.


ws: Include stdio.h before using stderr

It fixes the build on FreeBSD.
[11/16] Building CXX object CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o
FAILED: CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o
/usr/bin/clang++  -B/home/lantw44/.local/bin  -DWAYLAND_1_10_OR_GREATER -DWPEBackend_fdo_EXPORTS -DWPE_FDO_COMPILATION -D_THREAD_SAFE -I../include -I. -I../src -I/home/lantw44/gnome/devinstall/include/glib-2.0 -I/home/lantw44/gnome/devinstall/lib/glib-2.0/include -I/home/lantw44/gnome/devinstall/include/wpe-1.0 -march=corei7 -B/home/lantw44/.local/bin -pipe -g3 -O0 -gz -fdebug-macro -std=c++11 -fno-exceptions -fno-rtti -fPIC   -pthread -MD -MT CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o -MF CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o.d -o CMakeFiles/WPEBackend-fdo.dir/src/ws.cpp.o -c ../src/ws.cpp
../src/ws.cpp:341:17: error: use of undeclared identifier 'stderr'
        fprintf(stderr, "WPE fdo doesn't support multiple EGL displays\n");
                ^
1 error generated.

We should try and use the GLib logging functions, I have filed #54 for that.
@lantw44 BTW, thanks for the fix, at any rate it's great to have the build working on FreeBSD :ok_hand:


Virtual buttons

Some android devices have virtual nav buttons and this can cause the the last playercell in a listview to not be displayed fully.

Another example:

Another problem on Android is the constant Orange status bar.


Incomplete Data Reporting

Hello, I checked the operation in 2 Clusters type:
Kubernetes: v1.18.0
OS: Oracle Linux v7.8
Kernel: 4.1.12-124.26.5.el7uek.x86_64
Conf: IaC (based on identical template in both cases)
In one of the clusters it reports:
Node / worker1, created 13d ago
linux Oracle Linux Server 7.8 (amd64), kernel 4.1.12-124.35.4.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2
cpu: 0.107 / 1 (11%) <-
mem: 2.9GB / 7.1GB (42%) <-
ephemeral-storage: 2.2GB
images 50
Values of a node describe:
Addresses:
Hostname: worker1
Capacity:
cpu: 2
ephemeral-storage: 3030800Ki
hugepages-2Mi: 0
memory: 8155976Ki
pods: 110
Allocatable:
cpu: 1
ephemeral-storage:<PHONE_NUMBER>
hugepages-2Mi: 0
memory: 7005000Ki
pods: 110
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits

cpu 550m (55%) 200m (20%)
memory 562Mi (8%) 562Mi (8%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
And in the other Cluster reports:
Node / worker2, created 14d ago
linux Oracle Linux Server 7.8 (amd64), kernel 4.1.12-124.26.5.el7uek.x86_64, kubelet v1.18.2, kube-proxy v1.18.2
cpu: 5, mem: 7.1GB, ephemeral-storage: 2.2GB <--
images 50
Values of a node describe:
Addresses:
Hostname: worker2
Capacity:
cpu: 6
ephemeral-storage: 3030800Ki
hugepages-2Mi: 0
memory: 8156080Ki
pods: 110
Allocatable:
cpu: 5
ephemeral-storage:<PHONE_NUMBER>
hugepages-2Mi: 0
memory: 7005104Ki
pods: 110
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits

cpu 1710m (34%) 2200m (44%)
memory 2042Mi (29%) 450Mi (6%)
ephemeral-storage 0 (0%) 0 (0%)
hugepages-2Mi 0 (0%) 0 (0%)
In both cases, they are recent installations sharing versions and parameters with each other. I cannot understand the reason why in one it presents the CPU and Ram occupancy ratios correctly and in another case No.

I believe this was because of the existence of the metrics-server component. Major distributions have it deployed by default. But local dev environments don't have it deployed by default ( e.g. see https://github.com/kubernetes-sigs/kind/issues/398 and https://kubernetes.io/docs/tutorials/hello-minikube/#enable-addons)
The easiest way to check if you have it is to run kubectl get nodemetrics command. Check kubectl get nodemetrics -o yaml. if you are curious what's available in this resource, metrics-server is also used by kubectl top commands. you can also verify the same by running kubectl top node.

Duplicate of #165


Component watcher fired multiple times when passing props as array (in the template)

Version
2.5.21
Reproduction link
https://jsfiddle.net/eywraw8t/510740/
Steps to reproduce
Go to the reproduction link, run the code and watch the console.
What is expected?
First watcher (watcher one (A)) to be called only once.
What is actually happening?
First watcher (watcher one (A)) is called twice (at the same time that the second prop is modified).

Happens only when you pass a prop changed to array in the template.

This happens because you create a fresh array directly in the parent's template. Which means that everytime the parent re-renders (i.e. when you change valueTwo), ComponentOne receives a new array, which triggers the watcher, because ['A'] != ['A'].
If you define the array in the paren'ts data and pass it down, that would not happen.
See: https://jsfiddle.net/Linusborg/xjp4k60m/

Thx for the explanation of the why of the problem. I didn't know that the template fully re-render on modification (witch seem logical after reading).


In some cases, ontology build fails due to node js issues related to checkout workflow

For example, the PR check (https://github.com/geneontology/go-ontology/actions/runs/9865845910/job/27243789727?pr=28196) failed with:
Run actions/checkout@v2
/usr/bin/docker exec  beb84bab745e276dd443df91ee52820308752c1778e2d5253758dbbe67bad09d sh -c "cat /etc/*release | grep ^ID"
/__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node)

Possibly: https://github.com/actions/checkout/issues/1590

This has continued, even though @balhoff tried v4 (https://github.com/geneontology/go-ontology/pull/28451)
Tagging @balhoff @pgaudet

https://github.com/geneontology/go-ontology/tree/issue-28454-checkout-issue-w-node-js

Trying things from https://github.com/actions/checkout/issues/1590

@balhoff I have a possible solution here.
From the external thread, it seems that the "unsafe" trick does not work for v4, so I tried with v3. If you can live with this, we can merge.
I would also note, that this is believed to be a temporary fix, and there will be more issues down the road, as we track a moving image. We'll need to weight the trade-offs with that at some point, but for now I'd be happy with passing tests again.

@kltm possible fix in #28465 (different action used for posting PR comments).

From @balhoff 's fixes, I think this is clear now.


dask.dataframe.pivot_table seems to destroy datetime type information on the new index

I ran into an issue when using pivot_table on a dask.dataframe recently: when selecting a column with type datetime64[ns] as the new index, the dtype of the index is object afterwards. I have generated some mock data below resembling the original data which is coming from machine sensors:
import numpy as np
import pandas as pd
import dask.dataframe as dd

df = pd.DataFrame({'dateTime': np.repeat(pd.date_range(start='2019-08-01',
                                         periods=2000,
                                         freq='s'), 5),
                   'plantCode': np.random.choice(['P1', 'P2', 'P3'], size=10000),
                   'value': np.random.uniform(0, 100, 10000),
                   'variableName': np.random.choice(['xyz', 'abc', 'xoxo', 'lol', 'wtf'], size=10000)})

ddf = dd.from_pandas(df, npartitions=10).categorize()
ddf.info()

Output (dtypes as expected):
<class 'dask.dataframe.core.DataFrame'>
Columns: 4 entries, dateTime to variableName
dtypes: category(1), category(1), datetime64[ns](1), float64(1)

Now pivot the table:
ddf_pivot = ddf.pivot_table(index='dateTime', columns='variableName', values='value')
ddf_pivot.index

Output (index type is object):
Dask Index Structure:
npartitions=1
    object
       ...
Name: dateTime, dtype: object
Dask Name: truediv, 48 tasks

Mapping the index manually after the pivot resulted in all entries being NaT:
ddf_pivot.index = ddf_pivot.index.map_partitions(pd.to_datetime,
                                                 meta='M8',
                                                 infer_datetime_format=True,
                                                 errors='coerce')
ddf_pivot.index

Output:
Dask Index Structure:
npartitions=1
NaT    datetime64[ns]
NaT               ...
dtype: datetime64[ns]
Dask Name: assign_index, 51 tasks

Thanks for the report! The following seems to fix it, at least for this case.
diff --git a/dask/dataframe/reshape.py b/dask/dataframe/reshape.py
index ca166710e..f3df2a213 100644
--- a/dask/dataframe/reshape.py
+++ b/dask/dataframe/reshape.py
@@ -238,8 +238,8 @@ def pivot_table(df, index=None, columns=None, values=None, aggfunc="mean"):
     # _emulate can't work for empty data
     # the result must have CategoricalIndex columns
     new_columns = pd.CategoricalIndex(df[columns].cat.categories, name=columns)
-    meta = pd.DataFrame(columns=new_columns, dtype=np.float64)
-    meta.index.name = index
+    meta = pd.DataFrame(columns=new_columns, dtype=np.float64,
+                        index=pd.Index(df._meta[index]))

     kwargs = {"index": index, "columns": columns, "values": values}

With that, I get
In [2]: ddf_pivot = ddf.pivot_table(index='dateTime', columns='variableName', values='value')
   ...: ddf_pivot.index
   ...:
Out[2]:
Dask Index Structure:
npartitions=1
    datetime64[ns]
               ...
Name: dateTime, dtype: datetime64[ns]
Dask Name: truediv, 48 tasks

Would you be interested in submitting a PR with that and tests? Ideally, we would also have tests that cover different index subclass (period, datetimetz, categorical, interval), but at least covering datetime would be a start.

Thank you for the very quick reply - not something we're used to with our enterprise software vendors :)
I will look into submitting a PR later this week.

Hello! I stumble across that post when searching for my problem.
When pivoting a ddf with a value of type datetime64[ns], it returns a NaN in every single rows of the pivot table. Everything is working fine if I keep my date format as an integer or float.

Hello! I stumble across that post when searching for my problem.
When pivoting a ddf with a value of type datetime64[ns], it returns a NaN in every single rows of the pivot table.
Everything is working fine if I keep my date format as an integer or float.

@jaytouz Since this issue is closed, would you mind opening a new issue with a minimal reproducible example?


cancelling the recorder should delete the generated spec file as well

when you hit F1 and run the "Record Playwright Test" task, it creates this file:

when you click this "Cancel" button, it doesn't save any recorded steps, so it should automatically delete the file

If we do as you are suggesting, it'll be unclear whether the file should be deleted when user cancels the recording that already has some steps. We prefer to be on the safe side and keep the file at all times!

when the recording already has steps and you hit cancel, they don't get saved to the file anyway. i suppose the user could edit the file while they're recording but those edits get overwritten either way


Change text color, typeface, size

How can on customize these in each / all pages?
Thanks!

When creating the TextView it uses applicationContext which discards all theming settings of the activity. Should have used the given context instead.

So @rockerhieu, it can't be changed?

+1

@royherma  @royherma  @CeccoCQ  This change if approved will allow you to customize text-color, typeface.
https://github.com/Ramotion/paper-onboarding-android/pull/17

@royherma can be, what I did was cloning the project and use activity context instead of application context.