Strange Governance Actions Appear

Summary: Governance Actions Appear when they shouldn't be there.
To replicate:

go to GovTool Governance Actions page
find a governance action type that has more than 6 governance actions (so you can see the view all option when you scroll all the way to the right).
vote on enough governance actions so that there are fewer than 6 governance actions and you can see all governance actions without using "view all".
Keep voting on these governance actions and strange things will happen, like different amounts of governance actions being found each time you go to the governance actions page.

Please see more here: https://discordapp.com/channels/826816523368005654/1178799499381063751/1199026524179939410
This issue was reported by a community member but I also verified.

Moving this to the last known status, as it seems the status was lost while moving to the new project.


Override card on footer section

Description
Override card on footer section

When triggering the Iskcons Events, the page changes its route and directs me to this particular page. The problem lies with the card components overriding the footer section of that page.

Expected behavior:

The desired behavior is clear: the card component must remain within its assigned section without changing its size. This prevents a negative user experience and ensures the website appears attractive and enhances its beauty..

Actual behavior:

The issue is with the card components that are overriding the footer section of the page, creating a poor user experience.

Screenshots:

Additional Information:

[x] OS: [Windows]
[x] Browser [Chrome, Safari, Firefox, Microsoft Edge, Brave]

Additional:

[x] I am an Open Source Contributor in GSSOC'24

Allow me to work on this issue under GSSOC' 2024 @akshitagupta15june.


Add getCounter and setCounter to ICacheService

Summary
This PR implements shared counters via the cache layer. It adds functions to set/get numeric counter values via ICacheService.
Changes

Adds getCounter and setCounter functions to ICacheService and its implementations.
Adds related testing.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

9 of 9 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 90.744%

Totals

Change from base Build<PHONE_NUMBER>5:
-0.01%

Covered Lines:
8310

Relevant Lines:
8782

💛  - Coveralls


Existing files are being downloaded

What happened
'theme download' code downloads all files each time I run it.
What I expected to happen
Should only download modified files.
My Environment
OS (including version): MacOS 10.13.6
Themekit version: 0.8.0
Ignore Files(if any):

The version checking/asset manifest has been removed in v0.8.0. For more information please refer to the discussion in this issue: https://github.com/Shopify/themekit/issues/540


[SPARK-40998][SQL] Rename the error class _LEGACY_ERROR_TEMP_0040 to INVALID_IDENTIFIER

What changes were proposed in this pull request?
In the PR, I propose to assign the proper name INVALID_IDENTIFIER  to the legacy error class _LEGACY_ERROR_TEMP_0040 , and modify test suite to use checkError() which checks the error class name, context and etc.
Why are the changes needed?
Proper name improves user experience w/ Spark SQL.
Does this PR introduce any user-facing change?
Yes, the PR changes an user-facing error message.
How was this patch tested?
By running the modified test suites:
$ build/sbt "core/testOnly *SparkThrowableSuite"
$ build/sbt "test:testOnly *ErrorParserSuite"

@srielau @itholic @panbingkun @LuciferYang @cloud-fan Could you review this PR, please.

Merging to master. Thank you, @LuciferYang @srielau and @cloud-fan for review.


docs:Add go install cmd

Is very useful to have the installation with Go. Here you have the pr if find valuable.

Summary by CodeRabbit

New Features

Introduced an additional installation method for the ast-metrics package, specifically for Go developers.

Documentation

Enhanced installation instructions with a new command for Go's package management system.

Closed in favor of #63
Thank you


Support more cfg() in Cargo.toml

https://github.com/swc-project/swc/runs/8088642008?check_suite_focus=true
I tried using nextest for swc (https://swc.rs) but it failed with an error
  Downloaded aho-corasick v0.7.18
  Downloaded ahash v0.7.6
  Downloaded stdweb v0.4.20
  Downloaded subtle v2.4.1
  Downloaded stdweb-internal-runtime v0.1.5
  Downloaded terminal_size v0.1.17
  Downloaded url v2.2.2
  Downloaded unicode-normalization v0.1.19
error: error parsing Cargo metadata

Caused by:
  failed to construct package graph: for package 'browserslist-rs 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)': for dependency 'chrono', parsing target 'cfg(not(target = "wasm32-unknown-unknown"))' failed: cfg() expression has unknown predicate: target
Error: Process completed with exit code 96.

Thanks for the report! I've never seen the target predicate before, and it's not documented at https://doc.rust-lang.org/reference/conditional-compilation.html. Does it actually work?

Yeap, cargo test works without any problem

I checked and target is definitely not supported by Cargo -- it always evaluates to false. Guess we should do the same instead, but as it currently exists, the conditionals in https://github.com/browserslist/browserslist-rs/blob/main/Cargo.toml#L54-L61 do not work. The first one always evaluates to false and the second one always evaluates to true.

Oh.. I didn't know it, thanks! I'll file an issue on browserslist-rs instead

Opened https://github.com/nextest-rs/nextest/issues/499 , but seems like cargo support target-specific dependencies
https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies

Ah yeah, looks like browserlist has fixed its issue!
The next version of nextest will silently evaluate incorrect predicates to false, though I'm tempted to add a warning.


CBSNews unable to download video

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2<IP_ADDRESS>. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[X] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>

Before submitting an issue make sure you have:

[X] At least skimmed through README and most notably FAQ and BUGS sections
[X] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[X] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/ --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/', u'--verbose']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2<IP_ADDRESS>
[debug] Python version 2.7.11+ - Linux-4.5.0-2-amd64-x86_64-with-debian-stretch-sid
[debug] exe versions: ffmpeg 3.0.2-2, ffprobe 3.0.2-2, rtmpdump 2.4
[debug] Proxy map: {}
[CBSNews] gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role: Downloading webpage
ERROR: Unable to extract video JSON info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 676, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 341, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/cbsnews.py", line 58, in _real_extract
    webpage, 'video JSON info'), video_id)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 653, in _html_search_regex
    res = self._search_regex(pattern, string, name, default, fatal, flags, group)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 644, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
RegexNotFoundError: Unable to extract video JSON info; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

...
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video:   http://www.cbsnews.com/news/gorilla-harambe-death-cincinnati-zoo-debate-on-parents-role/

Description of your issue, suggested solution and other information
The video URL given above fails to download.  I have included the verbose output and updated right before trying.
It may be related to this issue:
https://github.com/rg3/youtube-dl/issues/7010
However that issue was closed and it sounds like it was related to it being a live video which this one is not.

try to download the video directly using the video url untill the extraction of video in article pages fixed.
for this article the video url is http://www.cbsnews.com/videos/cops-investigate-gorilla-incident-at-cincinnati-zoo.

That URL works normally.  I actually already obtained the video from another source and was just making this report as I did not see any bugs related to it.  It is already a known issue that you cannot download video's from the article page?  I guess I missed it in the open bugs.


Docs

Codecov Report

Merging #13 (de31566) into main (81c8fdd) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main      #13   +/-   ##
=======================================
  Coverage   76.28%   76.28%
=======================================
  Files           5        5
  Lines         468      468
  Branches       71       71
=======================================
  Hits          357      357
  Misses         80       80
  Partials       31       31

Impacted Files
Coverage Δ

valparse/util.py
100.00% <ø> (ø)

valparse/valparse.py
71.71% <100.00%> (ø)


Faster attestation validation and processing

Since this is quite extensive change, I would like some sanity review before I start refactoring tests for this new logic.
Some noticable improvements:

introduce checkpoint state cache (a lot of attestations has same target checkpoint so we can reuse checkpoint states instead processing blocks all over again)
introduce seen attestation lru cache (for "first seen attestation for validator" - prevent database lookups)
reduce duplicate validation across board
attestation processor has both pending block and slot pool where attestation wait until they are ready

@ChainSafe/eth2-0  Should be ready now!
There is no more attestation validation errors in e2e tests so we reach finalization faster.
Unfortunately, I had to rollback changes to AggregateAndProof as they've caused e2e errors. I will tackle that in separate PR along with unit tests for it.


[RFE] Filter containers by container image + Enrich events by container image

Current situation
Users can filter containers with the following selectors:

--node
--namespace
--podname
--containername

But they cannot filter by container image.
Additionally, events are enriched with node, namespace, pod, container but not with the container image.
Impact
Sometimes a micro service application uses several Kubernetes deployments with the same image and it is not possible to get events from all of them.
Example: https://github.com/microservices-demo/microservices-demo/tree/master/deploy/kubernetes/manifests
This has several deployments with the mongo image
If we notice that mongo has an issue but we don't know yet which  namespace, pod or deployment it is, it would be useful to have a --image filter.
Additionally, reporting container images in events has been requested by users in #1164.
$ kubectl gadget trace exec -A -o custom-columns=node,namespace,pod,container,image,comm,pid
Error: creating parser: invalid columns: image

Ideal future situation
Implement --image= to most gadgets where it makes sense.
There should be a way to match both busybox, library/busybox, busybox:1.35. It could be done with Golang's regexp or glob.
Additionally, we can add the image in events:
$ ./kubectl-gadget trace exec -A -o custom-columns=container,image
CONTAINER  IMAGE
busybox    busybox:latest

Implementation options
The different backends for the container-collection packages need to feed the container image:

WithContainerRuntimeEnrichment

CRI-O starts OCI containers with the following annotation:

"io.kubernetes.cri-o.ImageName": "k8s.gcr.io/coredns/coredns:v1.8.6"

containerd starts OCI containers with the following annotation:

"io.kubernetes.cri.image-name": "k8s.gcr.io/coredns/coredns:v1.8.6"

WithPodInformer

The pod spec contains a image field.

ContainerSelectorMatches() needs to be updated to support images.
Additional information
Sysdig can filter events based on the container image with the %container.image filter.

Additional requirements for this feature request:

There should be fields for both the image tag and the image digest
We should be able to filter by prefix, for example filter all container image with the prefix "localhost:5000/".

The filter by prefix is is now possible with --filter and using the regular expression feature:
$ ./ig trace exec -h
...
  -F, --filter strings         Filter rules
                                 A filter can match any column using the following syntax
                                   columnName:value       - matches, if the content of columnName equals exactly value
                                   columnName:!value      - matches, if the content of columnName does not equal exactly value
                                   columnName:>=value     - matches, if the content of columnName is greater or equal to the value
                                   columnName:~value      - matches, if the content of columnName matches the regular expression 'value'
                                                            see [https://github.com/google/re2/wiki/Syntax] for more information on the syntax

But this filter is currently done in userspace.
Filtering on the container name is already done in eBPF, it should be possible to do the filtering for the image name in eBPF as well (no need to do regexp in eBPF, we just need to update the filtering eBPF map like we do for container names).

Working on it. Current status:

Initial containers
New containers

containerd
?
WIP

cri-o
?
WIP

docker
?
?

Current status:
In review:

#1682 : added ImageName to events

To be done:

[ ] add imageDigest to events
[ ] implement filtering

I tested filtering with:
$ sudo -E ./ig trace exec -F 'runtime.containerImageName:busybox'

It works fine.
It is done in userspace. Filtering in ebpf for performance optimization could be part of #2068.

Closing. Moved the blocker to new issue: #2273


Cxx shared rework

Fix Issues #314 and #310
Rework the cmake to better support CXX shared library and fix issue with xcode 8.0

@afisher1  can you approve the request, then I will go ahead and get it merged


Add API operations and summary key in the object

Description
Add API operations and summary key in the object
Type of Change:

[x] Code
[x] Documentation

How Has This Been Tested?
Terminal commands to test code:-
1). npm run lint
2). npm run lint:fix
3). nest start
4). npm run test
Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] My changes generate no new warnings
[x] The title of my pull request is a short description of the requested changes.

Add summary for remaining controllers also.

doubts and Assignments have open PRs and after they get merge i will add the summary too
I've added summary for the rest of the complete endpoints

https://github.com/codeforcauseorg/edu-server/pull/116#discussion_r676037229
This is not done.


[SPARK-43964][PYTHON][TESTS][FOLLOWUP] Skip a test using pandas when pandas is not available

What changes were proposed in this pull request?
This is a follow-up of #41867.
Skips a test using pandas when pandas is not available.
Why are the changes needed?
There is a test using pandas, but there is a case where pandas is not available.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Manually.

cc @allisonwang-db


console.log(base64) not working in Annotation and Drawing Mode

When I try the code in the below example it works fine
https://www.amcharts.com/tutorials/export-charts-advanced/
Now when I use the "Annotation" mode in the setExport property, the hand drawn shapes etc. do not get logged into the base64 data.  I used the rendered event listener like below:
chart.addListener("rendered", function(e) {
// WAIT FOR FABRIC
var interval = setInterval(function() {
if (window.fabric) {
clearTimeout(interval);
  // CAPTURE CHART
  e.chart.export.capture({}, function() {

    // SAVE TO JPG
    this.toJPG({}, function(base64) {

      // LOG IMAGE DATA
      console.log(base64);

      // CREATE LINK TO OPEN BASE64 IMAGE IN NEW TAB
      var a = document.createElement("a");
      a.setAttribute("href", base64);
      a.setAttribute("target", "_blank");
      a.setAttribute("style", "display: block; margin-top: 150px;");
      a.innerHTML = "Open embedded base64-image";

      var div = document.createElement("div");
      div.setAttribute("style", "position: absolute; width: 100%; top:0; bottom: 0; background-color: rgba(255,255,255,.9); z-index: 1337; display: block;text-align: center;");
      div.appendChild(a);

      this.setup.chart.div.appendChild(div);
    });
  });
}

}, 100);
});
How can I log the hand drawn shapes as I am trying to use the base64 and save it in a JPG in the server.
Thank you
SD

Hi SD,
In case you already entered the annotation mode, it's not necessary to call the capture method again, in case you don't wish to replace the context. The capture method captures the current state of the chart and replaces the existing annotations. Therefore call the "toJPG" method directly like following:
// SAVE TO JPG
chart["export"].toJPG( {}, function( base64 ) {
  // LOG IMAGE DATA
  console.log( base64 );

  // CREATE LINK TO OPEN BASE64 IMAGE IN NEW TAB
  var a = document.createElement( "a" );
  a.setAttribute( "href", base64 );
  a.setAttribute( "target", "_blank" );
  a.setAttribute( "style", "display: block; margin-top: 150px;" );
  a.innerHTML = "Open embedded base64-image";

  var div = document.createElement( "div" );
  div.setAttribute( "style", "position: absolute; width: 100%; top:0; bottom: 0; background-color: rgba(255,255,255,.9); z-index: 1337; display: block;text-align: center;" );
  div.appendChild( a );

  this.setup.chart.div.appendChild( div );
} );

Following flag indicates if the chart is in annotation mode or not:
chart.export.drawing.buffer.enabled

Hi,
Your method worked.  I changed chart["export"].toJPG    to    this.toJPG to make it work.  However, I am unable to make use of the flag
When I try console.log(chart.export.drawing.buffer.enabled);  just to check the result when in Annotation Mode, I get the following error
Uncaught ReferenceError: chart is not defined
When I try console.log(this.chart.export.drawing.buffer.enabled);
Cannot read property 'export' of undefined
When I try console.log(this.export.drawing.buffer.enabled);
Uncaught TypeError: Cannot read property 'drawing' of undefined
Please suggest since I would like to use the below logic
if (chart.export.drawing.buffer.enabled == TRUE) {
logic1;
} else {
logic2;
}

Please ensure your chart has been initiated / created and the export is ready to be able to check this flag. Following function does that, you just need to pass the instance you want to check:
function chartInAnnotationMode( chart ) {
var plugin = chart["export"] || {
drawing: {
buffer: {
enabled: false
}
}
};
var inAnnotationMode = plugin.drawing.buffer.enabled ? true : false;
        return chart.chartCreated && inAnnotationMode;
    }

Hi ,
I couldn't  reset the annotations mode.
if (chart.export.drawing.buffer.enabled === true) {
}
I am using the above condition to check whether the chart is in annotations. once the annotated chart is exported , i just want to reset the annotations mode. Could somebody please let me know how to do that?

Try this:
chart["export"].drawing.handler.done();


build: tweak the build target on CIO_BACKEND_FILESYSTEM=Off

We skip the following modules if the file system backend is disabled.

tools/cio.c (see 344e18b)
cio_utils.c (see 74ed9d2)

Basically, both of them have not much use for memfs-only platforms
for now, and yet cause the build to fail on these systems.

Main issue link: https://github.com/fluent/fluent-bit/issues/960


[Feature]: Allow configuration of credentials in useFetcher submit

What problem does this feature solve?
Currently, the useFetcher hook from React Router provides a convenient way to handle form submissions in a declarative manner. However, there is no direct way to configure options such as credentials (e.g., 'include', 'same-origin', 'omit') when calling the submit function.
This limitation makes it difficult to handle scenarios where credentials (such as cookies or authentication tokens) need to be included with the request, especially when interacting with APIs that require credentials: 'include'.
What does the proposed API look like?
Add support for passing fetch options (specifically credentials) in the submit function of the useFetcher hook. This would allow developers to configure requests with greater flexibility when needed.
const fetcher = useFetcher();

// Current behavior (no way to set credentials):
fetcher.submit(formData, { method: 'post', action: '/submit' });

// Proposed behavior (ability to set credentials):
fetcher.submit(formData, { method: 'post', action: '/submit', credentials: 'include' });

should this feature be issued to React Router?

 I've already opened an issue in the project, so I'm going to go ahead and close this one.
https://github.com/remix-run/react-router/discussions/12023#discussioncomment-10729593


Fix handling of unselecting file (with file input)

:tada: This issue has been resolved in version 8.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


[Feature Request] Abort/restart download if speed falls too low for too long (to bypass throttling)

For the past couple of weeks, I've been experiencing what I can only assume is YouTube's alternative to the dreaded 429: I'll check my archive run and it'll be stuck around 69 KB/sec. with an insane amount of time remaining.
Since I archive over 300 YouTube channels at this point, this is a major problem when it happens because I run downloads consecutively, so once a single download gets choked like this, it basically stops everything until I manually intervene. When I abort and start the archive run again, the downloads proceed at normal speed. I'm starting to encounter this problem multiple times a day.
So, my proposed solution is to add a feature where a minimum download speed and a check interval can be set, and if the download fails to speed up beyond the minimum within the check interval, it gets either canceled or (ideally) restarted, perhaps after a short delay, to make the throttling go away.
Edit: it happened right after I typed this feature request...
[debug] [youtube] Extracting URL: L5TGFEoidEM
[youtube] L5TGFEoidEM: Downloading webpage
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Downloading subtitles: en
[debug] Default format spec: bestvideo*+bestaudio/best
[info] L5TGFEoidEM: Downloading 1 format(s): 248+251
[info] Writing video description to: Games Done Quick (to ban everyone).description
[info] Writing video subtitles to: Games Done Quick (to ban everyone).en.vtt
[debug] Invoking downloader on "https://www.youtube.com/api/timedtext?v=L5TGFEoidEM&asr_langs=de%2Cen%2Ces%2Cfr%2Cit%2Cja%2Cko%2Cnl%2Cpt%2Cru&caps=asr&exp=xftt%2Cxctw&xoaf=4&hl=en&ip=<IP_ADDRESS>&ipbits=0&expire=1624397894&sparams=ip%2Cipbits%2Cexpire%2Cv%2Casr_langs%2Ccaps%2Cexp%2Cxoaf&signature=1A9CABE587D13C1DECFD0A00C54C269239F06F26.C180D694D577CFDF35779D323317044E70A53DC2&key=yt8&kind=asr&lang=en&tlang=en&fmt=vtt"
[download] Destination: Games Done Quick (to ban everyone).en.vtt
[download] 100% of 129.36KiB in 00:00
[info] Writing video metadata as JSON to: Games Done Quick (to ban everyone).info.json
[youtube] L5TGFEoidEM: Downloading thumbnail  ...
WARNING: Unable to download thumbnail "https://i.ytimg.com/vi/L5TGFEoidEM/maxresdefault.jpg": HTTP Error 404: Not Found
[youtube] L5TGFEoidEM: Downloading thumbnail  ...
[youtube] L5TGFEoidEM: Writing thumbnail to: Games Done Quick (to ban everyone).jpg
[SubtitlesConvertor] Converting subtitles
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Games Done Quick (to ban everyone).en.vtt" -f srt "file:Games Done Quick (to ban everyone).en.srt"
Deleting original file Games Done Quick (to ban everyone).en.vtt (pass -k to keep)
WARNING: webm doesn't support embedding a thumbnail, mkv will be used.
[debug] Invoking downloader on "https://r6---sn-tt1eln7e.googlevideo.com/videoplayback?expire=1624394294&ei=1vXRYOOACLaYzLUPwPWSiAs&ip=<IP_ADDRESS>&id=o-AFWYT8XgIXuvpfVj6Kt-GTdLFKDRtPcERFWhY0NAVnTf&itag=248&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278%2C394%2C395%2C396%2C397%2C398%2C399&source=youtube&requiressl=yes&mh=5b&mm=31%2C26&mn=sn-tt1eln7e%2Csn-vgqs7nly&ms=au%2Conr&mv=m&mvi=6&pl=27&initcwndbps=586250&vprv=1&mime=video%2Fwebm&ns=i-DMP0Yf_6J7R2Ax6hwEUCMF&gir=yes&clen=133171938&dur=939.205&lmt=1517126865485725&mt=1624372128&fvip=6&keepalive=yes&fexp=24001373%2C24007246&c=WEB&n=zwwIFgRpIY5ZXQcmh&sparams=expire%2Cei%2Cip%2Cid%2Caitags%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cns%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgcKkzT7RcpBNIijDa6dX5fqTnU9YHFv3BygKtrRkhxs4CIQDyGAL269CGftMiy6Ji8tctKvGJdr3FJIGmHM17UwNFDA%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgAYcFMIMFnxV1ZVTWsyD2m2g87cNWnmBDgazv_KTS8HQCIQDN1pqZauKa48a27b_N6uvaIXOzIyvCg9ZyYn2p44bfmg%3D%3D"
[download] Destination: Games Done Quick (to ban everyone).f248.webm
[download]  23.8% of 127.00MiB at 82.11KiB/s ETA 20:06

Related: https://github.com/ytdl-org/youtube-dl/issues/29326
Possible solution: https://github.com/ytdl-org/youtube-dl/issues/29326#issuecomment-865985377

Thank you very much for this!

I didnt want to resort to this, but I couldn't figure out how to actually fix the throttling issue. And my policy for yt-dlp has always been that any solution is better than no solution

There's no good answer, really. We don't even know how the throttling works, so I doubt anything fancier would be much better. It's disturbing how much more effective it is than the 429 though.

I detailed a way to avoid throttling with yt-dlp here

@mongolsteppe Update to the latest version. Then you dont need any special option to bypass the throttling 99% of the time. In the rare case that the default bypass doesn't work, --throttled-rate 100K should help

@mongolsteppe Update to the latest version. Then you dont need any special option to bypass the throttling 99% of the time. In the rare case that the default bypass doesn't work, --throttled-rate 100K should help

Thanks, good point. I also tried without the --extractor-args youtube:player_client=android part and it works just as well! (using the latest version of yt-dlp).

I'm using --throttled-rate 600K since it keeps maxing out around that speed, and I can get like ten times that down with my ISP. It can't seem to get any higher than that, and it's consistently at that speed. This didn't happen until a few days ago.


Request a RPM dynomite file for installation

We do not have an RPM produced because we use Ubuntu for our deployments. However, there are many folks that have successes producing RPMs. See https://github.com/Netflix/dynomite/issues/352

Few weeks ago I created a rpm SPEC file for more convenient installation of dynomite daemon. I can share if you are still interested.

Absolutely!

No problem, here it is. Rather hackish implementation but it does its job and fits my needs.
https://github.com/jkimalane/dynomite-rpm

I'm also testing dynomite at the moment, and since it's on RHEL, I created my own rpm package:
https://github.com/thias/rpm-dynomite

Would it make sense to do a PR for a folder called RPM? Moreover, we might need some way to test it when an RPM is created that it works and the changes do not break the building (maybe by adding some part in the tests?).

+1 to do PR for this issue :)


Merge AstValue and AstExpr

Part of #54

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (19c2bed) to head (804cea0).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #63   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           59        58    -1
  Lines         2688      2671   -17
=========================================
- Hits          2688      2671   -17

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


[STAGING] Validating & Testing on TheRA RC

This is a staging PR containing changes made while validating different software, tested on the OGU + TheRA RC2. Current list of tests:

[x] Tested with Steel Assault (FNA Title)
[x] Tested with TMNT (FNA title) - failure uploading textures, likely libmali bug with ASTC.
[x] Tested with RetroARCH (by @slaminger, I still have to test it myself)
[ ] Tested with OpenTyrian
[ ] Tested with PPSSPPSDL
[ ] Tested with ARMHF titles (preparing system for multiarch usage still)

More tests/targets and commits are due as they are relevant. Thanks for the libgou fork.

I have been unable to get it to work on armhf (r12p0) builds. I am suspecting it might be an integer/long size problem on libgou, but I am not yet sure.

The ge2d.h changes also should track with patches proposed to libgou.


Wip-VM

Codecov Report

Merging #1312 (e2fd4ef) into master (828364b) will decrease coverage by 8.86%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1312      +/-   ##
==========================================
- Coverage   50.51%   41.64%   -8.87%
==========================================
  Files         145      144       -1
  Lines        7544     9083    +1539
==========================================
- Hits         3811     3783      -28
- Misses       3066     4726    +1660
+ Partials      667      574      -93

Impacted Files
Coverage Δ

pkg/core/consensus/testing/node.go
0.00% <0.00%> (-93.55%)
:arrow_down:

...ore/consensus/blockgenerator/candidate/testutil.go
0.00% <0.00%> (-90.91%)
:arrow_down:

pkg/core/consensus/testing/utils.go
0.00% <0.00%> (-75.61%)
:arrow_down:

...core/consensus/blockgenerator/candidate/genesis.go
0.00% <0.00%> (-69.24%)
:arrow_down:

...nsensus/blockgenerator/candidate/blockgenerator.go
0.00% <0.00%> (-64.29%)
:arrow_down:

pkg/gql/query/transactions.go
13.27% <0.00%> (-52.71%)
:arrow_down:

pkg/rpc/client/session.go
21.42% <0.00%> (-47.15%)
:arrow_down:

pkg/util/nativeutils/eventbus/eventbus.go
57.14% <0.00%> (-42.86%)
:arrow_down:

pkg/rpc/client/client.go
3.73% <0.00%> (-36.61%)
:arrow_down:

pkg/core/consensus/reduction/aggregator.go
56.25% <0.00%> (-35.06%)
:arrow_down:

... and 165 more

Continue to review full report at Codecov.

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


how can I extract emails from the list of website?

Hello
how can I extract emails from the list of website by using your tool?
thanks

websites =[list of urls] emails = [ExtractEmails(url).emails for url in websites]

from extract_emails import *
emails = [ExtractEmails(url).emails for url in ['xyv.com']]

Error
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <listcomp>
NameError: name 'ExtractEmails' is not defined

Can you please help me out here?

Hi @dabeer445, it's easy:
from extract_emails.browsers.requests_browser import RequestsBrowser as Browser
from extract_emails import DefaultFilterAndEmailFactory as Factory
from extract_emails import DefaultWorker

browser = Browser()
urls = ['1.com', '2.com']

for url in urls:
    factory = Factory(website_url=url, browser=browser)
    worker = DefaultWorker(factory)
    data = worker.get_data()

Thanks a lot, there was an issue in the installed versions!


Double HEAD request

I believe django-dust contains this bug too: https://github.com/aaugustin/django-resto/issues/1

Indeed, thanks for the heads-up! Fixed.


Migrate notes from [X] service to [Y] service

The current bridge service functionalities just upload or fetch only EXISTING nodes
which means if I remove a node from LOCAL service and then push to REMOTE service, this node won't be removed
at REMOTE. Because the fetch and push functionalities are based on new node creations and updations.
We need an independent command and service functionality to migrate all data to another service.
--- BASIC USAGE CASE ---
notya migrate

Remote selection prompt:
>
- FIREBASE
- OTHER-REMOTE-SERVICE

Then it'll remove all nodes from the selected remote service and upload local nodes.

Resolved by #71


Hide QuickFilter

hi
is it possible somehow to hide filtering lookups based on permissions?

Absolutely! The .ts files defining the Grid or Dialog have access to the Authorization.hasPermission() method. Use the result of that call to decide whether to add your lookup.

Got it:
`
protected getQuickFilters() {
        var filters = super.getQuickFilters();

        if (!Authorization.hasPermission("IDI:Roles:UnfilteredRows")) {
            filters.splice(Q.indexOf(filters, x => x.field == "PaidBy"), 1);
            filters.splice(Q.indexOf(filters, x => x.field == "BillTo"), 1);
        }
        return filters;

    }

`


Does it work with .Net Framework 4.8 or 5.0?

Does it work with .Net Framework 4.8 or 5.0?
Do you have example test solutions that we can simply test/run?

Did you try this at all?

Should be workable.
Wiki ?

https://github.com/3F/Examples/tree/master/DllExport/BasicExport
https://github.com/3F/DllExport/wiki


Foo Bar test only

Coverage remained the same at 100.0% when pulling 6b6200cda3c908db377836e92c5e453989f2b323 on foo-bar into 99a577bf0c20b346560a70259caa47fdefe3fbf3 on main.


Make a module or functional component that logs out users, from click on logout in header

I would like to work on it. Can you assign to me?


Wrong path in v1.0 documentation

In "Using" part of documentation path to ApiGuardController is wrong. Controller folder is missing and you get "ApiGuardController not found" error.
Regards,
Rok

Hi @RokSiEu yeah, i just noticed.
It should be:
use Chrisbjr\ApiGuard\Controllers\ApiGuardController;

Yup, I just wanted to let you know. This can be closed.


[pigeon] support for generics

Hello, is there any plan to add support for generics?

Closing as duplicate of https://github.com/flutter/flutter/issues/63468
Please follow up on that one for more information.
Thank you


Inheritance breaks fragments

see: #1918 and this branch: https://github.com/kframework/k/tree/inheritance-breaks-fragments

We are working on this issue and have an temporary solution for this test. see https://github.com/kframework/k/pull/2246.
Thank you.
@cos @bmmoore


Works also in Windows 11 with Miniconda3

Thank you very much for this very useful tool! Appreciate it.
I was able to successful install, and run on windows 11 with Miniconda3.
Steps:
conda create -n mmaudio python=3.9
conda activate mmaudio
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 --upgrade
git clone your repo
cd MMAudio
pip install -e .
python gradio_demo.py
Works amazing.
Keep the good work!

In this case, do you recommend Python 3.9 or is it "better" with 3.10 or 3.12 etc.? Thanks.

Thanks for testing this on Windows.
Regarding the Python version -- if it works, it works. There should not be any significant performance differences. I personally prefer newer versions, i.e., Python 3.11 at the moment because why not :) There are nice features like improved error messages: https://docs.python.org/3/whatsnew/3.11.html#whatsnew311-pep657

Thank you for your hint.
It tested also with python 3.12 and
pip install torch torchvision torchaudio --index-url  https://download.pytorch.org/whl/cu124 --upgrade
Works without problems.


runtime(netrw): change indent size from 1 to 2

It is really hard to read the Netrw source code since it uses 1 space indent.
This PR changes the indentation of autoload/netrw.vim and plugin/netrwPlugin.vim to 2 space indentation, witch seem the standard for vimscript files in the official vim runtime.

Doesn't it use a mix of tabs and spaces? I think @k-takata observed this in https://github.com/vim/vim/pull/15721

autoload/netrw.vim is also hard to load on slower single-cores and splitting it up would be appreciated; but I guess this is impossible due to the function names netrw#... being tied to the file name?

Doesn't it use a mix of tabs and spaces? I think @k-takata observed this in https://github.com/vim/vim/pull/15721

I can revert the expantion of the tab if needed

autoload/netrw.vim is also hard to load on slower single-cores and splitting it up would be appreciated; but I guess this is impossible due to the function names netrw#... being tied to the file name?

I do believe that in legacy viml this was only a convention. A global function should be accessible from anywhere at anytime. If you move some netrw#... functions in another file it should be fine.
Note that this PR is only concerned with indentation.

I can revert the expantion of the tab if needed

I am agnostic to the need of mixed tab and spaces indents https://github.com/vim/vim/issues/16204 , but @k-takata has more concrete ideas on their necessity

I just wanted to keep the current format.
If we change it, that would be okay as long as we change the modeline at the same time.

If we change it, that would be okay as long as we change the modeline at the same time.

The modeline was changed

Shouldn't this uniform change of indentation style be up to
whoever assumes the currently vacant role of maintainer?
Will that person request real tabs and submit another PR?

I am sympathetic in changing the indent from 1 to 2 spaces to improve the readability.
I don't care so much about tabs vs. spaces.

Shouldn't this uniform change of indentation style be up to
whoever assumes the currently vacant role of maintainer?
Will that person request real tabs and submit another PR?

Well, if someday someone picks up the maintainer role, then he can use his prefered style,
which may require another style change.
Until then, we have to make changes when fixing bugs and if changing the style
improves the readability so be it.


GitHub handles should not be case sensitive in voters.yaml for eligibility

In the Knative SC 2022 election, we just ran into a case where in voters.yaml, the user "pierdipi" in voters.yaml showed up as ineligible to vote. After updating voters.yaml to use "pierDipi", the user became eligible to vote. I don't think that GH handles should be treated as case sensitive in Elekto unless this is a limitation into how the GH Auth handles logins?

GitHub is case insensitive.
 REDACTED  MCW0CDP3YY  ~  $  gh api users/geekygirldawn | jq .login
"geekygirldawn"
 REDACTED  MCW0CDP3YY  ~  $  gh api users/GeekyGirlDawn | jq .login
"geekygirldawn"

If someone wants to take this on, here's what's required:

Add two functions to models/meta.Election that checks GH IDs against either the voter or candidate list (probably a 3rd one for admin list, but that's less critical)
Replace every place the GH IDs are compared with calls to these functions (there's a lot of locations).
Write a test to prove that the above is working correctly.

The way we've handled this in the Kubernetes GitHub tooling is using a function that whenever we pull a github username from a data source (when we make an API call, or when we read in data from a YAML source file) we normalize it by stripping the leading "@" if it exists, and forcing it to lower case internally:
https://github.com/kubernetes/test-infra/blob/2c2cf0d32eed64b8f30e2c31835075ce501cf07a/prow/github/types.go#L165-L168
That way you're always comparing a lowercase username string no matter where the data comes from.

If someone wants to take this on, here's what's required:

Add two functions to models/meta.Election that checks GH IDs against either the voter or candidate list (probably a 3rd one for admin list, but that's less critical)

Replace every place the GH IDs are compared with calls to these functions (there's a lot of locations).
Write a test to prove that the above is working correctly.

I can start working on this - I may stumble a bit on part 3, but I'll raise any knowledge gaps I think I have on the PR.


selecting text with mouse does not work in macos Safari and JavaFX WebView component

Problem
When CodeMirror is displayed inside a JavaFX WebView, text cannot be selected using the mouse. The cursor moves to the correct position and then stays there when the mouse is moved. Selecting words using double click works as expected.
Details

CodeMirror: version 5.38.0 and above, version 5.37.0 still works as expected
Browser: JavaFX WebView Component, tested in version 8 and 11, and 12 EA

Cause of problem
In version 5.38.0 of codemirror.js line 7501 changed from
if (!e_button(e)) { done(e); }

to
if (e.buttons === 0 || !e_button(e)) { done(e); }

and once more in mouse_events.js line 316 (this time without curly braces.
If I change both lines back to the 5.37.0 version, everything works as expected.
Please evaluate if this is something that should be fixed in WebView instead so that I can report it there.

Same happens in Safari (Version 12.1.1 on macOS Mojave). As no-one seems to be interested in supporting the WebView component, I changed the title. Hope this gets some more traction.
Since it also happens in Safari, fixing in WebView (as I previously suggested) doesn't seem to be the right approach.

OK, after I made some changes, I cannot reproduce on Safari, but the problem persists in WebView. When I find the time, I will dig deeper. But for now, I just downgraded to 5.37.0. I will close this, as there's not much you can do at the moment.

I ran into the exact same issue with WebView and saw this post. I reverted those two lines and it now works for me. Any fix on the horizon for this item? A number of us are using JavaFX and a fix would be great.

I have the exact same issue.
I could reproduce it with JavaFX 17.0.2. The workaround works great.
The WebKit version which is used in JavaFX WebView doesn´t seem to support MouseEvent.buttons
It should provide the mouse-buttons which were pressed. Since it always returns 0 CodeMirror thinks no mouse button is pressed and canceles the operation.
I hope this will be supported in the future in JavaFX.
For now we need to live with one of these workarounds:
if (!e_button(e)) { done(e); }
Or replace || with &&:
if (e.buttons === 0 && !e_button(e)) { done(e); }


change auth.proto to support the getting chain_id at auth module

Something wrong with autoimpl.rs

有冲突

Fixed the conflict.


Have not implemented batched attention mask.

Hello,
I got this error when running the train_opt.py. I just change the model type to "Victuna-Tiny-1B", and keep other parameters same as the ReadMe.
====================
===  Step 0  ===
dln-fwd: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 8335/8335 [22:26<00:00,  6.19it/s, acc: 0.618]
[Iter 0/40] generating  prompt

Meta prompt #0:
[START]A student is completing a task that requires producing a text output from a text input. The student receives an instruction that describes how to produce the output given each input. The student has made some errors. Your task is to improve the instruction such that the student can fix the errors.
This was the instruction.

Instruction: Classify the input text as positive or negative.
Student successes
Input: it 's almost impossible not to be swept away by the sheer beauty of his images .
Correct Output: positive
Input: on a 10-year delay
Correct Output: positive
Input: an elegant film with often surprising twists and an intermingling of naiveté and sophistication
Correct Output: positive
Input: is trying to dupe the viewer into taking it all as very important simply because the movie is ugly to look at and not a hollywood product
Correct Output: negative
Student errors
Input: a sick , twisted sort of way
Student Output: positive
Correct Ouput: negative
Improve the instruction to fix the student errors. Clarify the instruction by adding few words or a short sentence. Be concise
Improved Instruction: [APE][END]
Traceback (most recent call last):
File "train_opt.py", line 294, in
main()
File "train_opt.py", line 209, in main
generated_instructs, used_demos = instruct_generator.iterative_generate(
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/dln.py", line 242, in iterative_generate
_generated_instructs, _used_demos = self.generate_instruct_bwd(cur_instruct, num_demos, dataset, rng, evaluator, num_prompt=1, num_meta_prompt=num_meta_prompt, **kwargs)
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/dln.py", line 280, in generate_instruct_bwd
return self._generate_instruct_bwd(
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/dln.py", line 409, in _generate_instruct_bwd
instructs = self.forward_generate_prompt(
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/dln.py", line 128, in forward_generate_prompt
smp_output_ids = ensemble_generate(
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/ensemble.py", line 84, in ensemble_generate
output_ids = greedy_search(model, input_ids, attention_mask, eos_token_id, pad_token_id,
File "/home/ubuntu/dpopt/DP-OPT-main/source/utils/ensemble.py", line 150, in greedy_search
raise NotImplementedError('Have not implemented batched attention mask.')
NotImplementedError: Have not implemented batched attention mask.

Hi,
I have not tried the Victuna-Tiny-1B.
It is likely that the attention_mask  of model is not None as required.
Could you check how the attention_mask was created with your used model?
And make sure it is None.


[HUDI-4171] Fixing Non partitioned with virtual keys in read path

What is the purpose of the pull request
When Non partitioned key gen is used with virtual keys, read path could break since partition path may not exist. Fixing that in this patch.
Brief change log

Fixed generating virtual key info on the read path.

Verify this pull request
Added test to

TestHoodieParquetInputFormat to validate the fix.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Got an approval from Sagar verbally. going ahead w/ merging to get it into 0.11.1.


Fix syntax error in the ContentResolverTypeMapping builder

The  type mapping is on the wrong side of the builder() method, and caused some confusion / frustration to a friend of a friend of a friend of mine. But of course not me. I'm better than that.

Oh damn, my bad, this syntax is mess in Java, thanks!
// Awesome description lol


Deploy functions using pre-created roles

I'm trying to deploy my functions to AWS, I'm using an account that does not have create role permissions.
I'm able to create the packaged-template.yaml file and upload the functions to s3. Then when trying to deploy them running:
aws cloudformation deploy --template-file /Users/ndelvalle/Projects/foo/functions/packaged-template.yaml --stack-name foo --region sa-east-1 --capabilities CAPABILITY_IAM --no-fail-on-empty-changeset

I got the following output:
Waiting for changeset to be created..
Waiting for stack create/update to complete

Failed to create/update the stack. Run the following command
to fetch the list of events leading up to the failure

Then, when running aws cloudformation describe-stack-events --stack-name foo, the error is the following one:
ResourceStatusReason": "API: iam:CreateRole User: arn:aws:iam::user/nico is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::role/foo",

So my question is, can we pre-create a role in AWS and define it somewhere so sam-cli can use it?
Output of sam --version:
SAM CLI, version 0.5.0
Note: I tried joining the slack channel several times but my invite never arrived, not sure if this is working.

@ndelvalle You will need to create a User or Role to use when deploying the function. Once it is created, you can set the credentials by using aws configure.
On the slack channel: We are working on making the process faster. Currently, there are some manual steps that need to be taken.
Closing.


Improve memory consumption of AggregateNumericRangeEquality

AggregateNumericRangeEquality requires ~ 20 GiB of memory (~ 50 M rows).
.fetchall() returns a list. Could we change this to perform the checks in a streaming fashion that doesn't require all of the data in memory at once?

Couldn't we "just" do it in SQL?
Otherwise, I agree that it's better to do it in a streaming fashion. Here's a bunch of examples how to do it https://github.com/zzzeek/sqlalchemy/blob/master/examples/performance/large_resultsets.py

Certainly doing it in SQL would be better!


Show notes on prereg check in window

On prereg check in window, show notes (attendee history).
Possibly have a field there to add a note.
Also consider that Orders have a notes field, which isn't currently displayed in attendee notes. Display that in the same spot? or change how it's handled entirely.

Closed in e4f47be55fc0f9e95a513fee50c901b2d332e50e


Check that WebClientPort and FileSharePort are different

Prevent the messup in #617 to happen again :)

I guess run-tests and get-tests would also have to use the webclientport right?

This fix would cause FileSharePort to always be set (due to the defaulting) - not sure there would be any problem with that, but it is a difference.
Examle - if somebody is using additionalparameters to set the fileshareport - that script would now fail.

That's true, maybe that was my real problem yesterday? That the test used port 80, no matter what port I configured for the webclient? I couldn't find any relevant references to port 80, where is this set for the test functions?
Aah, now I understand why there were no default values for the parameters. I'll update the PR so the tests works without defaulting the parameter.
But I guess that it'll still be an issue with additionalparameters. They'll be a bit of a challenge to test,  even if not impossible. Do you think we need to take that into consideration? I guess we have to...

A fix like this in SetupVariables:
if ("$fileSharePort" -eq "")          {
    if ($webClientPort -eq "8080") {
        $httpSite = "N"
    }
    else {
        $fileSharePort = "8080"
    }
}

would mean that the container would switch off the fileshare if you use webclientport = 8080 without setting the fileshareport.
Beside that - run and gettests should use the webclient port.
will fix these things.

Yes, that is a better solution. 👍

But thanks for finding this


Bug 1714771: Fix cert sync start

Bump to pick up https://github.com/openshift/library-go/pull/430

/hold fake bump

/test e2e-aws-operator

@sanchezl please update for a real bump

/lgtm
needs rebase

no longer needed (bump occurred in another PR)


Add #[derive(serde::Default)] that is aware of serde default annotations

When using serde defaulting users currently have to manually create Default implementations that match the serde annotations.
For example:
    #[test]
    fn test() {
        #[derive(Deserialize)]
        struct Container {
            a: A,
        }
        #[derive(Deserialize)]
        struct A {
            #[serde(default)]
            b: B,
        }

        #[derive(Deserialize, Default)]
        struct B {
            #[serde(default = "true_fn")]
            c: bool,
        }

        fn true_fn() -> bool {
            true
        }

        let container1 = serde_yaml::from_str::<Container>("a: {}").unwrap();
        let container2 = serde_yaml::from_str::<Container>("a: {b: {}}").unwrap();
        println!("{}", container1.a.b.c);
        println!("{}", container2.a.b.c);
    }

The output is:
true
false

This is because the implementation of Default disagrees with the serde defaults.
The current workaround for this is to manually create the default implementation of B such that it agrees exactly with serde. On large and complex structs this is almost guaranteed to lead to errors.
It'd be great if serde provided derive support for Default that is aware of the serde default annotations.

I would prefer not to build this into this crate. But this derive can be implemented in a separate crate.

Looks like such a crate already exists: https://docs.rs/serde_default/0.1.0/serde_default/

The crate listed above didn't work for me, so I created a new one: https://crates.io/crates/serde_derive_default


healthcare=laboratory preset

Fixes #4980.

Thanks @vershwal 👍
I renamed it to "Medical Laboratory" just because "Laboratory" is kind of ambiguous.

I renamed it to "Medical Laboratory" just because "Laboratory" is kind of ambiguous.

Yeah!! Sounds good.


Sim-Sidebar Layout for Tutorials

Overview
This adds an optional feature flag that allows us to switch tutorials to a layout with the sim on the left-hand side and instructions at the top. It's somewhat reminiscent of the older tutorial layout, mixed with the tablet/mobile layout in the current tutorial infrastructure. The changes only really affect desktop view. In mobile and tablet, the layout is relatively unchanged.
Notable changes

Removing the tabs in sidepanel.tsx and having both the instructions and the sim visible at the same time.
Switching the editorSidebar css styling to use a class (editor-sidebar) instead of an id, so more than one component can use the styles.
Taking a lot of the tablet-specific css styling and moving it into a shared style (using lesscss mixins)

Thoughts / Future Work
Gut feeling is that, ultimately, the tutorial content and the sim sidepanel should be moved into fully separate components instead of keeping them both inside sidepanel.tsx, but that refactor felt out of scope for this initial change.
A separate change will have to go through pxt-microbit to enable the flag, but I'll do that after this goes in.
Upload Target
Try it here: https://makecode.microbit.org/app/a73d12439a9e7b3c03aec6bcaa2b90db696f3d38-d8b5430834
Screenshots
Desktop

Tablet

Mobile

Arcade unchanged (flag is disabled):

There's a lot of movement of the hint and next buttons from step to step. I don't think this is new behavior, but it feels more pronounced when the instructions are at the top. I think it would look better if we could keep their positions consistent. Also for the longer instructions, they seem a little too close to the edge.

There's a lot of movement of the hint and next buttons from step to step. I don't think this is new behavior, but it feels more pronounced when the instructions are at the top. I think it would look better if we could keep their positions consistent. Also for the longer instructions, they seem a little too close to the edge.

Yeah I mentioned this in one of our design meetings (specifically, I thought it was weird that the next and hint buttons can go out of the screen and you have to scroll to get to them). My suggestion was to keep them in the same position and only scroll the text of the tutorial, but apparently that had already been considered and this was chosen as the better design--the main reason being, if "Next" was always right there, students wouldn't scroll the instructions at all; they would just click next without seeing everything.
I think the same issue applies to your point as well. If we lock the buttons in place, we'll have to scroll the instructions separately, and students just won't do that a lot of the time and will click next without seeing it. The fact that they're close to the edge is also just happening because they're getting pushed down but haven't quite hit the point where a scrollbar is necessary. I could see about trying to add the scrollbar in those scenarios too but I'm not sure if that's better or worse...

Re: buttons moving
A scrollbar probably won't be much better. Not sure there is an easy solution, but something to think about - nothing to hold this PR up for, though.


The Build System is Weird!

What version of Go are you using (go version)?
go1.10 windows/amd64
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\Furkan\AppData\Local\go-build
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\Furkan\Documents\Go Projects\
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\Furkan\AppData\Local\Temp\go-build858009470=/tmp/go-build -gno-record-gcc-switches

What did you expect to see?
We know, the default Workspace system is : https://golang.org/doc/code.html#Workspaces
I've been trying to get build with Go for about 2 hours...  That's exactly how I was trying:
$GOPATH -> Main Workspace Path
How it should be Workspace Folder ? Like this;
$GOPATH
-libs
-projects (Original version is 'src'. It's very misunderstood. I was putting the normal '.go' files in here -,-)
--Project-A
---.git/
---bin/
---src/
--Project-B
---.git/
---bin/
---src/
-...
What did you see instead?
Even if you are not going to change the Workspace system in the future, please change the name of the 'src' folder to like 'projects'
You can also add a function that will create an easy way with a command such as 'go init'. What exactly is it doing ? If the GOPATH is set and I execute the 'go init project-a' command ; The build system should automatically crate project and Workspace adjustment if it is not set.
For example:
$GOPATH = C:\go-works
When I ran : "go init Project-A", The Workspace folder must be set as follows;
$GOPATH
-libs
-projects
--Project-A
---bin/
---src/
Even if you don't think about it, the current system is in a very misunderstood state. Please change it. Thank you. <3

We can't change $GOPATH/src to $GOPATH/projects; that would break backwards compatibility and lots of people's setups.
However, what you're after is likely not using $GOPATH at all - see #17271.

I'll take the thumbs up as you agreeing with my comment above; closing.


Support to GuixSD

Hi,
I ask you for add GuixSD support, now that version 1.0 was released, so I can post screenshots on reddit! :)
Thanks!

We already supported GuixSD. The ASCII and package manager are there.

Thanks! Ok, the problem is that Guix doesn't have uname...


net/http: "missing status pseudo header" when reusing HTTP/2 connection

What version of Go are you using (go version)?
1.9.2
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOHOSTARCH="amd64"
GOHOSTOS="darwin"

What did you do?
Reusing an HTTP client resulted in a panic, example code: https://play.golang.org/p/DGUqwSMygZ
Unfortunately, I was unable to reproduce this issue again, still find it worth reporting it here.
Panic trace:
Got response!
failed to GET: missing status pseudo header
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x11d5340]

goroutine 7 [running]:
net/http.(*http2pipe).Write(0xc420457ce8, 0xc4200620e0, 0x51, 0x64, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:3661 +0x100
net/http.(*http2clientConnReadLoop).processData(0xc420489fb0, 0xc42007f560, 0xc42007f560, 0x0)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:8259 +0x2ac
net/http.(*http2clientConnReadLoop).run(0xc420489fb0, 0x12a9300, 0xc4200357b0)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7896 +0x54f
net/http.(*http2ClientConn).readLoop(0xc420080820)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7788 +0x9d
created by net/http.(*http2Transport).newClientConn
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7053 +0x6b9
exit status 2

The first request succeeded, (Got response!), the second one failed (failed to GET: missing status pseudo header) and most likely the third one caused the panic.
Is this a bug?

No, they don't.
Which URL are you actually requesting? I'm wondering which server you're hitting.
Can you attach a trace with GODEBUG=http2debug=2 set?
/cc @tombergan

Can you attach a trace with GODEBUG=http2debug=2 set?

No unfortunately not. The crash only occurred once and never again since.

Which URL are you actually requesting?

I initially preferred to not disclose this information, maybe it might still help though:
The app happened to crash while trying to query various coin prices from Kraken using this library: https://github.com/nakatanakatana/cryptowatch-go
Example code here: https://play.golang.org/p/qvUGs3v24f

Good news, it crashed again 🎉
2017/11/26 18:56:47 http2: Transport encoding header ":authority" = "api.cryptowat.ch"
2017/11/26 18:56:47 http2: Transport encoding header ":method" = "GET"
2017/11/26 18:56:47 http2: Transport encoding header ":path" = "/markets/kraken/etceur/price"
2017/11/26 18:56:47 http2: Transport encoding header ":scheme" = "https"
2017/11/26 18:56:47 http2: Transport encoding header "accept-encoding" = "gzip"
2017/11/26 18:56:47 http2: Transport encoding header "user-agent" = "Go-http-client/2.0"
2017/11/26 18:56:47 http2: Framer 0xc4201448c0: wrote HEADERS flags=END_STREAM|END_HEADERS stream=7 len=27
2017/11/26 18:56:48 http2: Framer 0xc4201448c0: read HEADERS flags=END_HEADERS stream=7 len=31
2017/11/26 18:56:48 http2: decoded hpack field header field "content-encoding" = "gzip"
2017/11/26 18:56:48 http2: decoded hpack field header field "content-type" = "application/json"
2017/11/26 18:56:48 http2: decoded hpack field header field "content-length" = "71"
2017/11/26 18:56:48 http2: decoded hpack field header field "date" = "Sun, 26 Nov 2017 17:56:48 GMT"
2017/11/26 18:56:48 http2: Transport received HEADERS flags=END_HEADERS stream=7 len=31
2017/11/26 18:56:48 http2: Framer 0xc4201448c0: wrote RST_STREAM stream=7 len=4 ErrCode=PROTOCOL_ERROR
2017/11/26 18:56:48 http2: Framer 0xc4201448c0: read DATA flags=END_STREAM stream=7 len=71 data="\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xaaVJ\xcc\xc9\xc9/O\xccKNU\xb2\xaaVJ\xce/.Q\xb22365\xb7\xb0421\xd7Q*J\xcdM\xcc\xcc\xcb\xccKW\xb22\xa8\xad\xe5\x02\x04\x00\x00\xff\xff.\xa9\xda\xeb/\x00\x00\x00"
2017/11/26 18:56:48 http2: Transport received DATA flags=END_STREAM stream=7 len=71 data="\x1f\x8b\b\x00\x00\x00\x00\x00\x00\xff\xaaVJ\xcc\xc9\xc9/O\xccKNU\xb2\xaaVJ\xce/.Q\xb22365\xb7\xb0421\xd7Q*J\xcdM\xcc\xcc\xcb\xccKW\xb22\xa8\xad\xe5\x02\x04\x00\x00\xff\xff.\xa9\xda\xeb/\x00\x00\x00"
2017/11/26 18:56:48 RoundTrip failure: missing status pseudo header
failed to query price: Get https://api.cryptowat.ch/markets/kraken/etceur/price: missing status pseudo header
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0x11d5340]

goroutine 9 [running]:
net/http.(*http2pipe).Write(0xc4204cd928, 0xc420278000, 0x47, 0x64, 0x0, 0x0, 0x0)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:3661 +0x100
net/http.(*http2clientConnReadLoop).processData(0xc420055fb0, 0xc420115590, 0x1c, 0xc420055ec8)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:8259 +0x2ac
net/http.(*http2clientConnReadLoop).run(0xc420055fb0, 0x12a9340, 0xc420468fb0)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7896 +0x54f
net/http.(*http2ClientConn).readLoop(0xc420080340)
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7788 +0x9d
created by net/http.(*http2Transport).newClientConn
	/usr/local/Cellar/go/1.9.2/libexec/src/net/http/h2_bundle.go:7053 +0x6b9

That's a bogus response from the api.cryptowat.ch HTTP/2 server.
Admittedly we should handle it better (not crash, whoops), but we also need to contact the author of that HTTP/2 server and get it fixed.
What do Chrome & Firefox do when :status is missing? Hopefully they're not permitting it and encouraging such violations.
/cc @tombergan @mcmanus @mnot

Did a quick tcpdump; that server doesn't appear to be negotiating H2, either with ALPN or Alt-Svc.

@mnot both h2i and Chrome do negotiate HTTP/2 on my side:
$ h2i api.cryptowat.ch
Connecting to api.cryptowat.ch:443 ...
Connected to <IP_ADDRESS>:443
Negotiated protocol "h2"
Sending: []
[FrameHeader SETTINGS len=24]
  [MAX_FRAME_SIZE = 1048576]
  [MAX_CONCURRENT_STREAMS = 250]
  [MAX_HEADER_LIST_SIZE = 1048896]
  [INITIAL_WINDOW_SIZE = 1048576]
[FrameHeader WINDOW_UPDATE len=4]
  Window-Increment = 983041

[FrameHeader SETTINGS flags=ACK len=0]

It's possible it's only doing NPN and not ALPN. I can check later.

a response missing :status is a PROTOCOL_ERROR in firefox

api.cryptowat.ch seems to do both NPN and ALPN.
Still not sure which HTTP/2 server it is.
https://cryptowat.ch/about says it was created by @artursapek. Artur, can you comment on which HTTP/2 server you're using for Cryptowatch? The HTTP/2 implementation seems buggy.

hi @bradfitz. it's a net/http go server, actually. we're binding to ":443" directly using https://godoc.org/net/http#Server.ListenAndServeTLS to get the HTTP/2 features.
the binary on production was built with:
go version go1.9 linux/amd64

GOOS="linux"
GOARCH="amd64"

Well that's embarrassing.
@artursapek, thanks. I'll try to figure out how and where we're dropping :status.

@bradfitz no worries, lmk if I can provide more specific details. and thanks for all your work on Go! we have a ton of gophers working hard for us over here.

@artursapek, I actually do see one way for this to happen, but it's weird: your http.Handler code would have to call ResponseWriter.WriteHeader(0). In that case, we record that the user set an explicit header and don't add the implicit 200.
Is it possible you ever call WriteHeader(0), even accidentally? Hopefully that's the case (because it's easy to fix) and it's not something else I'm not seeing.

I could imagine code like:
var status int
if someCondition {
    status = http.BadRequest
} else if otherCondition {
    status = 500
}
rw.WriteHeader(status)

... that would forget to set status.

@bradfitz you're right, there was a case where we were failing to overwrite a default zero-value and passing that into WriteHeader. that branch of logic only happened in a timeout case (during moments of very high traffic), so that's why it was only happening occasionally from @leonklingele's perspective. I've deployed to production an update which fixes this.

Thanks for confirming. I'll fix the http2 server and make sure we're consistent in behavior from Go's API point of view between http1 and http2.

Also https://go-review.googlesource.com/c/go/+/80077/3 (in which I typoed this issue number).


chore: add e2e bundling tests

@thymikee Some context for you:

I plan to move some tests from integration_tests to e2e, where some commands will be spawned in subprocess for different fixtures just to make sure they work
In integration_tests there will be tests for a single fixture project and won't be spawned in a subprocess but called directly in the same context as the test (+ some mocking), so that we get proper coverage


unpublish: ignore errors generated by deleted nodes

If a node is deleted from k8s and LINSTOR, the volume attachments might
still hang around, triggering ControllerUnpublishVolume calls on nodes
that no long exist.
This commit ensures we handle this case gracefully, detaching from the "lost"
node. Since the node was already deleted from LINSTOR, there isn't actually
anything for us to-do on detach.

Note: draft until e2e tests have passed