Make parsed metadata variables available to output template

[x] I've verified and I assure that I'm running youtube-dl 2017.01.16

[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)
[x] Feature request (request for a new functionality)
[ ] Question
[ ] Other

Log
$ youtube-dl -v --write-description --write-info-json --write-annotations --write-thumbnail --all-subs --metadata-from-title "%(series)s, Season %(season_number)s: %(episode)s (Episode %(episode_number)s)" -o "%(series)s - S%(season_number)sE%(episode_number)s - %(episode)s.%(ext)s" --exec "touch {}.done"  http://www.pbs.org/wgbh/masterpiece/episodes/sherlock-s4-e3/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'--write-description', u'--write-info-json', u'--write-annotations', u'--write-thumbnail', u'--all-subs', u'--metadata-from-title', u'%(series)s, Season %(season_number)s: %(episode)s (Episode %(episode_number)s)', u'-o', u'%(series)s - S%(season_number)sE%(episode_number)s - %(episode)s.%(ext)s', u'--exec', u'touch {}.done', u'http://www.pbs.org/wgbh/masterpiece/episodes/sherlock-s4-e3/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.16
[debug] Python version 2.7.12 - Darwin-15.6.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[pbs] Downloading JSON metadata
[pbs] sherlock-s4-e3: Downloading webpage
[pbs] sherlock-s4-e3: Downloading player page
[pbs] sherlock-s4-e3: Downloading widget/partnerplayer page
[pbs] sherlock-s4-e3: Downloading portalplayer page
[pbs] sherlock-s4-e3: Downloading hls-1080p-16x9 video url info
[pbs] sherlock-s4-e3: Downloading m3u8 information
[pbs] sherlock-s4-e3: Downloading mp4-baseline-16x9 video url info
[pbs] sherlock-s4-e3: Downloading hls-800k-16x9 video url info
[pbs] sherlock-s4-e3: Downloading m3u8 information
[pbs] sherlock-s4-e3: Checking http-1200k video URL
[pbs] sherlock-s4-e3: Checking http-6500k video URL
[pbs] sherlock-s4-e3: Checking http-4500k video URL
[pbs] sherlock-s4-e3: Checking http-2500k video URL
[pbs] sherlock-s4-e3: Checking http-800k video URL
[pbs] sherlock-s4-e3: Checking http-400k video URL
WARNING: There's no description to write.
[info] Writing video annotations to: NA - SNAENA - NA.annotations.xml
WARNING: There are no annotations to write.
[info] Writing video subtitles to: NA - SNAENA - NA.en.vtt
[info] Writing video description metadata as JSON to: NA - SNAENA - NA.info.json
[pbs]<PHONE_NUMBER>: Downloading thumbnail ...
[pbs]<PHONE_NUMBER>: Writing thumbnail to: NA - SNAENA - NA.jpg
[debug] Invoking downloader on u'http://d6uz0or6bt1ws.cloudfront.net/videos/masterpiece/9784d628-a82e-45c1-83c9-fb12f32d3184/278743/hd-1080p-mezzanine-16x9/95b03357_mast4703-16x9-mp4-6500k.mp4'
[download] Destination: NA - SNAENA - NA.mp4
[download] 100% of 4.12GiB in 34:52
[fromtitle] parsed series: Masterpiece - Sherlock
[fromtitle] parsed episode_number: 3
[fromtitle] parsed season_number: 4
[fromtitle] parsed episode: The Final Problem
[exec] Executing command: touch 'NA - SNAENA - NA.mp4'.done
<EOT>

Make parsed metadata variables (--metadata-from-title) available to output template (-o)
Presently, it appears as if the only metadata available to the output template engine is that returned by the _real_extract() function in the site-specific extractor.
So, in my example, PBS, the only real element available at the time the output template is processed is the title, id, and a few others. Indeed, if you look in the logs I pasted above it seems that the metadata extraction from title happens quite late, after files have been written.
To be general, this is not specific to the PBS extractor.
Desired behaviour: Make metadata variables extracted from the title also available to the file output template.
Proposed fix: Move the processing of --metadata-from-title earlier (during initial extraction, before writing (m)any files).
While writing this report I noticed issue #11108 which is another manifestation of this same problem. Note at the end someone correctly identifies that the metadata-from-title is not available as a variable to the output template. In my view it would be more sensible to move this parsing earlier and make these variables available, instead of adding a whole 'nother parameter, --variables-from-title as suggested in #11108
I haven't digested enough of the codebase yet to make the change myself. Thanks for your consideration.

Proposed fix: Move the processing of --metadata-from-title earlier (during initial extraction, before writing (m)any files).

Yep that's the correct way.


Update detailed-guide.md

We should be more careful with PRs and their reviews. There are still references to old API in the docs.

hmmm, good point. Initially, I reviewed only the changes present in the PR itself

/refresh-docs


More details about building native modules locally

Hi @vjrantal, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Ville Rantala). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

@vjrantal : Thanks for your contribution to the Azure documentation! The author, @rmcmurray, has been notified to review your proposed change.

Thanks, @vjrantal - that looks like a great addition.
#sign-off


aarch64 compatibility

cc  -ffunction-sections -fdata-sections -fPIC -I dynasm -I src/machine/asm-Wextra -Wall -c src/machine/asm/execute.S

cannot compile due it's x86 assembly
full error log: https://gist.github.com/razum2um/f8ab8d708dc6962d960c6767043c64e7
Environment
cpu: rockchip-3399, debian: 10, linux: 5.6.5, gcc: 8.3.0
Is there any earlier portable c/rust version of that? Or any plans to make it portable?

For the moment there is no ARM support since the core of CKB VM is built with handcrafted x86_64 assembly code. There is plan to port it to other architecture such as aarch 64 but unfortunately there's no timeline on that now.

@xxuejie thanks for such a quick reply. yeah, I already examined that file 🙂
I'm just interested in how things work and definitely like the idea of mix riskv and rust. Can you elaborate in some more questions?

What's your estimate of time and complexity of development vm in C?
Does it make sense and will it be viable at all?
What could be initial steps to do that?
What were the reasons to write this in assembly from scratch?

I think there's some confusion here: there will never be a pure C version of the VM, it's either a pure Rust version, or a pure assembly version. A pure C version is never guaranteed to be faster than the Rust version, nor will it be as fast as the assembly version.
There is already a pure Rust implementation of the VM here, it is working now can and can be compiled to aarch64 easily. But it will never be used in CKB's production code due to the following reasons:

It is almost an order of magnitude slower than the hand-written assembly version
Maintaining compatibility between the pure assembly version and Rust version takes too much effort and not much gains

So I would say this really depends on your use case: if you just want to play with CKB VM on aarch64, you can do it now via the Rust implementation; but if your goal is to run the full CKB node on aarch64, a native aarch64 port of the assembly code will be required.


Atomicity of snapshot import

Describe the bug
When using snapshot import using a wrong path (or maybe because it was a dir and not a file?) to the snapshot it:

raises an error that is not very explicit
It creates a data.ms

Because of that, when relaunching meilisearch with the good path an error is raised because of existing data.ms.
To Reproduce
Steps to reproduce the behavior:

launch meilisearch with --snapshot-import [path to a dir OR path to a wrong file]
Error is raised:

Error: failed to iterate over archive

Relaunch MeiliSearch with correct path
Error is raised

Error: database already exists at ".../data.ms", try to delete it or rename it

Expected behavior
data.ms should not have been created and error should have been more clear.

Fixed by the integration of the new search engine in https://github.com/meilisearch/MeiliSearch/pull/1421


Add support for fix all auto fixable rule failures

update the target to es6 (so that the spread operator can be fully used)
add support for fixing all auto fixable errors

@angelozerr this is how far we can close the gaps between the language server plugin and vscode-tslint. See #32 for the current status. Can you please update the node module.

Very cool PR, thanks again @egamma ! I have pudblishe 0.9.6 with yoour issue.


Fix the test image of numbering.png

What I create pull request "add current numbering way of hiragana and katakana" can cause error in test.
Therefore, I fix the test image of numbering.png.
I think it will solve the test error.

Hi - I wonder was this because the error-ing image file was created by clicking the "Update" button in the test-helper extension? If so, could you please provide the oxipng version installed on your PATH? I wonder if it's because the oxipng on the PATH is different from the oxipng in Typst's dependency tree.
Even if it's the case, it's still bewildering why the CI was not able to flag this issue when #3012 was being merged...

Hi,  thank you for providing me with various information. However, this may be a more straightforward issue.
Due to my testing across multiple environments, I accidentally requested a branch that still has images not yet updated. In fact, e970cfd is what I requested and CI test caused error, so I had to update the figure to pass the CI test. However, for some reason, though the error is still persisted , it was got merged into the main branch.
By the way, my oxipng version is 9.00 and it is the same as the one in the root Cargo.toml.

@reknih most likely just missed the failing CI. regarding this PR: why does it show a diff on the code and not just on the reference image?

I have rebased the PR upon main. The diff now only contains the changed test image and two whitespace changes in the test case. Excuse me for not catching the test failure yesterday.

I believe it could be worthwhile for this repo to adopt a merge queue so as to avoid this problem in the future: it runs CI again on the PR (or on each PR in the queue) before merging, and only merges if CI passes, otherwise merging is cancelled.


bug: [undefined: atomic.Bool ]

🌧 Describe the problem
When I attend to run the full-lipgloss example, I got the following error message:
github.com/lrstanley/bubblezone
../go/pkg/mod/github.com/lrstanley/bubblezone@v0.0.0-20221015234447-8db0faca329d/manager.go:54:17: undefined: atomic.Bool
⛅ Expected behavior
I expect to run the full test
🔄 Minimal reproduction
1 in my directory full-lipgloss I have the following files:
dialog.go  go.mod  go.sum  history.go  list.go  main.go  tabs.go  util.go
2 Then I run go run .     and I got the error message
💠 Version: bubblezone
github.com/lrstanley/bubblezone v0.0.0-20221015234447-8db0faca329d h1:cYNT20vgHPsn7fK6cx/zy3iCaPnlcztWDerhx4iPTZ8= github.com/lrstanley/bubblezone v0.0.0-20221015234447-8db0faca329d/go.mod h1:u+P0PRRatV4IhcL0LncRZAew9nlYvTQvgYbEu5h1iw0= g
🖥 Version: Operating system
linux/other
⚙ Additional context
I am running linux debian 11 in a Pixelbook .
go version is go1.18.7 linux/amd64
🤝 Requirements

[X] I believe the problem I'm facing is a bug, and is not intended behavior. Post here if you're not sure.
[X] I have confirmed that someone else has not submitted a similar bug report.

This is due to atomic.Bool being added in Go 1.19. I'll bump the required Go version in the go.mod file as well to make it more clear that Go 1.19 will be required moving forward.
If you are unable to update your Go version, the last version that supports Go 1.18 can be pulled via this command (was just a week or so ago that I added the new 1.19 requirement):
$ go get github.com/lrstanley/bubblezone@fc2e2a5f029495535fe32183ec6110b2aba2692b

Pinning to a minimum of Go 1.19 added in https://github.com/lrstanley/bubblezone/commit/b3469cc5a65953ac7af1d38bf6ba5391eba93751.

Most appreciated Liam!On Oct 29, 2022 7:33 p.m., Liam Stanley @.***> wrote:
Closed #9 as completed.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


Zarf exits with a zero exit code even though a package deployment failed.

Environment
Device and OS: macbook Pro Intel chip / macOS Monterey v 12.6
App version: v0.21.3
Kubernetes distro being used: k3d
Other:
Steps to reproduce

Build an application zarf package with missing deployment spec (i.e. no selector info or template.metadata)
Attempt to deploy package and receive a WARNING Unable to complete helm chart install/upgrade followed by "Zarf deployment complete" message

Expected result
zarf exits with a non-zero exit code
Actual Result
zarf exit with zero exit code
Visual Proof (screenshots, videos, text, etc)

Severity/Priority
Additional Context

Yeah been meaning to address that, thanks, added to the final PR going in before the release today.


Upgrade to SparseMatrixColorings v0.4 (still in dev)

DI source

Adapt to the SparseMatrixColorings upgrade being developed in https://github.com/gdalle/SparseMatrixColorings.jl/pull/38

Codecov Report
Attention: Patch coverage is 0% with 37 lines in your changes missing coverage. Please review.

Project coverage is 43.25%. Comparing base (0e5ecfd) to head (0f5a2d6).

Files
Patch %
Lines

DifferentiationInterface/src/sparse/jacobian.jl
0.00%
25 Missing :warning:

DifferentiationInterface/src/sparse/hessian.jl
0.00%
12 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (0e5ecfd) and HEAD (0f5a2d6). Click for more details.
HEAD has 44 uploads less than BASE

Flag
BASE (0e5ecfd)
HEAD (0f5a2d6)

50
6

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #405       +/-   ##
===========================================
- Coverage   96.68%   43.25%   -53.44%
===========================================
  Files         103       71       -32
  Lines        4981     2684     -2297
===========================================
- Hits         4816     1161     -3655
- Misses        165     1523     +1358

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


0.17.0 dependent

With 0.17.0 of Celluloid released, this ought to also be recut.

Are we close to a 0.17.0 release of celluloid-io?

Yes we are, we are synchronizing versions. I've just been a bit tied up but I'm getting free and we'll be in version-lock step across the celluverse.

:dancer:


Does the project support Fast RCNN

Hi, does the repository support fast rcnn?

Hi @tengerye , please find attach configs/fast_rcnn_r50_fpn_1x.py and configs/fast_mask_rcnn_r50_fpn_1x.py, which support fast rcnn and fast mask rcnn. You can extract rpn proposals with configs/rpn_r50_fpn_1x.py, and the proposal file will be released later.

Hi @OceanPang , thank you for your kind reply.
How would I feed my own proposals (e.g. from selective search) to the code please?

@tengerye Sorry for the late reply. You can specify the proposal file in the config file, see https://github.com/open-mmlab/mmdetection/blob/HEAD/configs/fast_rcnn_r50_fpn_1x.py#L65.
The content of the proposal file should be a list of nx4 or nx5 numpy arrays.

Hi @tengerye , please refer to configs/fast_rcnn_r50_fpn_1x.py and configs/fast_mask_rcnn_r50_fpn_1x.py, which support fast rcnn and fast mask rcnn. You can extract rpn proposals with configs/rpn_r50_fpn_1x.py, and the proposal files will be released later.

@hellock @OceanPang Hi, Dalaoes! So I use config/rpn_r50_fpn_1x.py to train images data but also get *.pthweights file，the proposals pkl file should make for use selective search?  Do you have some scripts to generate this in mmdetection?

@ZengyuanYu You can use the trained RPN model to get proposals. Just run scripts like python tools/test.py config/rpn_r50_fpn_1x.py <CHECKPOINT_FILE> --gpus 8 --out val_proposals.pkl to obtain proposal file.

@hellock Thanks, Kai. I have solved the problem according to this page. Please ignore my previous issue about fast rcnn :).


[visrtx] New port

[x] Changes comply with the maintainer guide
[x] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines.
[x] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all find_package calls are REQUIRED, are satisfied by vcpkg.json's declared dependencies, or disabled with CMAKE_DISABLE_FIND_PACKAGE_Xxx
[x] The versioning scheme in vcpkg.json matches what upstream says.
[x] The license declaration in vcpkg.json matches what upstream says.
[x] The installed as the "copyright" file matches what upstream says.
[x] The source code of the component installed comes from an authoritative source.
[x] The generated "usage text" is accurate. See adding-usage for context.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is in the new port's versions file.
[x] Only one version is added to each modified port's versions file.

Notes to the reviewer: This is opened as a draft until https://github.com/microsoft/vcpkg/pull/33304 is merged as it depends on OptiX.

/azp run

See #33304 .


Add a "close form" configuration variable

Store another boolean in the usual configuration variables table.
When the form is closed, no submissions are possible and a message saying "Sorry but we aren't hiring right now" or similar is shown in index.

Whatever...

I've implemented sth that uses both solutions asd


R developer's guide to Azure

One important piece is missing, i.e. Azure Data Factory and particularly the DF ver 2 documentation for ML solution orchestration.

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

ID: 7904f8db-8ae8-68de-3559-bd6db96394c0
Version Independent ID: be3a8757-595a-b913-2d6e-54e47344b40d
Content: R developer's guide to Azure - R programming
Content Source: articles/machine-learning/r-developers-guide.md
Service: machine-learning
GitHub Login: @AnalyticJeremy
Microsoft Alias: jepeach

@dumnovnz Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.
@AnalyticJeremy Hi, there is a doc-bug reported, can you please check it and update the document as necessary? Thanks a lot!

Hi, @dumnovnz.  Can you please elaborate a bit?  As far as I know, Azure Data Factory does not directly support R.  Instead, you use ADF to call other Azure services (like Azure ML Server).  Is there a use case that I'm over-looking?

It does not support R but supports Data Science / ML solutions that could
include AzureML R modules or R code block. Or even could be entirely
written in R; ADF is supposed to orchestrate  those solutions, but there
are no proper documentation to support the users.
On Tue, 2 Oct 2018 at 03:48, Jeremy Peach<EMAIL_ADDRESS>wrote:

Hi, @dumnovnz https://github.com/dumnovnz. Can you please elaborate a
bit? As far as I know, Azure Data Factory does not directly support R.
Instead, you use ADF to call other Azure services (like Azure ML Server).
Is there a use case that I'm over-looking?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/15632#issuecomment-425935301,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgWRjy2-f_p3QJ9fllmnmvmFzNVJ5LT0ks5ugitHgaJpZM4W5un8
.

@dumnovnz So you're saying that we don't need a document that is specific to R but instead we need a document that helps users build ADF pipelines to orchestrate data science / ML workloads?

yes, it was excly my point. Cheers
On Wed, 10 Oct 2018 at 04:50, Jeremy Peach<EMAIL_ADDRESS>wrote:

@dumnovnz https://github.com/dumnovnz So you're saying that we don't
need a document that is specific to R but instead we need a document that
helps users build ADF pipelines to orchestrate data science / ML workloads?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/15632#issuecomment-428246108,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgWRj1bM3NPFpxLzrD0syBnTphdv8Q5sks5ujMWvgaJpZM4W5un8
.

I'm not sure as I have not hear anything
On Tue, 23 Oct 2018 at 07:43, YutongTie-MSFT<EMAIL_ADDRESS>wrote:

@AnalyticJeremy https://github.com/AnalyticJeremy Hi, any update on
this issue? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/15632#issuecomment-431931537,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AgWRj7wG0tw4HbfvxRVJ5vdJmRSnJwJMks5unhHQgaJpZM4W5un8
.

@JasonWHowell @kfile @Blackmist FYI.

Azure Data Factory v2 does have support Azure Machine Learning Studio (v1) batch scoring and training activities. ADF v2 doesn't integrate with the newer version Machine Learning service (v2), but is possible through data factory's custom activity or web activity to call R code scenarios.
If there are specific integration points you think need priority, please share the list and I can relay the message to the Data Factory PM team.
Thanks, Jason

@dumnovnz Please see the post above.
@JasonWHowell Thanks for your update.

#please-close


Fix config.py linting

Helps resolve issue #35.

@JoyceZhu Thanks for the contribution! You got config.py sorted but I've gone with another PR that I've merged. If hacktoberfest brought you here, rest assured that PRs don't have to be accepted to count towards the 4

No problem, thanks for the quick response @jamesevickery !


"Required" not working

There are no error when i'm trying to send struct with non-set required field. Normal thrift will throw an Exception
https://github.com/bsideup/swift-test/tree/db14820915d6e7b199d1280a97306e1679d2644c
I think problem is here:
https://github.com/facebook/swift/blob/master/swift-codec/src/main/java/com/facebook/swift/codec/internal/compiler/ThriftCodecByteCodeGenerator.java#L907-907
There is no check for requiredness
https://github.com/facebook/swift/blob/master/swift-codec/src/main/java/com/facebook/swift/codec/internal/compiler/ThriftCodecByteCodeGenerator.java#L703-703
As well as here

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.


Don't look up the same entity multiple times in ListEvaluationHistory

Summary
We were looking up the same entity over and over again in
ListEvaluationHistory. Let's look up each entity just once, then cache
the properties.
This doesn't really increase the memory usage of the handler as we'd be
keeping the entity around anyway. With this change, we just keep a map
of UUID-to-pointer around for faster lookups.
Related: #4690
Change Type

[x] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
I used a bunch of debug printfs to check that the first time the entity is looked up in the
cache and then subsequently in the map.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 53.301% (-0.001%) from 53.302%
when pulling 3dd6e3f14bfd31ee7624faa534f4c6ec6c42514a on jhrozek:cache_history_lookups
into c43a6a4a49fb9202ca7edef99a18cc0417254348 on stacklok:main.


(0 , _clsx2.default) is not a function

Hi,
few days ago I updated all the packages in my project. Unfortunately, I came across an error in this repository. At first, I thought it might be the children's fault, but no. I hope you can get it right :)

Hi @gsiwiec01 ,
How were you able to fix this issue?


Deprecate giles receiver in favor of data receiver

Closes #2335
Closes https://github.com/WallarooLabs/wallaroo/issues/2159
I spoke to @nisanharamati about this. ~He said not to worry about the sequence_window correctness test as he plans to remove it.~
It's best to go commit by commit to understand what's been added/removed.

If something that is going to be removed depends on this then I think it should be removed as part of the PR.

If something that is going to be removed depends on this then I think it should be removed as part of the PR.

Specifically, any references in the READMEs, testing playbooks, /book, docstrings, etc.

I believe this will also eliminate the need for #2341.


Question to cloud sync

Hello,
Love the app, currently I'm hacking together a prototype with cloud sync. My question is did you ever plan on making it work with cloud sync ?
As for my motivation, I love the app use it everyday but I can not use it on different devices. So I'm trying to create now a way to make the cloud sync work so I can sync it between my 2 Pcs for now.
Please let me know what you think of this and if this is something you intended.
Thanks

Hi @alminisl,
Thanks for opening the issue!
I'd rather not build cloud sync functionality into the app, in order to keep it simple and offline-only. You can still get sync to work though by storing the diary file e.g. in your Dropbox folder. There's a short guide on the website (https://minidiary.app) on how you can do this 🙂

Hi @alminisl,
Thanks for opening the issue!
I'd rather not build cloud sync functionality into the app, in order to keep it simple and offline-only. You can still get sync to work though by storing the diary file e.g. in your Dropbox folder. There's a short guide on the website (minidiary.app) on how you can do this 🙂

aah thanks did not know about that, totally understand! Thanks!


Create spurakal86.yaml

Hi @spurakal86 it looks like you did everything right except you will need to use .yml as the file extension. I have no personal preference for using .yaml or .yml, but we needed to include a specific filter to trigger the automation. If you repeat the steps but use .yml as your file extension, it should process your request automatically within ~1-3 minutes. Thanks!


Dataset Download

I have sent two emails a few weeks ago to<EMAIL_ADDRESS>to request access to the dataset. However, I haven't received an email yet.
Thank you very much!

Did you receive reply then?

what does PI's name in license agreement means?

what does PI's name in license agreement means?

hello,can you share dataset with me


Problems occur when compiling blocks

Expected Behavior
Please describe what should happen
In Blockly. Generator. BlockToCode var func = in this [block. The type] will produce a undefined.
Describe what actually happens
Steps to Reproduce
Explain what someone needs to do in order to see what's described in Actual behavior above
Operating System and Browser
e.g. Mac OS 10.11.6 Safari 10.0

We do not provide generators for scratch-blocks but rather provide an interpreter called scratch-vm. If you would like to use generators, you will need to implement them yourself.


Copy/paste, SSH, Tmux

I'm putting this here in the hope that it will help others in a similar situation.  We're going all in on Micro for our shared cloud development environment and wanted to get copy/paste working well.  After reading the micro help docs, stackoverflow etc, we finally came up with the following solution to get Micro over SSH inside tmux all working nicely. We're using Ubuntu on our local machines, as well as on the server:

close the ssh connection to your remote machine
create/edit .ssh/config on your local machine
add the line ForwardX11 yes
ssh into your remote machine
install xclip if it isn't already
close all your tmux sessions; unfortunately the above won't get through to existing sessions
start a new tmux session
do a check: echo "test" | xclip then xclip -o
likewise, check the 'bridge' with your local machine's clipboard by copying text from a local app like a browser and then running xclip -o on your remote tmux session
you can also do echo "something" | xclip and paste it somewhere on your local machine
check copy/paste works inside a single Micro instance by using the stanard Micro copy/paste keybindinds; i.e. ctrl+c, ctrl+v
check copy/paste works across Micro instances in different tmux panes

I should add something else.
Micro uses the xclip 'clipboard' selection, whereas xclip on the command line defaults to 'primary'.  Therefore, we find it most convenient to create these alias:
alias copy="xclip -selection clipboard"
alias paste="xclip -o -selection clipboard"

This basically unifies copy/paste between micro, your remote command line, tmux and your local system.

Quick tip.  Using the above setup, there is a slight, but significant, delay when pasting in Micro (i guess due to various layers the paste is having to go through).  You can avoid this by just using the 'terminal level' paste key combo: shift+ctrl+v.  This pastes instantly.

Ive now patched the author's clipboard package to work very nicely with the tmux buffers - I believe this is the best solution for tmux users.  Im using it on a daily basis and it appears to work very well.  I'll open a PR.

Thanks for the instructions, it helped me.
Just a note that paste is an existing command provided by GNU coreutils, which many users might have installed by default.

Thank you for this.

Ive now patched the author's clipboard package to work very nicely with the tmux buffers - I believe this is the best solution for tmux users. Im using it on a daily basis and it appears to work very well. I'll open a PR.

I’m looking for something like this, did you get around to submitting the PR? I couldn’t find it.

I found another solution for this problem when you have X server running on a remote machine.
When I run:
xclip

on remote machine via SSH I get Error: Can't open display: (null)
This is a hint actually.
I did:
alias m = 'DISPLAY=:0 micro'

And micro copy-paste works good. Try it. Years of pain are gone:)
Another task is to find a work around the problem without X server running and without X server forwarding.

Another solution (now it works without X11 running).
All info is here: https://github.com/tmux/tmux/wiki/Clipboard
TLDR: write this text in tmux.conf
set -as terminal-features ',xterm-*:clipboard,alacritty:clipboard'

Instead of xterm-* or alacritty specify your terminal's TERM value (echo $TERM).
This will allow external programs like micro to fill clipboard. Works awesome.

Quick tip. Using the above setup, there is a slight, but significant, delay when pasting in Micro (i guess due to various layers the paste is having to go through). You can avoid this by just using the 'terminal level' paste key combo: shift+ctrl+v. This pastes instantly.

Using Ctrl + Shift + V speeds up paste time, but there is still a pretty significant delay in copy time. Any idea how to eliminate or improve that? The delay is probably a full second, and for a command-line tool, that feels like forever.

Ive now patched the author's clipboard package to work very nicely with the tmux buffers - I believe this is the best solution for tmux users. Im using it on a daily basis and it appears to work very well. I'll open a PR.

@jpincas , did you open a PR?

It turns out micro has this copy/paste informational article here too: https://github.com/zyedidia/micro/blob/master/runtime/help/copypaste.md


Missing tag error while deploying functions with core tools

Followed instructions from:
and when executing func azure functionapp publish pypreviewapp, got the following error.
Running docker exec -t c042b8fecca82e433ecf220fff4794de4cca89d918e2c09d026d2e9b8ebdc7ba /python_docker_build.sh
Obtaining azure_functions_python from git+https://github.com/Azure/azure-functions-python-worker.git@549f40b8be07388fedbc5b706db6d14e5179bc6e#egg=azure_functions_python (from -r requirements.txt (line 1))
  Cloning https://github.com/Azure/azure-functions-python-worker.git (to 549f40b8be07388fedbc5b706db6d14e5179bc6e) to ./worker_venv/src/azure-functions-python
  Could not find a tag or branch '549f40b8be07388fedbc5b706db6d14e5179bc6e', assuming commit.
and it doesn't move forward from here.
Workaround: Change the tag from 549f40b8be07388fedbc5b706db6d14e5179bc6e to "dev" in requirements.txt.

This looks like this issue that I filed: https://github.com/Azure/azure-functions-core-tools/issues/476

Is this a warning or an error?

This seems like an error and it doesn't proceed after this. As Andy says, if the requirements.txt is frozen, then it automatically adds this label to the pip install. So I suspect the func core tools that adds the venv.

This issue was moved to Azure/azure-functions-core-tools#484


Remove unnecessary panic when unable to subscribe to logs

The extension shouldn't panic when unable to make a successful subscription request to the logs API - just output a warning log message. Also, adding a user agent string with a version.

Looks good - just one suggestion regarding version title in changelog

Hmm. This raises a good question actually. The way this is published, it's deployed with publish-layer-version which returns a single version number. I'll keep the CHANGELOG as is but update version.go.


Ubuntu: 19.04, -o malfunction on Bitchute

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2<IP_ADDRESS>
[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 bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log
youtube-dl -o "%(upload_date) - %(title).%(ext)s" --restrict-filenames -v https://www.bitchute.com/video/dW5uDoyZZEt9/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-o', u'%(upload_date) - %(title).%(ext)s', u'--restrict-filenames', u'-v', u'https://www.bitchute.com/video/dW5uDoyZZEt9/']
[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.16 (CPython) - Linux-5.0.0-29-generic-x86_64-with-Ubuntu-19.04-disco
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3
[debug] Proxy map: {}
[BitChute] dW5uDoyZZEt9: Downloading webpage
[BitChute] dW5uDoyZZEt9: Checking video URL
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on u'https://seed32.bitchute.com/LeOgEMOhozqd/dW5uDoyZZEt9.mp4'
[download] Destination: %(title).mp4
[download] 100% of 7.52MiB in 00:04
Description
The video gets downloaded but with the file name %(title).mp4, I want to download the whole channel, the channel pages are downloaded but all videos result in the same file name and are therefore skipped. lsb_release -a on my machine is:
Distributor ID:	Ubuntu
Description:	Ubuntu 19.04
Release:	19.04
Codename:	disco```

Here another verbose output with the same result but with single quotes:
youtube-dl -o '%(upload_date) - %(title).%(ext)s' --restrict-filenames -v https://www.bitchute.com/video/dW5uDoyZZEt9/
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-o', u'%(upload_date) - %(title).%(ext)s', u'--restrict-filenames', u'-v', u'https://www.bitchute.com/video/dW5uDoyZZEt9/']
[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.16 (CPython) - Linux-5.0.0-29-generic-x86_64-with-Ubuntu-19.04-disco
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3
[debug] Proxy map: {}
[BitChute] dW5uDoyZZEt9: Downloading webpage
[BitChute] dW5uDoyZZEt9: Checking video URL
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on u'https://seed32.bitchute.com/LeOgEMOhozqd/dW5uDoyZZEt9.mp4'
[download] %(title).mp4 has already been downloaded
[download] 100% of 7.52MiB

Invalid output template. Each sequence must have trailing conversion type like %(ext)s.

Please tell me, why '%(upload_date) - %(title).%(ext)s' of
youtube-dl -o '%(upload_date) - %(title).%(ext)s' --restrict-filenames -v https://www.bitchute.com/video/dW5uDoyZZEt9/
is not having the trailing conversion type %(ext)s? It clearly has?

Each sequence must have
Each

Thanks for your reply on a closed issue.
Okay each sequence, to be honest I don't know what exactly you mean by that. I removed all arguments except the -o one, nothing changes on the output, the title of the video is not inserted but rather only the raw template string %(title) as described.
I just want to download (for now) only the single video in the above link with the posted arguments but it does not work.
If it is not a bug, may you please be so kind to modify my try so that it works? I played a lot with it but the result stays the same.

Are you trolling or what?
Must be %(upload_date)s instead of %(upload_date), %(title)s instead of %(title).

No, I did not understand what you meant, but with your example it is absolutely clear. Thank you.


Modal: OnHide function

There is way today to know when a modal has been dismissed.

@facebook-github-bot import

Isn't it possible to add this callback yourself in a wrapped component from JS? On componentWillReceiveProps (now hidden) or componentWillUnmount, you could call this just from JS.

Adding this from a wrapped component seems like a good workaround to me too. I'm going to close this pull request, but if that workaround doesn't seem like the right solution feel free to reopen this.


fix: move additional period out of feature flag checkbox

Description
Rewrote this a little for better localizability too.
Task Item
closes #6175
Screenshots

Coverage remained the same at 53.378% when pulling f44374a80426e45dd5014f2f49b34749176a7750 on beyackle/fixExtraPeriodInFlags into 702f34ac70943626a1afda57ffce9b408708bdd9 on main.


Wrong placement of default config file

Config file is written to ~/.rig_remote/rig_remote.conf by default, instead of ~/.rig-remote/rig-remote.conf.
Need to support old file name while transitioning to new one.

Fixed in devel in commit 8e2bc75751182b40aaec4e32086363fa659f7808.

Commit 0301fa4f52f973fba3dc7b610b0c54e6ff84dda7 code rewrite of handling for all working file paths.


Implement lock free work stealing for static_thread_pool

This PR tracks an improved implementation for static_thread_pool

/ok to test

/ok to test

/ok to test

/ok to test

@maikel can you make sure all new files have the right copyright header?

@maikel can you make sure all new files have the right copyright header?

OK, I think I got every file covered

/ok to test

this looks AWESOME.


Fetch tags when building in Circle.

The automatic version number detection relies on tags being available. This didn't matter, and then I merged c58bc40, and suddenly we're publishing the wrong version numbers to Bintray because the tags are missing.
For example, the build for eb608bc79f6d976a13069fd7d433e834942c8205 published as version 0.0.1-dev.42+eb608bc, even though a v0.0.1 tag already exists and new builds should be in the 0.0.2-dev series.

Not actually required. I'd somehow forgotten to push the v0.0.1 tag.


Using dbust-native on MacOS/OSX

Hi,
first of all: I am a total beginner when it comes to d-bus :-)
I want to use your library on an MacBook, b/c it is my developing machine. But the result will run on a RaspberryPi. I tried to get your examples/p2p to run but I only get the following:
serv.js
[ 'hello string: ',
  '\u0000AUTH EXTERNAL 353031\r',
  <Buffer 00 41 55 54 48 20 45 58 54 45 52 4e 41 4c 20 33 35 33 30 33 31 0d> ]

cli.js
events.js:165
      throw err;
      ^

Error: Uncaught, unspecified "error" event. (undefined)
    at EventEmitter.emit (events.js:163:17)
    at /../dbus-test/node_modules/dbus-native/index.js:93:19
    at /../dbus-test/node_modules/dbus-native/lib/handshake.js:104:22
    at /../dbus-test/node_modules/dbus-native/lib/handshake.js:28:14
    at FSReqWrap.oncomplete (fs.js:123:15)

Adding an error handler I only get an undefined, but no real error :(
conn.on('error', function () {
  console.log(arguments);
})

I am using node 6.4 and have install dbus via homebrew.

Hi @sebald ,
Can you try to run the return-types.js example and query the service on the command line (with gdbus, dbus-send or equivalent) and see if this works?
Also, you can try server-signals.js with client-signals.js too, which doesn't require you to use command line. These minimal tests will tell us if there is something wrong with your setup or not :-)

@sebald are you running dbus daemon on mac?

@sebald see related issue #54 - you can install dbus-daemon on osx using brew install dbus

Wow, thanks for the ultra quick reply!
@sidorares already did that :) I can run dbus-send on my terminal. What do you mean by "dbus daemon"?
@nschoe Running return-types.js gives the following error:
/[...]/node_modules/dbus-native/index.js:25
  if (!busAddress) throw new Error('unknown bus address');
                   ^

Error: unknown bus address
    at createStream (/[...]/node_modules/dbus-native/index.js:25:26)
    at createConnection (/[...]/node_modules/dbus-native/index.js:70:30)
    at Function.module.exports.createClient (/[...]/node_modules/dbus-native/index.js:130:20)
    at Function.module.exports.sessionBus (/[...]/node_modules/dbus-native/index.js:141:25)
    at Object.<anonymous> (/[...]/return-types.js:30:25)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

Running service-signals.js:
/[...]/node_modules/dbus-native/index.js:25
  if (!busAddress) throw new Error('unknown bus address');
                   ^

Error: unknown bus address
    at createStream (/[...]/node_modules/dbus-native/index.js:25:26)
    at createConnection (/[...]/node_modules/dbus-native/index.js:70:30)
    at Function.module.exports.createClient (/[...]/node_modules/dbus-native/index.js:130:20)
    at Function.module.exports.sessionBus (/[...]/node_modules/dbus-native/index.js:141:25)
    at Object.<anonymous> (/[...]/service-signals.js:24:25)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

I am just learning how the dbus interface works, so I hope I did not ask for too stupid things :-x

No problem, @sebald , but you need to read a little bit about dbus before you can begin.
Basically, in its start, DBus is an IPC mechanism (Inter-Process Communication), it defines a protocol for two processes (think 'programs') to communicate between them (even if they are not written in the same language).
This is DBus as its core. Then there is the dbus daemon, which is a daemon (as its name implies) that use dbus (the IPC library) to talk with several (lots of) applications that use dbus (the lib).
Basically, the dbus daemon keeps track of all the registered clients (which are applications that are connected to the dbus daemon). So rather than A talking directly to B, A talks to B through the bus (daemon).
From the error messages you've got, it seems that you don't have a dbus daemon (bus) running, hence the unknown bus address. I the bus is launched, you should have an environment variable named DBUS_SESSION_BUS_ADDRESS. Check with env | grep DBUS.
As @sidorares said, you need to install and run it :-)

@nschoe there is a bit of initial support for connecting clients directly bypassing daemon (my main use case was to try to write a simple implementation of daemon, but there might be other scenarios where this could be useful) - /examples/p2p is about this. Basically initial non-message protocol part is skipped and clients are free to exchange messages (up to them how to handle)

@sidorares okay, right. I thought /examples/p2p was about something like this, but I wasn't sure.
Thanks for clearing this for me!

Thanks a alot @nschoe and @sidorares  I really appreciate your time and patience with me. I read the wikipedia article before I started, because the other program I have to communicate with is written in C++ and this seemed the best way to do it (given the fact that I want to write JS/node).
This really is a good starting point for me and since my issue doesn't have anything to do with your lib, I'll go an close this issue.
Again, thanks a lot! ❤

@sidorares So does this mean it should work w/o a running daemon?

So does this mean it should work w/o a running daemon?

probably no, depending on what you want to achieve. What's the other service you want to communicate with? Is it your code as well (just in another process) or some service provided by system? In 99% of cases dbus is used to control (or get notified by) some system or desktop service: screensaver, bluez, network manager etc - most of them expose some dbus api - the rest 1% is RPC between processes of one bigger system

Since I can not run the other process on my MacBook I wanted to create a mock for it with your library. I basically I want to have node app 1 <-> dbus <-> node app 2.

try to install dbus daemon via homebrew ( but using linux+virtualbox might be easier)
You might need to do some extra manual steps (maybe assign session bus address - via DBUS_SESSION_BUS_ADDRESS env variable or as client parameter)


Check stability of scatter plots with a single point while zooming

@saklanmazozgur commented in #764:
double[] xs = new double[1];
double[] ys = new double[1];
Scatter = Angle_Angle1_Graphic.plt.PlotScatter(xs, ys);

If the graph is then zoomed, it gives the error "The parameter is not valid".
It does not give this error when the size of the array is more than 1.

Thank you for reporting this @saklanmazozgur!
I discovered this bug affected plots that contained data with no span (a single point is infinitely narrow and short). Fixing it also solved #733!
The fix will be in the next NuGet package (notice it is version 4.1 currently designated as a pre-release)


Abstract calculate_point_estimate up one more level

Change Description
This PR moved the point estimation code to a core mixin class. This will avoid duplication if/when we move to introduce a Reducer RAIL stage.
Additionally, we call self.calculate_point_estimates in CatEstimator._do_chunk_output to avoid having to make changes in all subclasses of CatEstimator. i.e. we get point estimation for free (when a user requests it) without having to modify any subclasses.

[ ] My PR includes a link to the issue that I am addressing

Code Quality

[ ] I have read the Contribution Guide
[ ] My code follows the code style of this project
[ ] My code builds (or compiles) cleanly without any errors or warnings
[ ] My code contains relevant comments and necessary documentation

Project-Specific Pull Request Checklists

Bug Fix Checklist

[ ] My fix includes a new test that breaks as a result of the bug (if possible)
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

New Feature Checklist

[ ] I have added or updated the docstrings associated with my feature using the NumPy docstring format
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[ ] I have added unit/End-to-End (E2E) test cases to cover my new feature
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

Documentation Change Checklist

[ ] Any updated docstrings use the NumPy docstring format

Build/CI Change Checklist

[ ] If required or optional dependencies have changed (including version numbers), I have updated the README to reflect this
[ ] If this is a new CI setup, I have added the associated badge to the README

Other Change Checklist

[ ] Any new or updated docstrings use the NumPy docstring format.
[ ] I have updated the tutorial to highlight my new feature (if appropriate)
[ ] I have added unit/End-to-End (E2E) test cases to cover any changes
[ ] My change includes a breaking change

[ ] My change includes backwards compatibility and deprecation warnings (if possible)

@eacharles I took another look over this after the prompt to do so at the Monday tag-up meeting, and I'm not seeing anything that needs to change at this point. Was there anything else in particular that you would like me to review prior to merging this code? If not, could I request a final re-review from you?


Test fixes for make_shapes_conform

more documentation
updated tests

It'd be good to have a little more specific branch names so that if somebody lists branches and sees 'test-fix' they don't have to scratch their head. Something mentioning shapes is already quite indicative.


No proper documentation on filter usage for boolean fields

I was implementing a filter for boolean but the above code does not work as expected.

Originally posted by @andrewhamili in https://github.com/ppetzold/nestjs-paginate/issues/339#issuecomment-2365400269

Hi, thanks for your report!
Could you please post the full command and entirety of the output (build logs, error logs, ...) as pure text formatted code blocks? People with vision impairment, or other people who use screen readers will not always be able to interpret the image content.
Booleans should work if you use 0 and 1. @ppetzold what about introducing $true and $false as operators, similar to $null? Otherwise it might be complicated to differentiate between "true" and true.

Closing in favor of https://github.com/ppetzold/nestjs-paginate/issues/988


Optional bool is still required in schema (code-first)

Describe the bug
When declaring a bool as Optional<bool>, the type still shows up as Boolean! in the schema.
To Reproduce
Create a mutation method in a code-first model that takes an Optional<bool> state = default as argument.
Expected behavior
The state argument should appear as optional in the schema.
Desktop (please complete the following information):

OS: Windows 10

Hi @huysentruitw
This is currently the intended behaviour
But it gets commonly confused.
What is your final take on this @michaelstaib
cc @mvestergaard
You can read about it there:
https://hotchocolategraphql.slack.com/archives/CD9TNKT8T/p1587598221363300?thread_ts=1587593198.359100&cid=CD9TNKT8T

Mathias Vestergaard  4 days ago
Any chance you could look into making the resulting type of Optional behave properly in 10.4.3 too?
For an input type, Optional becomes String which is what i'd expect, but Optional becomes Boolean! I'd expect Boolean

Michael:hot_pepper:  4 days ago
actually Optional<bool?> should become Boolean

Michael:hot_pepper:  4 days ago
Optional is supposed to be a helper that detects when a prop is not set

Michael:hot_pepper:  4 days ago
for instance

Michael:hot_pepper:  4 days ago
you can have an input like the following

Michael:hot_pepper:  4 days ago
input foo {
bar : String! = "bar"
}

Michael:hot_pepper:  4 days ago
in this example you have a required property with a default

Michael:hot_pepper:  4 days ago
meaning

Michael:hot_pepper:  4 days ago
that bar is required but can be omitted by the client since it has a default

Michael:hot_pepper:  4 days ago
with optional you can detect if the field was provided or not

Michael:hot_pepper:  4 days ago
Optional is not meant to interfere with the type itself

Michael:hot_pepper:  4 days ago
so the schema builder strips away optional and inferrs the nullability from the inner type

Mathias Vestergaard  3 days ago
Michael Ok, what we're trying to use Optional for, is for patching behavior on updates. So for an input type, with no default, i would argue that Optional  should be inferred to Boolean, otherwise Optional is pointless, since I can never not give a value, and while Optional<bool?> works, it's wrong in relation to what I'm trying to do. If the value is set i want it to be a bool and not bool?. Make sense? (edited)

Mathias Vestergaard  3 days ago
As mentioned, it also doesn't work consistently atm. Optional becomes String while Optional becomes Int!

Mathias Vestergaard  3 days ago
So any value type, becomes non-nullable, while reference types don't (edited)

Mathias Vestergaard  2 days ago
Michael If nothing else, could you maybe add the IOptional interface to 10.4.3? It'll make some mapping logic a whole lot easier

As said above, when you use nullable reference types you can define Optional<TRef?>. This should be handled correctly

@huysentruitw BTW I've seen your issue on the graphql-client repo. You may be interested in this Strawberry Shake. It is a graphql client that generates code for your queries so you have a fully typesafe experience.
It will be released in May. You can already look at a preview here:
https://chillicream.com/blog/2019/11/25/strawberry-shake_2

I definitely think the logic should be changed to only make the type non-nullable when there's a default value, otherwise it should be implicitly nullable.

Again, optional has nothing to do with nullability. It is totally valid to not send a required field in GraphQL if it has a default value. I do not want to recreate C# built in types like Nullable<bool> and Optional<Nullable<bool>> is really something that is valid.
This is also a focus point for 11. Lets say you have the following input:
input Foo {
  b: Boolean! = false
}

In the above case if b is not send in which is again valid then Optional<bool> b will be HasValue = false and Value = false since the default value is false but it is still not set.
Optional would become useless if we also bind nullability to it. How would you even check nullability?
Optional => Was something send in.
Nullable => Something is nullable.
Same goes for reference types btw.

But if there's no default value, I can never NOT assign the value, making Optional pointless

I still really think Optional<T>should only do one thing otherwise it becomes complicated. When do you use what and when does it what. Until know we are not taking into account things like default value when inferring types.
Thoughts @PascalSenn  @rstaib

For patching behavior, default values cannot be used, because only assigned values are relevant, but when they are assigned, they should be not null.

The problem here is that from a spec standpoint there is nothing like patching. The spec will state that there is something like the argument coercion where we would need to assign a definite value.
So in order to extract that something was send in we have to keep track of what is send in... and this we actually do with optional. That is why we created it.

Example:
public class UserPatch
{
    public Optional<bool> IsActive { get; set; }
}

I only want to use the value of IsActive if it has been assigned, and when it has I want the value to be bool, not bool?. But atm I have to define it as Optional<bool?> which requires extra logic to check first whether it has been assigned, and then whether the value is valid

http://spec.graphql.org/draft/#sec-Coercing-Variable-Values

Fair, but isn't Optional<T> more of an internal HotChocolate utility than anything?

@mvestergaard I understand. So do not think I want to just block this off.
But I think that we would mix things up and writing it more explicit is actually better.
public class UserPatch
{
    public Optional<bool?> IsActive { get; set; }
}

But I am open to discuss this so this. For me personal things should be simple and explainable. But I also get your point.

maybe the the name of optional is not the right one.

We map it internally to an equivalent type called Maybe<T>. Also because we do mapping using AutoMapper, it's not that huge a problem, since it'll map Optional<bool?> to Maybe<bool> just fine. It's, more of a thing that our developers need to be aware of. They need to remember to define it nullable in one place, and not in the other. It feels weird.

As mentioned, it also doesn't work consistently atm. Optional becomes String while Optional becomes Int!

So with nullable ref types this is not working correctly?

As mentioned, it also doesn't work consistently atm. Optional becomes String while Optional becomes Int!

So with nullable ref types this is not working correctly?

Yea Optional<string> becomes String, but Optional<int> becomes Int!. So it's not consistent.

With nullable ref types activated?

If so this is a bug.

Yep

well, the real issue is the name in this case.
Because Optional<T> implies that this field is optional to set which then implies that it should be nullable.
I see that we should not recreate the type system like Nullable<T>..
But the main issue with Nullable is that it does not work for reference types.
Also, it would be a nice tool to use Optional like described above. I ran into this issue too when Optional was introduced.
I think all of your points are valid @michaelstaib. I mean, It also gets hairy when you want to make a property non nullable when it is set with Optional in this case. What would the API look like if someone wants to do what you descirbed?
public class UserPatch
{
    [GraphQLNonNull]
    public Optional<bool> IsActive { get; set; }
}

Not really right :D
But I still think we need something like this.

OK, we need to fix that ... I will write some tests, it needs to be consistent. This might be the case since we are removing Optional internally and with that the nullable array does not match anymore.

Another thing. I notice that in the master branch there's an IOptional interface. Would it be possible to have that introduced in a 10.4 update? It'll make mapping a whole lot easier.

yes, if we go with this design, then we could port it back. But if we now decide we need to change the name for instance then not. Before we port anything back we should get consensus on what Optional is and what it should be called :)

@PascalSenn
I guess it could be
public class UserPatch
{
    public Optional<bool> IsActive { get; set; } = false;
}

If you were to go the route of the default value carrying nullability meaning.

I would also like to hear @rstaib thoughts on this and also @tunurgitr thoughts.

public class UserPatch
{
    public Optional<bool> IsActive { get; set; } = false;
}

the default value in this case cannot be inferred.

you can do it with an attribute.

Ah, it can only be inferred on method parameters i suppose?

We also could discuss this in the standup.

Intuitively, I've tried bool? and Optional<bool> to get me an optional Boolean  in the schema. I would have never thought it was Optional<bool?>, am I then supposed to write if (field.HasValue && field.Value.HasValue) and field.Value.Value?
Anyway, let me know the outcome of the standup 😎

Why Optional<T>is correctly implemented.
So, what is Optional<T> actually, and I think this is important to understand before we have a look at how it works.
In GraphQL we have two kinds of values in the coercion. We have explicitly provided values and we have implicitly provided values.
We do have the same in java script, we can have properties that are intentionally null, we can have properties that are intentionally some value and we can have unspecified values.
In C# we are missing that and this is why we introduced Optional<T> in the first place.
Case 1:
input Foo {
  bar: Int
}

The above input Foo has a nullable field bar which is an int. If we were to use Optional<int?> in order to implement patch we can have the following states.
{
}

We provide an empty object which in our case means that bar was not provided and is implicitly null. Meaning the user did not set this field.
bar.HasValue = false;
bar.Value = null;

{
  bar: null
}

In the above example we now provided null as value which means that bar is intentionally / explicitly null.
bar.HasValue = true;
bar.Value = null;

The last case in this example is where we explicitly provide a value (intentionally).
{
  bar: 1
}

bar.HasValue = true;
bar.Value = 1;

in the explicitly provided cases we do want to apply a patch for instance. The same goes for filters, in the case of filters we honor explicitly set fields but ignore implicitly set fields.
Case 2:
input Foo {
  bar: Int = 5
}

The above input Foo has a nullable field bar which is an int. If we were to use Optional<int?> in order to implement patch we can have the following states.
{
}

We provide an empty object which in our case means that bar was not provided and is implicitly 5. Meaning the user did not set this field.
bar.HasValue = false;
bar.Value = 5;

{
  bar: 5
}

In the above example we now provided 5 as value which means that bar is intentionally / explicitly 5.
bar.HasValue = true;
bar.Value = 5;

The last case in this example is where we explicitly provide null (intentionally).
{
  bar: null
}

bar.HasValue = true;
bar.Value = null;

Case 3
input Foo {
  bar: Int! = 5
}

The above input Foo has a required field bar which is an int. If we were to use Optional<int> in order to implement patch we can have the following states.
{
}

We provide an empty object which in our case means that bar was not provided and is implicitly 5. Meaning the user did not set this field.
bar.HasValue = false;
bar.Value = 5;

In the case of a required field with default we cannot provide null since null is not allowed by the type. But we can provide any value including the value 5 intentionally.
{
  bar: 5
}

bar.HasValue = true;
bar.Value = 5;

This means inferring Optional<int> as nullable by default is not possible since Optional<int> cannot hold null as implicit value. It would basically become Nullable<int>. Which is already supported.
Optional<T> is meant for those cases where it matters if something is implicitly default / explicitly default / explicitly other values. So, basically we are preserving with this information that we have while performing the variable-/argument-coercion algorithms specified in the GraphQL spec for tools so that we can build on top of this solutions like filters or patch.
In this sense we having the ability to ask for bar.Value.HasValue is actually what is wanted. Why else have optional in the first place.

I will write some tests for nullable ref types however so that we can see what is wrong with that.

Thank you for this detailed explanation, I appreciate the time you're putting in this.
When I read your explanation as a clean code enthusiast, it becomes clear that the terminology you're using doesn't match the implementation. To me, HasValue means there is a Value, no matter if that was provided by the caller or if it was a default value. Also I'd expect HasValue to be false when a null is provided which is probably because of the .NET Nullable type we all know.
You keep talking about 'provided' and in your head HasValue clearly means 'was provided', so why not rename that property to ValueWasProvided or ValueIsProvided instead? I think that would clear some things up.

"Explicitly set" is also terminology that could be used in the naming.

That is why I said it might be the wrong name. But, we followed the naming of Roslyn which also uses an optional for the same use-case in their compiler API. So, as I reflect we decided to follow their API.

https://github.com/dotnet/roslyn/blob/master/src/Compilers/Core/Portable/Optional.cs

@michaelstaib I realise after all this that what I may be missing on my end is to use default values.
public class UserPatch
{
    [DefaultValue(false)]
    public Optional<bool> IsActive { get; set; }
}

This is probably the behavior i want.
The only thing with that is that it's somewhat verbose to set the default values. I don't know if any other solution could be made to that. Perhaps some type that can have the default value be configured elsewhere. OptionalWithDefault<bool> kind of thing. Not sure how clean that would be.
Also, as you've hinted towards, Optional may not be a good name for it, as it leads to thinking the field will be Optional in the graphql schema. Names to consider Maybe<T>, MaybeAssigned<T>.

The default value here is really a pity. Since we can get it if it is a parameter. But prop default assignments do not exist. We have planned a lot more refinements around this so we will look at the default values.

@michaelstaib I don't think a lot of HotChocolate users will know the internals of Roslyn, so to me that's not an excuse not to make things clear, you talk about 'confusion' and 'needs documentation', which is a clear sign. Anyway, I'm just a random Internet stranger so I'm ending this discussion here on my end.

@huysentruitw this is a valid criticism. The question is and I think I wait for more opinions to come in on this issue if it is worth breaking peoples projects tp rename this. I mean we do breaking changes but this always has to be a collective decision.
Also, if we decide to change that we also need to find a good name that we use instead :)
I so far have not found a good none.

@michaelstaib
Maybe<T>: Is maybe set, maybe not, can but not has to be optional.
Optional<T>: Is maybe set, maybe not but is optional

But does maybe convey that the value is implicitly created like in the spec text mentioned?

I can think of ValueIsSetExplicitly instead of HasValue, but yeah, naming is hard.

My 2 cents: MaybeAssigned<T> or MaybeSet<T> although a little more verbose, could be more communicative, as that is what it's actually there for.
And the HasValue renamed to HasBeenAssigned/IsAssigned or HasBeenSet/IsSet

Would also value your input @tunurgitr.

So, trying to follow this thread....I think the remaining concern is how Optional occurs when T is non-nullable and the parameter has a default value.
After typing out a few different arguments, I think I want to start off with.....I don't think it's a good idea to use Optional<T> here.
First, a caveat, it seems like this statement is broad enough that I may be missing something important.
That being said, my main point is: I think it's confusing for the backend to operate differently when the value is explicitly provided vs. when it's left for the default to be provided. I don't think that would be what a client would logically expect?
Maybe I'm missing something, but I think if your contract is showing there's a default value, it's not expected that the backend will handle things differently based on whether you actually passed in a value vs. whether you left it at the default.
Doesn't "default value" mean, "if you don't include this value, we'll treat it as if you passed X"?
Looking at your example @mvestergaard,

I only want to use the value of IsActive if it has been assigned, and when it has I want the value to be bool, not bool?

if I were a client, looking at this schema:
input UserPatch {
  isActive: Bool! = false
}

I would think that if I sent:
{ }

or:
{ isActive: false }

these would do the same thing? If you're only going to use the value if it's been assigned, why provide a default? Wouldn't it be more clear to have the schema:
input UserPatch {
  isActive: Bool
}

with the C# class:
public class UserPatch
{
  public Optional<bool> IsActive { get; set; }
}

Maybe I'm missing a use-case here, but if the backend only takes an action if a value is provided.....why do you need a default value in the first place?
I was typing out some more thoughts on this (other non-patching usages of Optional<T>), and I think the same principle applies...
But before I went into all that I first I wanted to see if anyone has any feedback on whether I've missed something important here? @michaelstaib @PascalSenn @mvestergaard ?

@tunurgitr Well honestly, it's a choice between two evils.
Either it's isActive: Bool! = false where as you stated the system could behave differently than what a user may expect.
The alternative is isActive: Bool where i potentially allow the user to pass in null explicitly. You can kinda get around issues with this by calling .GetValueOrDefault() on bool?, but for strings (that can be null) that could lead to bugs.
After discussing with a team mate I think we feel better about the approach with default values.
It's not a public API, so the issues you describe, we can document our way out of.

@mvestergaard okay, I think I'm getting it more....to make sure I understand: you're not actually using the default value, so the behavior of the system is the same regardless of what you're specifying as the default value of isActive?
This is just a marker to be able to have a spec that's clear that the value of isActive cannot be null?
And this is all because of essentially a limitation in graphql....there's no way of defining a field that must be non-null if you define it, but can also be omitted.
And just to make sure I'm following, the bugs you're talking about are the different treatment of null?
Let me setup a trivial example just so I'm sure I've got it:
type User {
  isActive: Bool!
  username: String!
  comment: String
}

The way I'd think to do it is:
input UserPatch {
  isActive: Bool
  username: String
  comment: String
}

Where the side-effect is that this operation:
{
  username: null
  comment: null
}

is allowed and means "do not change the username, but DO set the comment to null". Which is potentially confusing.
The way your team is handling would be something like:
input UserPatch {
  isActive: Bool! = false
  username: String! = ""
  comment: String
}

Which means the following operation isn't actually allowed:
{
  username: null
  comment: null
}

With the side-effect being that the default values aren't actually used by the backend for anything (and in-fact "" may be invalid as a username value). This also potentially confusing, but you're seeing that as the least-worst-solution because the nullability of all fields are clear when patching?
I'm not sure how this would work for any non-scalar fields, but leaving that aside...I'm still pondering this, but I want to make sure I'm understanding what you're doing here.

Yep, you've got the picture.
I don't think non-scalar fields are a concern from our usage. If we're referencing an existing object, we do it by Id, and if we need to patch a nested object (if ever), that field would not use Optional<T>, it would just be a nullable NestedObjectPatch, which is then applied if not null.

@mvestergaard crap. Well now I don't like either solution. Either way the schema is communicating information that isn't true.
Although I realize you guys aren't encountering this....one follow-up on nested-object-patching -- how would you apply NestedObjectPatch on nullable non-scalar fields?  Is it handled differently if it's null than if it's not provided? How would you set the entire nested field to null?
Example scenario where a user's "profile" is optional, but a user's "address" is required and cannot be null:
input UserPatch {
  isActive: Bool! = false
  profile: UserProfilePatch # ???
  address: UserAddressPatch # ???
}

Isn't this the same issue we encountered earlier where it's unclear from the spec whether or not passing null is a no-op vs. set-to-null?
I'm not saying you shouldn't do it the way you've outlined internally, I'm just trying to think through your approach enough to have an opinion on whether/how Optional<T> should work in this situation. At the moment, it doesn't seem like you can apply your approach universally if you have any non-scalar fields -- you'd have to mix and match the "fake-defaults" with the "nulls have double-meaning" approach. So for me, I think that should mean that the official "suggestion" would be.....try not to do it this way.
And you can use IResolverContext and you don't have to use Optional<T>.
I'm still sorta on-the-fence on whether Optional should support this scenario. Having it "ignore default values" as a sort of "default operation" feels weird.
Specifically, thinking of @michaelstaib 's example above:
bar.HasValue = false;
bar.Value = 5;

This definitely seems....unexpected.
A couple ideas around options:

Make "undefined" more explicitly clear.

bar.IsDefined = false;
bar.IsUndefined = true;
bar.ValueOrDefault = 5;

But then it's more an Undefinable<T> than an Optional<T>.

Similar to @mvestergaard 's suggestion: add a new OptionalWithDefault<T> that explicitly handles this situation and offers more fields that give more insight into what's going on in these situations.

I'm not sure.

It kinda appears GraphQL doesn't even behave as expected, at least not in the playground tool
type UserPatch {
  isActive: Bool! = false
}

If i don't set the isActive it complains about a missing required field. I can submit it, so it appears HotChocolate doesn't mind.

It kinda appears GraphQL doesn't even behave as expected, at least not in the playground tool
input UserPatch {
  isActive: Bool! = false
}

If i don't set the isActive field, it complains about a missing required field.
Which is odd since the spec says this:

Input object fields may be required. Much like a field may have required arguments, an input object may have required fields. An input field is required if it has a non‐null type and does not have a default value. Otherwise, the input object field is optional.

I admittedly haven't read this entire thread, but the spec is a bit closer than HotChocolate to get this right. It makes absolutely no sense to define a field as optional unless it has a default value. And the reverse holds as well: It makes zero sense to define a default value unless the field is optional. A default value for a required field never applies, so it is just confusing.
Why on earth they conflated nullability in there, I have no idea. I certainly agree with the statement put forward early on in this thread that nullability has nothing to do with whether a field is optional or required. Obviously, a non-nullable field may not have null as its default value, but only for the same reason a numerical field cannot have "foobar" as its default value (the default value must be a valid value for the field type).
Now, whether the type descriptors were Optional(<default_value>) or just DefaultValue(<default_value>) is perhaps only a matter of taste. But having two different descriptors, one for optionality, and another for default values, is nonsense. It only makes it harder to get it right and allows us to specify logically impossible things like "this field is required, and has default value 3", or "this field is not required, and has no default value" which presumably means it has a default value of NULL if it is nullable and lord knows what if it is a datetime.
Legacy aside, the way to fix it is to get rid of this conceptual duplicity and have the type system reflect the fact that optional values and default values are two sides of the same coin.

A small aside: exposing whether a value was explicitly provided by the user or is the schema-defined default is a really bad idea.
The only thing this information can really be used for is to have the system behave differently depending on whether the value was explicitly provided or not, which is just crazy. In order to be able to understand how to query the graph, it must be understandable from the schema information. And that tells us what the default value is, from which we infer that we get the behavior we'd get if we supplied that value.
Why build support to make it easier to make bad APIs?

@the-dag We've quite successfully built an API that uses this functionality to do patches on updates. So however bad of an idea you feel that is, it works great. And your suggestions would completely break that, so no thanks from my end.

@the-dag, optional is not intended to reflect if something is a default value. It is intended to reflect if the user by intent set a value. So you set something explicitly even if the value that you just set is the default value then optional will be set.
It is so long and we just keep adding things here :)
If you wish to do a proper proposal please open a new issue where we can discuss it or if you want to pre-discuss it with the community join our slack channel.

Sorry for commenting on an old closed issue but we just encountered the same issue where we'd like an optional input field that is non-nullable. In our case, it's a DateTime so setting a default value doesn't seem to work (we could set it to a string but we'd prefer to use DateTime). The best workaround we could do is just make it nullable i.e. Optional<DateTime?> and then throw an error if client sets it to null.. But ideally, I think we should define Optional<DateTime> where it's enforced that it is a non-nullable field, but the client can ignore it if they want to.

There's a lot of a discussion, by is there a piece of official documentation on how to properly build a partial update mutator with nullable and non-nullable fields?
Like, if we have a mutator with input fields A : string?, B : string! (i.e. non-nullable), C : bool?, and D : bool, how to allow any subset of them to be specified to control what entity fields to update?

I'm having some issues with Optional in version 13. In my scenario I have to create a dynamic schema based on some external metadata which means I generally don't have concrete runtime types to declare properties on for Hotchocolate to reflect over. Instead I use the metadata I previously mentioned to dynamically create the relevant ObjectType and InputObjectType definitions and their relevant fields.
Even this scenario I am able to use Optional for built-in scalar types, but I have a custom scalar type which I've defined by inheriting from ScalarType<T, U> but when setting it up as a field in an InputObjectType there is no obvious way to set the runtime type to Optional<T> instead of just T


net: stats: Add RX time statistics for packet sockets

If CONFIG_NET_PKT_RXTIME_STATS is set, then update the received
packet RX time for packet sockets (SOCK_RAW). This was already
working for normal sockets but the statistics update was missing
from SOCK_RAW.
Fixes #22489
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

@jukkar you added the 2.2 milestone - did you also intend to add the TSC tag so this gets brought up in today's TSC call? Since this is not a fix it would officially need this extra step before merging.

Since this is not a fix it would officially need this extra step before merging.

Hmm, it is marked as an enhancement but imho it is a bug. Some statistics updates were just missing from packet socket, I will update the issue and make it a bug.


make sure to encode % more aggresive

This PR is for #76506

we will rollback to the May version of the uri


WifiService: Neither user 10054 nor current process has android.permission.ACCESS_WIFI_STATE

Summary

Version
v0.21.1

Affected OS
Android

OS Version
5.1

Error

Can someone help me?

I have the same error. I'm trying to use:
DeviceInfo.getIPAddress()
      .then(ip => {})

Hi, as mentioned in the documentation, you should request the ACCESS_WIFI_STATE to be able to use getIpAddress or getMacAddress: https://github.com/rebeccahughes/react-native-device-info#getipaddress

why do you close this, the link you gave is just to put permission at android manifest. i did it and still show up the same error.
DeviceInfo.getIPAddress()       .then(ip => {})

Hi @qayyummdnoor, I'm closing this issue because the initial reporter clearly didn't add the required permission to his Manifest, see the screenshot.
Feel free to open your own issue describing your problem, along with the error log.


Add star-tree and json index to the output of /segments/{tableName}/metadata API

This PR https://github.com/apache/incubator-pinot/pull/5718 introduced the API. We are missing json index and star tree index from it.
"indexes": {
      "homeRuns": {
        "bloom-filter": "NO",
        "dictionary": "YES",
        "forward-index": "YES",
        "inverted-index": "NO",
        "null-value-vector-reader": "NO",
        "range-index": "NO"
      },

fyi @kriti-sc

Sample response for exposing both json-index and star-tree-index
"columns": [],
"indexes": {
    "studentID": {
        "bloom-filter": "NO",
        "dictionary": "YES",
        "forward-index": "YES",
        "inverted-index": "YES",
        "null-value-vector-reader": "NO",
        "range-index": "NO",
        "json-index": "NO"
    },
    "firstName": {
        "bloom-filter": "NO",
        "dictionary": "YES",
        "forward-index": "YES",
        "inverted-index": "NO",
        "null-value-vector-reader": "NO",
        "range-index": "NO",
        "json-index": "NO"
    }
},
"startree-index": [
    {
        "dimension-columns": [
            "studentID",
            "firstName"
        ],
        "metric-aggregations": [
            {
                "column": "col1",
                "aggregation": "SUM"
            },
            {
                "column": "col2",
                "aggregation": "DISTINCT"
            },
            {
                "column": "*",
                "aggregation": "COUNT"
            }
        ],
        "max-leaf-records": 1,
        "dimension-columns-skipped": [
            "col3"
        ]
    }
]

PR: https://github.com/apache/incubator-pinot/pull/6873


Option to remove headers and footers.

[x] Message history.
[x] History.
[x] List.
[x] Servers.

Will be implemented with version 3.6.0


[Tech] Development env and packages updates (React 18)

I've added a couple of docker related files, since it's simplifies the developement, by running everything inside one isolated container.
I've upgraded all packages, including upgrade to React 18.
As a side effect I had to drop react-hot-loader since there is no support for React 18.

Done!


Allow specifying the degree of parallelism

Description
I have several test projects written with xUnit that I want to run in CI. These unit tests are IO bound and run much more quickly when parallelized with dotnet vstest --parallel. However, machines in my CI system (GitHub Actions) only have two CPU cores, which limits test execution to two concurrent assemblies. I would like to speed up my tests when run in CI by increasing the degree of parallelism further.
I added the following xunit.runner.json file to my project, but it only affected parallelization within each assembly.
{
  "parallelizeAssembly": true,
  "maxParallelThreads": -1
}

I was very surprised that parallelizeAssembly seemingly has no effect when run with the dotnet CLI. I assume MSBuild and VSTest create separate xUnit test runners for each assembly, which is why this setting has no effect?
I was able to work around that issue by using dotnet test --no-build -maxCpuCount:8, but the maxCpuCount parameter does not work with dotnet vstest, which tends to give me cleaner test output. Would it make sense to add support for maxCpuCount (or a similar parameter) in VSTest?
Steps to reproduce
Run dotnet vstest --parallel on a machine with more test projects than CPU cores.
Expected behavior
The dotnet CLI should respect properties in my xunit.runner.json file. However, barring that, it would be nice if there was a parameter that would increase the degree of parallelism when running dotnet vstest --parallel.
Actual behavior
A higher degree of parallelism can only be achieved when running tests through MSBuild (dotnet test).
Diagnostic logs
N/A
Environment
Linux and macOS
$ dotnet --version
6.0.401

@MatisseHack I think all the options you set are propagated correctly but our code assumes that tests will run in parallel (doing CPU bound work at the same time), and hence it chooses the minimal number between logical processor count, the specified maxCpuCount and assembly count to avoid overwhelming the CPU with too much parallel work. In your case the maxParallelLevel will be 2, because you have 2 logical processors.
In your case this assumption is not correct, because your tests are IO bound, and hence they run concurrently on the processors (they don't always do CPU work, so more than 2 concurrent tests can easily be handled by the CPU).
We don't have an option for that, and I don't think we can easily add it as there is an existing behavior, and we don't want to add yet another very similar option.

Do you mean that -maxCpuCount should work as a parameter to dotnet vstest? I got an error when I tried that:
The argument -maxCpuCount:1 is invalid. Please use the /help option to check the list of valid arguments.

Allowing this parameter and making it consistent with the behavior of dotnet test -maxCpuCount:8 would make the most sense to me, but I realize there is legacy behavior to consider when calling vstest.console.exe directly.
Is there any way to use the same test adapter for all assemblies then? I'm not familiar with the internals of VSTest, but am I correct in thinking that it's creating a separate xUnit test adapter for each assembly, which overrides xUnit's ability to run assemblies in parallel? Would it be possible to add an option to adjust this behavior instead?

I don't understand that having test frameworks, like xUnit, that are able to handle (and interested in doing that) parallelism, vstest opts for the no-no, "I don't support it, nor I let others do it". Woudn't be the easiest for vstest to hand over that responsibility to the test framework or, at least, allowing that option?

This is a new feature and won't be implemented, we are focusing on adding new features to Testing.Platform instead. https://aka.ms/testingplatform


Implement PSR-13

It'd be nice to implement the Relation Classes according to PSR-13. (The PSR ist still in draft, but it could be a good project to test if the draft is complete.)
https://github.com/php-fig/link

You should create this issue on https://github.com/willdurand/Hateoas instead. Looking at the psr interfaces, it shouldn't be too tard to add

Ah yes, wrong repo. Closed in favor of willdurand/Hateoas#240


Additional new lines are being removed when formatted.

Describe the bug
Additional new lines are being removed when formatted.
Impacted Products

[x] Antlers Toolbox for VS Code

Versions and Other Plugins/Extensions
Antlers Toolbox for VS Code v2.6.7
To Reproduce

        {{ partial:_components/select_link }}

                {{ partial:_components/listing_card }}

Format leads to:

        {{ partial:_components/select_link }}

                {{ partial:_components/listing_card }}

Expected behavior
I would want the original line preserved.
Additional context
I understand that Antlers uses the HTML formatting (https://antlers.dev/docs/formatting#settings) but despite these settings it still removes the extra line:
{
    // ...
    "html.format.wrapAttributesIndentSize": 120,
    "html.format.wrapLineLength": 999999999,
    "html.format.preserveNewLines": true,
    "html.format.maxPreserveNewLines": 3,
    // ...
}

This is currently expected behavior.

+1! I hate that it doesn't preserve newlines after Antlers tags and it makes our HTML look messy. An option to turn this off would be great.

Great to hear @JohnathonKoster! Just out of curiosity, how would that make things much worse?


ISSUE_TEMPLATE

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce

Context (Environment)

Detailed Description

@IzumiCypherX Oww..


[BUG]

[Please fill out the form below and delete the sections in square brackets after reading them]
Version of Advanced Rocketry

AdvancedRocketry-1.7.10-1.3.0-1

Why is this important?
Knowing the version of Advanced Rocketry helps us narrow down an offending piece of code faster because we can easily determine what code is added and when.]

Have you verified this is an issue in the latest unstable build

[x] N

Why is this important?
If you're not testing with the latest build, you may be encountering a bug that's already been fixed.
Reporting bugs that have already been fixed wastes everyone's time.  (please look in open issues too, somebody else could have already reported it!)

Version of LibVulpes

LibVulpes-1.7.10

Why is this important?
Advanced rocketry depends on a library mod (LibVulpes), some errors can really be in that mod.  So knowing the verison helps us not only start looking for fixes there without you needing to anwer more questions, it also helps us know if you have a version mismatch.

Version of Minecraft

Minecraft 1.17.10

Why is this important?
Different versions of minecraft have different codebases for Advanced Rocketry.  Knowing the version of minecraft (and thus AR) helps us pinpoint issues quicker!

Does this occur without other mods installed

[x] Y

i have 29 mods installed

Why is this important?
Sometimes interactions between mods cause issues.  While it can be a problem with Advanced Rocketry, sometimes it's not.  When there are a lot of mods, it can take bugtesters HOURS to go through the list to determine the root cause.  When there are a lot of bug reports, that can add DAYS to the time it takes to fix a large set of issues.

Crash report or log or visualVM (if applicable)
http://pastebin.com is a good place to put them
crash reports that are put in the issue itself are
hard to read

https://pastebin.com/Bdgbf0hK

If it's an issue involving lag, please submit a visualVM sampler snapshot.  Mods like lag goggles often do not provide the kind of information needed to debug lag.
For more information on how to create a snapshot, please see "How to Run CPU Sampling" here.  Then export the snapshot as an .nps.  You may have to zip it since github is weird, then please upload it here.

Why is this important?
Full crashlogs contain valuable information like where exactly in the code the error occurred, what other mods may be running and what version of forge you have.  This helps us replicate and diagnose the issue FAR faster.

Description of the problem

I have put down a landing platform of 5x5 and built a rocket with 8 fuel tanks, engines, a sattelite bay and a guidance computer. When i access the rocket assembly machine that ive put down the game crashes immidiatly after.

Why is this important?
If we cannot reproduce the problem, we probably cannot fix it at all.

1.12.2 only supported in this time and your bug will not be fixed

Good to know, still find that a bit weird


Add doc about X-Forwarded-Prefix/X-Original-Prefix

Add documentation about X-Forwarded-Prefix/X-Original-Prefix that has recently been added (dotnet/aspnetcore#49249).
EDIT by @Rick-Anderson: Fixes #32316

Internal previews

📄 File
🔗 Preview link

aspnetcore/host-and-deploy/proxy-load-balancer.md
Configure ASP.NET Core to work with proxy servers and load balancers

@joegoldman2  look great, much appreciated.
@andwi please review.

Looks good to me


Success icon not aligned in notification

Hi,
the success icon is aligned to the top instead of the center in the green part of the notification :)
Thank you

Could you send a screenshot? Shouldn't the icons be aligned to the top?

It does something like :
| x |
|    | The notification message
|    |

instead of

|      |
|      | The notification message
|  x  |   <= centered

Notice my ASCII arts skills very developed :D More seriously, I can't screenshot it I'm on linux and the time it takes to screenshot makes the notification disappear

Cool! (I'm referring to the ascii art 🙂)
Hmm,  I think they are supposed to be on the top-left corner, at least I've had them there for as long as I remember. Tried to solve this but since it's done with a single pseudo element, it got a bit hacky at some point, so I gave up. I'd like to do something radical for the notifications anyway, for me they have always bugged me most atom-wise. Any ideas?

I already like them, just the colloapsing one are annoying, and the icon not aligned. I'm used to use them on the top right corner so I don't have a view on this :)

This should have been fixed in v0.10.0. All notification icons are now vertically aligned in the middle.


Inverting boolean filter with OR not retaining parenthesis on .sql() (for Spark)

Before you file an issue

Make sure you specify the "read" dialect eg. parse_one(sql, read="spark") <- does not apply
Make sure you specify the "write" dialect eg. ast.sql(dialect="duckdb") <- Done
Check if the issue still exists on main <- Done

I have checked with sqlglot 18 (which had spark dataframes functionality embedded) and also with sqlframes newest version (which uses sqlglot 25.0.3).
pip install https://codeload.github.com/eakmanrq/sqlframe/zip/refs/heads/main
Collecting https://codeload.github.com/eakmanrq/sqlframe/zip/refs/heads/main
Using cached https://codeload.github.com/eakmanrq/sqlframe/zip/refs/heads/main
Installing build dependencies ... done
Getting requirements to build wheel ... done
Installing backend dependencies ... done
Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: prettytable<3.11.0 in ./.venv/lib/python3.11/site-packages (from sqlframe==0.0.0) (3.10.0)
Requirement already satisfied: sqlglot<25.2,>=24.0.0 in ./.venv/lib/python3.11/site-packages (from sqlframe==0.0.0) (25.0.3)
Requirement already satisfied: typing-extensions<5,>=4.8 in ./.venv/lib/python3.11/site-packages (from sqlframe==0.0.0) (4.12.2)
Requirement already satisfied: wcwidth in ./.venv/lib/python3.11/site-packages (from prettytable<3.11.0->sqlframe==0.0.0) (0.2.13)
Fully reproducible code snippet
import sqlframe.spark.functions as F
col1=(F.lit(False) | F.lit(True))
(~col1).sql(dialect="spark")

xx=~sqlframe.spark.Column(
                    sqlglot.expressions.Paren(this=col1.expression) #type: ignore
                )
xx.sql(dialect="spark")

Output:

It looks like the NOT sql() representation is missing something
>>> col1.__invert__().sql()
'NOT FALSE OR TRUE'
>>> col1.__invert__()
Not(
  this=Or(
    this=Boolean(this=False),
    expression=Boolean(this=True)))

>>> xx.sql(dialect="spark")
'NOT (FALSE OR TRUE)'

Official Documentation
Please include links to official SQL documentation related to your issue.

Thanks for the detailed report! Fixed in 1.9.0.

Tu!


⚠ Bofrost.fr has degraded performance

In 42d7ed8, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1846 ms

Resolved: Bofrost.fr performance has improved in c3cff67.