[enhancement] Use string as default compatible type for coalesce

Today, we still need to call infer type for literal. So '123' will be inferred as big decimal and we are not table to call coalesce on this because coalesce requires arg types to be same.
This PR changes coalesce to return string type by default so we don't throw exceptions on coalesce (stringCol, '123')

Codecov Report

Merging #10516 (55ccfbe) into master (641ec60) will decrease coverage by 56.07%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10516       +/-   ##
=============================================
- Coverage     69.97%   13.90%   -56.07%
+ Complexity     6118      237     -5881
=============================================
  Files          2092     2038       -54
  Lines        112712   110233     -2479
  Branches      17143    16847      -296
=============================================
- Hits          78874    15332    -63542
- Misses        28260    93651    +65391
+ Partials       5578     1250     -4328

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
13.90% <0.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../transform/function/CoalesceTransformFunction.java
0.00% <0.00%> (-85.21%)
:arrow_down:

... and 1615 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


request help: I would like to know if this plugin supports the use of two or more interceptors simultaneously in a single jar？

Issue description
I would like to know if this plugin supports the use of two or more interceptors simultaneously in a single jar？
I have two custom services that need to be placed in a custom plugin, but I found that an API gateway cannot support two or more custom plugins at the same time. Therefore, I want to put my current two services in one Java plugin. I have tested it and it seems that this feature is not supported. How can I solve this problem? Thank you very much for your answer.（我有两个自定义的服务需要放到自定义插件中，但是我发现一个apisix网关无法同时支持两个以上的自定义插件，所以我想把我目前的两个服务放到一个java插件中，我测试了，好像不支持这个功能，请问这个如何解决呢？非常感谢回答。）
Environment
arm64  Open jdk 11

your apisix-java-plugin-runner version
0.4.0

你说的两个服务是两个自定义插件的实现类 ？ 那是可以的啊，name() 方法中返回的字符串取不同就可以了


dockmate: be able to pin a preview and sort by pins then something else

Feature Request
Is your feature request related to a problem? Please describe.
In apps with lots of windows (chrome, vscode, etc), there is usually a "main" one and then others. It would be great to be able to pin/star/etc a window and then sort by pin then alphabetically or pin, desktop, alpha.
Describe the solution you'd like

an option in settings that adds another sort option to the dropdown
a pin/star icon when hovering over previews

Describe alternatives you've considered
no alternatives
Teachability, Documentation, Adoption, Migration Strategy

Thanks for the feedback something like this is probably possible to add at some point.

On Sat 27 Mar 2021 at 16:45 Wolfgang Baird @.***> wrote:

Thanks for the feedback something like this is probably possible to add at
some point.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/MacEnhance/MacForge/issues/58#issuecomment-808812855,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AON576N6GTV3TR5YSML5YTTTFZNXBANCNFSM4Z2AYG2A
.

Good Luck


how to use on ubuntu 22.04?

what commands to use? if it isnt supposed to be used on linux then should i do it on windows?

sorry i misread how to use it


consider change Void from 0+ to 1+

A lot of language of the ebml spec could be simplified if Void was not allowed to occur at level 0. I'm scanning a large Matroska collection from archive.org to see if Void at level 0 ever occurs. So far 3864 mkv files tested with only EBML and Segment at Level 0. Will report back when the test is done.

I found a Level 0 Void element! But it's because the file is really messed up. The Segment element is zero-sized, thus the subsequent element is also at Level 0 rather within the Segment element at Level 1. Also mkvalidator throws 143,429 lines of errors with this file.
I tested 82,935 Matroska files on the Internet Archive and only one file had a Void Element at Level 0: The.Simpsons.S06.E05.www.VideoBaran.net.mkv. This file was written by ... "mkvmerge v2.4.1 ('Use Me') built on Dec  5 2008 18:30:05" :-O
Thus I propose setting Void to be Level 1+, so that the only valid Level 0 elements are the EBML Header and the Root Element.

:+1:

I'm definitely fine with the change. Consider that file you've found to be either written by a buggy version or to have been damaged.

Will do after the clarifications PR since in addition to changing Void to 1+, there are many sentences about Top-Level Elements and Root Element to be cleaned up.

Ah while reading PR #101 I was wondering if that was necessary to have level 0 for Void. One case I could think of is EBML Documents concatenated together and you want to void one of the document in the EBML Stream. Obviously noone uses concatenated EBML Documents and even less need to invalidate one part of that file. So you're not going to find much samples.
Consider a 20TB concatenated EBML Documents file. You don't want to have to copy/rewrite a whole 20TB of data just to cancel a part. Although It's possible to void the Segment data rather than the Segment itself. It's a bit less elegant (is a Segment with just a Void` element valid?).
I see what we would lose but what do we gain from this change ?

The case of voiding an entire EBML Document from an EBML Stream sounds useful, but when I try to place a Void in between the EBML Header and Segment, then mkvalidator, ffmpeg, etc all complain.

sample with Level 0 Void in between EBML Header and Segment

Most tools/players don't deal well with concatenated EBML Documents. Most people were not aware it was possible and/or existed. But it will be in the speficiations so we should make use of it.
So do we close this issue ?

Yes it was considered and I think that finds not enough for the limitation. I not as well that whitespace in XML in between the XML Declaration and XML Body appears to be allowed, so a VOID between the EBML Header and Segment seems to be the equivalent.


Rename FeatureAugmenter

Problem Description
Renaming FeatureAugmenter to Joiner and AggregationJoin #600 to AggregationJoiner so as to make consistent naming of features.
Feature Description
Renaming in all files, links, docs, examples etc.
Alternative Solutions
No response
Additional Context
No response

I feel like AggJoiner is explicit enough and shorter, WDYT? :)

I agree, #674 proposes renaming the FeatureAugmenter to Joiner so that's compatible I think.

Nice, I need to take a look at it

I feel like AggJoiner is explicit enough

Mmm... is it?
I don't know, but I dislike abbreviating things like that, I don't think we live in an age anymore where names need to be so short.

I don't know, but I dislike abbreviating things like that, I don't think we live in an age anymore where names need to be so short.

Beginners struggle with long names: they do not know how to use their environment to complete names, and they struggle formatting long lines (they do not have the discipline to put line returns in the right place).
A lot of our target audience (data scientist) suffer from these limitations.

If misplacement of line breaks is a problem of code readability, I think beginners suffer far more from reading code with lots of abbreviations than having to scroll horizontally :)
But I agree Jupyter Notebooks are still missing key features like linting and good auto-completion. Still, I think readability trumps all :smile:

In the AggJoiner defense, also note that the "agg" abbreviation is now widely used in data science: Pandas uses it, Polars uses it, even Spark uses it.

In the AggJoiner defense, also note that the "agg" abbreviation is now widely used in data science: Pandas uses it, Polars uses it, even Spark uses it.

+1

In the AggJoiner defense, also note that the "agg" abbreviation is now widely used in data science: Pandas uses it, Polars uses it, even Spark uses it.

Okay, good to know, let's do it then!


Kong 0.8.0

Kong 0.8.0 has just released. Will it be available as docker image?

Old request. The docker image of 0.8.2 just got released.


jupyter_server: Patch unicode test for Darwin

Motivation for this change
The test relies on creating and then reading files with unicode names
to/from disk. Apple's HFS+, the default file system until recently, is
unicode-normalizing with normal form D (NFD). So not all unicode file
names round-trip. This patch implements one imperfect solution.
ZHF: #144627
I've opened a PR to implement this upstream to see if they're ok with this solution or would prefer an alternative but I haven't received a response yet. If upstream ends up deciding on a different solution I will update this PR or open a new one.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Nixpkgs-review:
6 packages failed to build:
python38Packages.jupyterlab python38Packages.jupytext python38Packages.nbclassic python39Packages.jupyterlab python39Packages.jupytext python39Packages.nbclassic
10 packages built:
python38Packages.jupyter-server-mathjax python38Packages.jupyter_server python38Packages.jupyterlab-git python38Packages.jupyterlab_server python38Packages.nbdime python39Packages.jupyter-server-mathjax python39Packages.jupyter_server python39Packages.jupyterlab-git python39Packages.jupyterlab_server python39Packages.nbdime

@GrahamcOfBorg build python3Packages.jupyter_server

cc @NixOS/darwin-maintainers


Feature request: View highlighted file on cursor move when traverse NERDTree

The corresponding question on stackoverflow (http://stackoverflow.com/questions/13119754/is-it-possible-to-just-view-files-content-when-traverse-nerdtree) took 6 upvotes, so it's likely useful feature.
I can traverse NERDTree, but to see file content I press go, and once opened file's buffer stays open until I explicitely close it. That makes viewing files too uncomfortable.
when I traverse NERDTree nodes I'd like to see the highlighted file content in a temporary viewer buffer and I'd like to explicitely select some of traversed files for editing, say by pressing e.
When I close NERDTree buffer, the temporary viewer buffer shall close as well, and there should only be opened buffers for those explicitely selected files, not for all viewed files.

The answer in the referenced StackOverflow post has a very workable solution. It needs some refinement, but it could be implemented as a NERDTree plugin, should anyone be ambitious enough to do it. For now, I think we'll leave it out of the NERDTree core.
@lifecrisis, any thoughts? Close this issue if you concur.

I agree... this is exactly the kind of feature that should be left to a plugin.


Revert adding gasRemaining and change txn fee calc to use gasPrice and gasUsed

PR description
Revert code adding gasRemaining and change txn fee calc to use gasPrice and gasUsed
Fixed Issue(s)
#1408
Changelog

[X] I thought about the changelog and included a changelog update if required.

So in essence this is a lower touch version of the miner APIs? Reverting the metadata changes back to 20.10.0 baseline?

Yes, I ended up not needing the gasRemaining so reverted the changes to persist that piece of data.


Increase Cluster Name limit to 20 characters

request from a customer, to be tested

Issue resolved on the following PRs:
kubectl-gs  NameLengthLong update to 20 #1198
kyverno-policies-ux  Cluster name length to 20 chars #73


ACU?  When did ACU replace cores in the Azure Portal

MSFT<EMAIL_ADDRESS>ACU appears to have recently replaced core in compute performance descriptions for the various app service tiers.  When did this happen and why?  And where can we see an accurate performance comparison between ACU and core for app service?  This exists for VMs, but that chart is ambiguous when applied to app services.
Edited: Removed PII with 'x'.

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

ID: 3cfacf3d-4d48-317b-0c68-2f992ebb60bc
Version Independent ID: 9f00811a-bbf8-91e9-238b-d28066e19c83
Content: Configure PremiumV2 tier - Azure App Service
Content Source: articles/app-service/app-service-configure-premium-tier.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@AjayKumar-MSFT 5 months later, any update yet?

Suchiman, We have already reached out to the product team and they would publish a blog detailing the change soon. Sorry for the long wait! Thank you for your patience and co-operation.

Could you please include if there is any difference between the Standard and Premium in CPU power? Looking at the ACU's; they're the same but I would expect the premium to be higher right? Or is that because of some vCPU:Core ratio found on this page: https://docs.microsoft.com/en-us/azure/virtual-machines/windows/acu ?

In particular, they slap 210ACU at P1V2 (1 Core, 3.5GB) and 200ACU at S2 (2 Cores, 3.5GB), indicating that a single core of P1V2 is more than twice as powerful than a standard core, that's something i'd like to see benchmarks on.

Wow really still no explanation of what ACU means when it comes to App Service Plans?!?  The link referred to by @Zenuka has to do with VMs.  Not App Service Plans.

I see that Standard tier is A-Series compute equivalent, I use a S3 service plan and do some loadtest (some cpu work) with it, the performance is not good comparing to a B2ms VM. The document of VM indicates that A-series is suitable for dev/test, Standard app service is design for production but A-Series compute equivalent.

Dear customers, we've been waiting on the product team to provide definitive information on this, and unfortunately the time has come for us to retire old issues that have gone stale. We're really sorry. #please-close


Enable symlinks to dist for packages

Creating a PR now here to start the conversation. I'm also not yet confident this is in a working state.
In some cases, we have packages that are compiled in a separate dist directory and published from there so that when someone pulls in the package from npm and references a sub file, the import wont contain a reference to dist.
- import foo from 'foo/dist/bar';
+ import foo from 'foo/bar';

If we're symlinking these dependencies locally, however, we cannot symlink them in place at the top of the package root. we need instead point the symlink to the dist directory.
This implementation assumes the output dist directory is named .dist since these files should generally not be committed to source control or visible in the finder.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Ceiling interferes with stair step

Hello, first thank you for sharing your project, it's a very nice stair-stepping solution that works well in many situations. From the ones I tested, it's the most reliable and pleasant with regards to complex floor geometry.
I have a question though about a bug I encountered and whether it's something that can be easily fixed? In the attached video, I added a ceiling over one of the ramps. The ceiling is high enough so the player can walk underneath, but it prevents the stair step solution to work on the closest stair.
https://github.com/mrezai/GodotStairs/assets/3763179/0f20a7cc-00d3-4eba-87ad-d5399791ba48

The ceiling is 1.810 m above the highest stair of the ramp. This is the lowest height where the 1.8 m tall player can still walk underneath.
The stair stepping solution again works properly when the ceiling is 2.017 m high (difference of  0.207 m).
Using the box collision shape.
The provided cylinder shape requires even higher ceiling to work, 2.026 m.
Using Jolt physics.
I'm using an otherwise unmodified project from this repository.

Hello, thanks for your tests!
This isn't a bug, you could consider it as a trade-off for better performance. You can increase STEP_CHECK_COUNT for example to 7 to solve the issue.
The trade-off is you can choose smaller number for STEP_CHECK_COUNT and design levels based on STEP_HEIGHT_DEFAULT, I mean there should be at least this much empty space between player's head and ceiling all the times, but it's possible to increase STEP_CHECK_COUNT to check empty space incrementally and that'll increase CPU usage.

Ah right, increasing the STEP_CHECK_COUNT to 4 solves the issue. I'm going now with 2m tall ceilings which are still small enough to create tight corridors. The step count change and level design requirement to have the ceiling 0.2m above the player's 1.8 height are reasonable enough to follow.
Thanks for the quick reply and provided information :+1:


Add support for html5 input types to the repeater fields

Since the native core text control support them we should be able to use type=url/tel/email/number/date

merged


feat: exactly once - add minimum lease extension

This covers approximately steps 1 - 3 of the implementation doc:

Watch for EOS settings in the stream
If the user hasn't specified a min lease extension, use 60s for EOS; if non-EOS, continue as before
Use the updated lease values when sending RPCs

This PR will be merged into a dev trunk branch for EOS, so please don't merge to main.

Closing this in favour of https://github.com/googleapis/nodejs-pubsub/pull/1573


Add "/" to config category in js_service templates

:Release Notes:
Add "/" to config category in js_templates
:Detailed Notes:
In js_service type's templates, register "/config/setGreeting" method without "/".
It makes node framework's log printing.
method category config should start with '/', adding one for you...
Add "/" for "config/setGreeting" method in templates
:Testing Performed:
Pass unit test on ose target and auto target.
Pass eslint
Verify with CLI commands

Generate web app and js service using ares-generate
Package them.
Install the created ipk to target.
Connect target using ares-shell
Executes the installed js service by command, and check the log
See PLAT-139166 for details.

:Issues Addressed:
[PLAT-139166] Add "/" to config category in js_templates

Code :+1:
Verify :+1:


Add HighlightText property.

Hello Robin
How is adding HighlightText property?
When it is null, text isn't changed.
If it has value, text is changed.
I think it is useful in Toggle mode.
If you want I can create PR for it.
Thanks.

PRs are welcome on this!


THORSwap trades refunded at "Emit asset is less than price limit"

Overview
Some of our trades are currently being refunded with cause: Refunded: Emit asset {actual} less than price limit by -{limit - actual}

We need to investigate the current limit memo to ensure our THOR Txs consistently go through.
These account for a small portion of ss affiliate trades (~1 per day)
There seems to be a constant to these happening on larger streaming swaps (5000+ USD)
References and additional details

Refunded Txs: https://runescan.io/txs?affiliate=ss&type=refunded

All Txs: https://runescan.io/txs?affiliate=ss&type=all

addSlippageToMemo
https://github.com/shapeshift/web/blob/9a6cde488b173100d86f0525d7225b7a23b85a27/src/lib/swapper/swappers/ThorchainSwapper/utils/addSlippageToMemo.ts#L33-L39

Investigate slippage configuration tweaking for larger trades, streaming options, as well as potentially deducting some other fees (?) to get the final limit memo
Acceptance Criteria

We do not see larger THOR streaming swaps being refunded

Note, this will require some confirmation from the runescan link above that we do not see refunds for that reason anymore
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
N/A, may require multiple PRs until we get the heuristics right

For a similar quote on THORSwap (10,000 USDT -> DAI), we use a limit of<PHONE_NUMBER>51  while THORSwap uses 0 for streaming swaps.
Interestingly, their memoStreamingSwap is =:ETH.DAI:{recipientAddress}:0/3/53:t:30 (no wallet connected, hence the {recipientAddress}) vs. our final memo being "=:ETH.DAI-0X6B175474E89094C44DA98B954EEDEAC495271D0F:{recipientAddress}:984349769151/10/0:ss:0"
Takeaways:

we use an interval of 10, vs. THORSwap using 3. This should however yield better rates, at the cost of slower execution
they use a streaming quantity of 53 while we use 0, which in the memo language, means automatic quantity.

Another thing to mention here is the notion of final memo: we pass the memo we get from the quote through addSlippageToMemo to recompose a memo with the limit we've calculated, however, the original memo doesn't have any limit, i.e: "=:ETH.DAI-0X6B175474E89094C44DA98B954EEDEAC495271D0F:{recipientAddress}:0/10/0:ss:0". This is on par with THORSwap's memo which also doesn't have any.
Notes:

the interval of 3 seems to be constant in THORSwap
the streaming quantity seems to be variable, indicating optimizations on their side, but using 0 and letting the THOR API decide the best quantity should be safe
the limit is consistently 0

A good starting point would be to use the new max_streaming_quantity property returned by the quote endpoint, which would guarantee a (possibly better?) quantity.


Failed to pull docker://cmatkhan/pycallingcards:latest

Description of the bug
I'm trying out the test profile using the -profile test,singularity parameter and run into this error when pulling the pycallingcards image. All other preceding images get pulled without any issues. I tried singularity pull docker://cmatkhan/pycallingcards:latest in the terminal outside of nextflow and got the same error output. Is the image still public or is it something on my end?
Command used and terminal output
nextflow run nf-core/callingcards -profile test,singularity -c /ref/jdlab/software/nextflow/wustl_htcf.config --output test_run

Error executing process > 'NFCORE_CALLINGCARDS_MAMMALS:CALLINGCARDS_MAMMALS:PROCESS_ALIGNMENTS:HOPS_MAMMALS (human_AY53-1_50_T1)'

Caused by:
  Failed to pull singularity image
  command: singularity pull  --name cmatkhan-pycallingcards-latest.img.pulling.1691359463025 docker://cmatkhan/pycallingcards:latest > /dev/null
  status : 255
  message:
    FATAL:   While making image from oci registry: error fetching image to cache: failed to get checksum for docker://cmatkhan/pycallingcards:latest: reading manifest latest in docker.io/cmatkhan/pycallingcards: errors:
    denied: requested access to the resource is denied
    unauthorized: authentication required

Relevant files
No response
System information
No response

So anybody running a test profile will need to use the dev branch?

until it is officially released, you'll need to use the dev branch.
An explanation:
the -r flag is the version. It will be released, when I get a chance to put time towards this again, hopefully this month, as version 1.0.0. If a user wanted to hold their processing consistent at that version, then they would use -r 1.0.0.
If it turns out that there is some feature we want to add to version 1.0.0, then I can add it to the dev branch to make it available with -r dev until it eventually gets an official release, eg 1.1.0.


[Tour of Beam] [Task] Support saving multifile examples to datastore

What needs to happen?
Need to update Playground CI\CD python scripts to support multifile examples:

support new tag for multifile examples in python scripts
saving multiply files to datastore
replace hardcoded number of files to actual number of files for multifile examples
update tests

Issue Priority
Priority: 2
Issue Component
Component: beam-playground, tour-of-beam

.take-issue


Remove ubuntu workflow

Remove github action ubuntu workflow to save on free minutes for the public repository.

 Baseline Project -- N-Tier Architecture


Kimchanyoung controller refactor

@StevenXL @saraho-shea
Split up some of the logic in the request controller.

Mergin


any way to enlarge the network graph

is there a way to enlarge the network graph?

That would be a big plus for readability

Not sure! I never look at the network graph these days anyway—I've no idea how it's built even working at GitHub haha.

in v2: can you limit the box containing the graph? So it won't have this ugly effect.

#49 will fix it with a max-width, but no plans to dig into the JS to fix the rendering beyond that.


Depends on Node v12 but GitHub requires at least Node v20

Github Actions require at least node v20, so when running the elm-review-action the following warnings are shown:

The following actions uses node12 which is deprecated and will be forced to run on node16: sparksp/elm-review-action@v1.
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: sparksp/elm-review-action@v1.

If you don't mind, I would love to create a Fork/PR for this, since I haven't done it for any repository other than my own before and this seems like a good issue to give it a shot (assuming it is just updating the node version in the action.yaml)

You are quite welcome to give a PR a go

Thank you for the opportunity :)

Thanks for all this @LinusSee - I have updated dependencies and release this as v1.1.0. If you are using @v1 then it should just work.

Yep, worked like a charm, thank you :)


first class static assets (via --assets / config.assets / import assets from 'assets:...'

closing this one for https://github.com/cloudflare/wrangler2/issues/1162


Request: randomly blame someone else.

This is great, thanks for making it. Can we not supply someone to blame and have it pick a random author to blame instead of me?
Thanks.

:+1:

Yeah, will be suitable to blame-someone-else without feeling any remorse of targeting someone specifically *fate my friend

Done, see pull request


Nightly Build Failure 2024-03-05

Overview
Something funny seems to have happened with arelle's local cache...
Next steps
What next steps do we need to do to understand or remediate the issue?

[ ] did any deps change on main?
[ ] can we reproduce this locally by running the same commands as the pudl etl script?

Looks like we have an arelle change - we can try to see if 2.23.13 breaks locally too. And we can try to see if there are relevant code changes between those patch versions.
-  - arelle-release=2.23.10=pyhd8ed1ab_0
+  - arelle-release=2.23.13=pyhd8ed1ab_0

UPDATE 10:34 ET: 2.23.13 did not break the following ferc_to_sqlite run:
PUDL_OUTPUT=$PUDL_OUTPUT/tmp ferc_to_sqlite --loglevel DEBUG --gcs-cache-path gs://internal-zenodo-cache.catalyst.coop --workers 8 ~/work/pudl/src/

And the code changes between 2.23.10 and 2.23.13 didn't turn up anything suspicious.
Verify that everything is fixed!
Once you've applied any necessary fixes, make sure that the nightly build outputs are all in their right places.
- [ ] [S3 distribution bucket](https://s3.console.aws.amazon.com/s3/buckets/pudl.catalyst.coop?region=us-west-2&bucketType=general&prefix=nightly/&showversions=false) was updated at the expected time
- [ ] [GCP distribution bucket](https://console.cloud.google.com/storage/browser/pudl.catalyst.coop/nightly;tab=objects?project=catalyst-cooperative-pudl) was updated at the expected time
- [ ] [GCP internal bucket](https://console.cloud.google.com/storage/browser/builds.catalyst.coop) was updated at the expected time
- [ ] [Datasette PUDL version](https://data.catalyst.coop/pudl/core_pudl__codes_datasources) points at the same hash as [nightly](https://github.com/catalyst-cooperative/pudl/tree/nightly)
- [ ] [Zenodo sandbox record](https://sandbox.zenodo.org/doi/10.5072/zenodo.5563) was updated to the record number in the logs (search for `zenodo_data_release.py` and `Draft` in the logs, to see what the new record number should be!)

Relevant logs
link to build logs from internal distribution bucket
Exception: dagster._core.errors.DagsterExecutionStepExecutionError: Error occurred while executing op "ferc6_xbrl":

Stack Trace:
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/execute_plan.py", line 286, in dagster_event_sequence_for_step
    for step_event in check.generator(step_events):
<... dagster continues to complain that there was an error ...>

The above exception was caused by the following exception:
FileExistsError: [Errno 17] File exists: '/home/mambauser/.config/arelle/cache/http/www.xbrl.org/dtr/type'

Stack Trace:
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/utils.py", line 54, in op_execution_error_boundary
    yield
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_utils/__init__.py", line 467, in iterate_with_context
    next_output = next(iterator)
                  ^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/compute_generator.py", line 131, in _coerce_op_compute_fn_to_iterator
    result = invoke_compute_fn(
             ^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/compute_generator.py", line 125, in invoke_compute_fn
    return fn(context, **args_to_pass) if context_arg_provided else fn(**args_to_pass)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/extract/xbrl.py", line 85, in inner_op
    convert_form(
  File "/home/mambauser/pudl/src/pudl/extract/xbrl.py", line 129, in convert_form
    run_main(
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/cli.py", line 158, in run_main
    extracted = xbrl.extract(
                ^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/xbrl.py", line 59, in extract
    table_defs = get_fact_tables(
                 ^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/xbrl.py", line 249, in get_fact_tables
    taxonomy = Taxonomy.from_source(taxonomy_source, entry_point=entry_point)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/taxonomy.py", line 255, in from_source
    taxonomy, view = load_taxonomy_from_archive(taxonomy_source, entry_point)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/arelle_interface.py", line 48, in load_taxonomy_from_archive
    return _taxonomy_view(file_source)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/ferc_xbrl_extractor/arelle_interface.py", line 19, in _taxonomy_view
    taxonomy = ModelXbrl.load(model_manager, taxonomy_source)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
***** the above is the last stack frame that belongs to us vs. arelle

  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelXbrl.py", line 87, in load
    modelXbrl.modelDocument = ModelDocument.load(modelXbrl, url, base, isEntry=True, **kwargs)
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 335, in load
    modelDocument.schemaDiscover(rootNode, isIncluded, isSupplemental, namespace)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 951, in schemaDiscover
    self.schemaDiscoverChildElements(rootElement, isSupplemental)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 975, in schemaDiscoverChildElements
    self.importDiscover(modelObject)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1075, in importDiscover
    doc = load(self.modelXbrl, schemaLocation, base=importElementBase, isDiscovered=self.inDTS,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 335, in load
    modelDocument.schemaDiscover(rootNode, isIncluded, isSupplemental, namespace)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 951, in schemaDiscover
    self.schemaDiscoverChildElements(rootElement, isSupplemental)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1007, in schemaDiscoverChildElements
    self.schemaDiscoverChildElements(modelObject, isSupplemental)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1007, in schemaDiscoverChildElements
    self.schemaDiscoverChildElements(modelObject, isSupplemental)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 999, in schemaDiscoverChildElements
    self.schemaLinkbaseRefDiscover(modelObject)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1121, in schemaLinkbaseRefDiscover
    return self.discoverHref(element, urlRewritePluginClass="ModelDocument.InstanceSchemaRefRewriter")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1241, in discoverHref
    doc = _newDoc(self.modelXbrl, url, isDiscovered=not nonDTS, base=self.baseForElement(element), referringElement=element)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 337, in load
    modelDocument.linkbaseDiscover(rootNode)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1172, in linkbaseDiscover
    href = self.discoverHref(linkElement, nonDTS=nonDTS)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1241, in discoverHref
    doc = _newDoc(self.modelXbrl, url, isDiscovered=not nonDTS, base=self.baseForElement(element), referringElement=element)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 335, in load
    modelDocument.schemaDiscover(rootNode, isIncluded, isSupplemental, namespace)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 951, in schemaDiscover
    self.schemaDiscoverChildElements(rootElement, isSupplemental)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 975, in schemaDiscoverChildElements
    self.importDiscover(modelObject)
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 1075, in importDiscover
    doc = load(self.modelXbrl, schemaLocation, base=importElementBase, isDiscovered=self.inDTS,
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/ModelDocument.py", line 109, in load
    filepath = modelXbrl.modelManager.cntlr.webCache.getfilename(mappedUri, reload=reloadCache, checkModifiedTime=kwargs.get("checkModifiedTime",False))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/WebCache.py", line 426, in getfilename
    return filepath if self._downloadFile(url, filepath) else None
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/arelle/WebCache.py", line 508, in _downloadFile
    os.makedirs(filedir)
  File "<frozen os>", line 225, in makedirs

I looked at the code and found that the error occurs here:
        if not os.path.exists(filedir):
            os.makedirs(filedir)

Which sort of seems like there is some sort of race condition going on where someone makes the dir between when the code checks for the dir and when it decides to make the dir. I'm confused because this happens before we split off into multiple workers. There's some concurrency stuff in the Arelle lib but it looks mostly UI-related? But maybe there's some weird code path in there that I don't understand. Anyways, the upshot is I'm going to delete the nightly-2024-03-05 tag and push a new one.

@bendnorman you had to do some fiddling to get the nightly build re-running last time, right? What was the fiddling?

Yes! I manually kicked off the GitHub action for tag of the previous nightly build.

Re-running fixed this. 🤷

I'm suspicious that this error may be related to the error we're getting in the FERC XBRL archivers: https://github.com/catalyst-cooperative/pudl-archiver/issues/285
It's complaining about the same file early on https://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd

And I guess this never comes up when running the ETL locally because this file has looong since been cached in my personal local arelle cache.

I tried removing the cache directory entirely in my local setup and re-running the FERC to SQLite extraction, and it doesn't seem to care at all. It's not even repopulating the cached files


[core] Let active value be defined via environment variables

Affects every model object that defines an active property.

@gsmet this should let you define a value for active properties suing System props or Env vars.

@aalmiray oh that is amazing, thanks.

Released in v1.5.0 -> https://github.com/jreleaser/jreleaser/releases/tag/v1.5.0


How to read apikey from header?

Hi;
I am using AFNetworking library to use my REST API. It sends credentials via headers, but passport-localapikey reads them from body or query. Is it a way that passport-localapikey reads credentials from header?
Thank you

Can someone please put this change on NPM repo as well.


Maintain: Appendix D

#570

This change is

@enitrat  same here, there are some traits and functions described but they concern contracts, i think we should remove them from the Cairo part appendix.

@enitrat  should be ready for merge


Fix 127, 128, 177

Purpose

...

Fix
#127
#128
#177
Application Insights

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@LittleLittleCloud I ran into this isuse.
{   "error": {     "code": "InvalidTemplate",     "message": "Deployment template validation failed: 'The provided value for the template parameter 'openAiResourceLocation' is not valid. The value '' is not part of the allowed value(s): 'canadaeast,eastus,eastus2,francecentral,switzerlandnorth,uksouth,japaneast,northcentralus'.'.",     "additionalInfo": [       {         "type": "TemplateViolation",         "info": {           "lineNumber": 1,           "linePosition": 1786,           "path": "properties.template.parameters.openAiResourceLocation.allowedValues"         }       }     ]   } }

Did you run azd down  --purge first?

Did you run azd down --purge first?

This was on a fresh deployment


Bounce back sometimes sends you to world spawn.

The bounceback sometimes sends you back to the world spawn. This is all dependent on your surroundings, I'm assuming as a safety precaution of sorts.
Example: https://youtu.be/XHYiS5RskHA
Any way to fix this so instead it looks for a safe spot as close to you as possible instead of just launching you to the worlds spawn?

This overlaps with issue #115, because the "Players getting teleported below y=0" mentioned in the title of that issue is due to spawn being 0, 0, 0.

The commit message shown above has some details of the circumstances in which I hit this issue.  I hit this issue with version 1.9.10 beta on Spigot 1.15.2.  I can confidently say that I didn't hit this issue with version 1.8.7 on Spigot 1.11.2 because I tested with the same build in the same location in the same world with both versions.


How does Seata handle failed compensation transactions in SAGA mode?

Suppose we have transaction T1->T2->T3, after T1 and T2 succeeded, T3 failed, then start compensation transactions C2 -> C1, if C2 fails,   does the compensation process stop at C2 or does it record the failure and continue C1?  how does Seata deal with such situations?

The compensation process stops at C2, then retry C2, execute C1 after C2 succeeds


feat(Timers): add Timers extension

Description
This PR adds a Timers extension to Raycast, allowing the user to start, stop, and save custom countdown timers. I previously created #1114 to add this extension, but it was closed because of my excessive delay in merging requested changes. In this PR, I've made all requested changes and am ready for another review.
Screencast
See metadata for screenshots; it's hard to take an effective screencast that doesn't end up being excessively long due to the nature of the extension so I'd recommend a test drive by setting a 1-5 minute timer.
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Hi @ThatNerdSquared
Great extension!!! I tried it out, but I seem to have run into a little problem.
When I Stop the countdown timer in Manage Timers, the process created by this countdown timer doesn't disappear.
Is it a problem with the way I'm using it?

Hi @koinzhang, does the timer still go off after you've deleted it? If not, then that is expected behaviour. The process should disappear after the set amount of time, but it should not ring if you've deleted the timer, because it checks if the corresponding data file for the timer still exists before firing off any sound effects. In future updates, I may attempt to save the PID somewhere and kill off the process on timer delete.

Hi @ThatNerdSquared.
Stop the timer and it doesn't ring. Then this extension is no problem for me.

Bumping this just in case @pernielsentikaer missed it :)

Thanks for the review @pernielsentikaer!

Fixed bug with perpetual loader
Added validation to "Start Custom Timer" command
Sorted running timers by next to ring, sorted saved timer presets from shortest to longest
Fixed bug where preset was not saved from "Start Custom Timer" command
Fixed bug where submitting an empty Rename Timer form cleared the name of the timer — it now requires a new name to be inputted

Additional notes:

I'm using fs because the external bash command that controls each timer needs to be able to easily view the file to check if the timer has been deleted or not.

Looking forward to any more feedback you may have 🥂

Hi @ThatNerdSquared 👋
Everything works as expected, awesome 🔥
I only have one last question about this section title when no timers are added, could you maybe find a better wording?

Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.

@pernielsentikaer I removed the Currently Running header altogether, I think it's pretty easy to see what's running without it anyway.

I liked the section, what about changing the text instead of removing it to something like this <List.Section title={timers != null ? "Currently Running" : "No Timers Running"}>


Add support for List[BaseModel]

Hi again, @RenaudLN
Could support for List[BaseModel] be added when creating a prefilled form? I have a model where one of the parameters takes in a list of another model, and this other model contains parameters of floats, str, int, List[str], List[float] and List[int]. Hence, I would like to have these values populate the pre-filled form.
Example model structure
class Worker(BaseModel):
    name: str
    associates: List[str]

class Track(BaseModel):
    workers: List[Worker]
    count: int

The prefilled form shows
workers:[{name:"Ben", 'associates': [None]}]
even though the json_obj has a list of strings
Thanks!

Hey @CY-ipercept list of BaseModel is already covered by dash-pydantic-form. Are you having issues with it?
https://pydf-docs.onrender.com/api/list_field

yep, i've updated the issue @RenaudLN

Also, another question about the pre-filled form feature.
If i have a model with an optional field such as info: Optional[SomeModel] = None
class SomeModel
    compulsory_field: str
    default_field: Literal["test", "test1", "test2"] = "test"

The item that i passed in does not have any info field filled in, but the form_data suddenly contains a value for default_field when I access the form_data via a dash callback, and throws validation errors for other missing fields in SomeModel like compulsory_field

class Branch(BaseModel):
    name: Literal["West", "North", "East", "South"] = "West"

class Department(BaseModel):
    name: str
    sub_departments: List[str]

class Colleagues(BaseModel):
    department: List[Department]
    branch: Branch = Branch()

class Employee(BaseModel):
    """Employee model."""

    name: str = Field(title="Name", description="Name of the employee", min_length=2)
    age: int = Field(title="Age", description="Age of the employee, starting from their birth", ge=18)
    mini_bio: str | None = Field(title="Mini bio", description="Short bio of the employee", default=None)
    joined: date = Field(title="Joined", description="Date when the employee joined the company")
    office: Office = Field(title="Office", description="Office of the employee")
    metadata: Metadata | None = Field(title="Employee metadata", default=None)
    location: HomeOffice | WorkOffice | None = Field(title="Work location", default=None, discriminator="type")
    pets: list[Pet] = Field(title="Pets", description="Employee pets", default_factory=list)
    jobs: list[str] = Field(
        title="Past jobs", description="List of previous jobs the employee has held", default_factory=list
    )
    colleagues: Optional[Colleagues] = None

bob = Employee(
    name="Bob",
    age=30,
    joined="2020-01-01",
    mini_bio="### Birth\nSomething something\n\n### Education\nCollege",
    office="au",
    metadata={"languages": ["fr", "en"], "siblings": 2},
    pets=[{"name": "Rex", "species": "cat"}],
    location={
        "type": "home_office",
        "has_workstation": True,
    },
    jobs=["Engineer", "Lawyer"],
    colleagues={"department": [{"name": "Engineering", "sub_departments": ["Software", "Hardware"]}]},
)

ModelForm(
    # Employee,
    bob,
    AIO_ID,
    FORM_ID,
)

Hope this helps!

The prefilled form shows
workers:[{name:"Ben", 'associates': [None]}]

Hey @CY-ipercept, 0.2.2 fixes the issue with the pre-filled scalar list, thanks for bringing it up.
I'll have a look at the optional fields issue but this one is a bit trickier. Will let you know.

ah thanks, I actually pulled the repo and made some changes, but was not able to push those changes cos of permission rights. But since you made the change already, I guess there is no need for mine. Thanks for making the changes!
This was the change I made, if you want to see:
def get_subitem(item: BaseModel, parent: str) -> BaseModel:
    """Get the subitem of a model at a given parent.

    e.g., get_subitem(person, "au_metadata") = AUMetadata(param1=True, param2=False)
    """
    if parent == "":
        return item

    path = parent.split(SEP)

    first_part = path[0]
    if isinstance(first_part, str) and first_part.isdigit():
        first_part = int(first_part)

    if len(path) == 1:
        if isinstance(item, BaseModel):
            return getattr(item, first_part)
        if isinstance(item, dict) and isinstance(first_part, int):
            return list(item.values())[first_part]
        return item[first_part]

    if isinstance(item, list) and isinstance(first_part, int):
        return get_subitem(item[first_part], SEP.join(path[1:]))

    return get_subitem(getattr(item, first_part), SEP.join(path[1:]))

My fix is similar. If you want to contribute to the project, you'll need to fork the repo, create a branch then create a pull request from there 🙂

@CY-ipercept I added a from_form_data function to use a default value if it cannot validate a field. Note that it will go up the tree of fields until it finds a default value. An example of how to use it is in the usage.py
Let me know if this works for your case and I'll close this issue.

Hi @RenaudLN , unfortunately, I encountered an error when trying to add a department. Below is the screenshot of the error and the model that i used.

class Branch(BaseModel):
    name: Literal["West", "North", "East", "South"] = "West"

class Department(BaseModel):
    name: str
    sub_departments: List[str]

class Colleagues(BaseModel):
    department: List[Department]
    branch: Branch = Branch()

class Employee(BaseModel):
    """Employee model."""

    name: str = Field(title="Name", description="Name of the employee", min_length=2)
    age: int = Field(title="Age", description="Age of the employee, starting from their birth", ge=18)
    mini_bio: str | None = Field(title="Mini bio", description="Short bio of the employee", default=None)
    joined: date = Field(title="Joined", description="Date when the employee joined the company")
    office: Office = Field(title="Office", description="Office of the employee")
    metadata: Metadata | None = Field(title="Employee metadata", default=None)
    location: HomeOffice | WorkOffice | None = Field(title="Work location", default=None, discriminator="type")
    pets: list[Pet] = Field(title="Pets", description="Employee pets", default_factory=list)
    jobs: list[str] = Field(
        title="Past jobs", description="List of previous jobs the employee has held", default_factory=list
    )
    colleagues: Optional[Colleagues] = None

bob = Employee(
    name="Bob",
    age=30,
    joined="2020-01-01",
    mini_bio="### Birth\nSomething something\n\n### Education\nCollege",
    office="au",
    metadata={"languages": ["fr", "en"], "siblings": 2},
    pets=[{"name": "Rex", "species": "cat"}],
    location={
        "type": "home_office",
        "has_workstation": True,
    },
    jobs=["Engineer", "Lawyer"],
)

@RenaudLN I managed to come up with a fix for the from_form_data function, will create a PR when it is ready


Docker driver doesn't support etc_hosts from docker_container module

Issue Type

Bug report

Molecule and Ansible details
$ ansible --version && molecule --version
ansible 2.7.8
  config file = None
  configured module search path = [u'/Users/tomasz/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /Users/tomasz/Library/Python/2.7/lib/python/site-packages/ansible
  executable location = /Users/tomasz/Library/Python/2.7/bin/ansible
  python version = 2.7.15 (default, Feb 12 2019, 12:27:02) [GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1<IP_ADDRESS>)]
molecule, version 2.20.0

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Detail any linters or test runners used:

No linters or tests, the problem is on create.yml phase.

Desired Behavior
I'm trying to overwrite some domain with etc_hosts from docker_container module:
platforms:
  - name: instance1
    image: ubuntu:16.04
    groups:
      - haproxy-group
    etc_hosts:
      - "prometheus.local": "{{ ansible_default_ipv4.address }}"

There should be new entry in /etc/hosts:
<IP_ADDRESS>    prometheus.local

Actual Behaviour
There's no entry in /etc/hosts:
root@instance1:/# cat /etc/hosts
<IP_ADDRESS>    localhost
::1    localhost ip6-localhost ip6-loopback
fe00::0    ip6-localnet
ff00::0    ip6-mcastprefix
ff02::1    ip6-allnodes
ff02::2    ip6-allrouters
<IP_ADDRESS>    instance1

Yep, we're missing that option.

                'etc_hosts': {
                    'type': ['string', 'dict'],
                    'keysrules': {'type': 'string'},
                },

Does now!


Display links in user's page

Feature request
Is the feature request related to a problem? Please describe
User's page has no links. (/username)
Describe the solution
Display user profile's links in there.
Additional context
Related to #20

https://github.com/bandungdevcom/bandungdev.com/pull/26


Feature request: Integrate Slic3r sequential printing

It will be amazing if we can have the sequential printing working on Slic3r/Repetier integration.
Do you think it is required something from Slic3r side? Just tell me what and I can do the follow up on their repository.
Below an bad example, of that not happening. I have two objects and the Slic3r function "Complete Individual objects" activated but it has no effect with Repetier integration.

Also agree - having this feature available in Repetier would be awesome.  As it works now, if I need to print 10 copies of a part and it fails halfway through, I have 10 ruined parts.  Complete individual would leave me with 5 good parts, one ruined part and very little wasted plastic.
It would also eliminate the stringy mess that always accompanies tons of non-printing moves between pieces, and probably speed up printing due to the reduction of non-printing moves when printing more than one object.

Gents, finally found a solution for this!
Its simple:

Place your parts on Slic3r software standlone (downloadable at http://slic3r.org/download).
Don't use Slic3r that are installed together with Repetier Host here. You need to use the standalone version for this.
After arranging your parts, with the sequential printing 'complete individual objects' box checked, export your G-code
Open the exported G-code on Repetier and bingo!

See attached example just made. Didn't test printing but Repetier preview looks perfect:

There is no need to install slic3r twice, just use the preinstalle done and in slicer manager select show plater. Then you can call configure and see the plater as well to do it.

I have a comment on this:
If you open the composition.afm with slic3r with plater shown, you can split the part to get individual parts. Then you can easily do sequential printing. Maybe you can say slic3r to split the afm file before slicing?

I'n host 2.0.1 you can now say "try to preserver positions" whcih merges objects. Uncheck it so slic3r sees objects as individual objects so the function works.


Add player type struct to game object

Description
N/A
Alternate Designs
N/A
Benefits
N/A
Possible Drawbacks
N/A
Applicable Issues
#69

Codecov Report

Merging #79 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #79   +/-   ##
=======================================
  Coverage   97.27%   97.27%
=======================================
  Files           3        3
  Lines         147      147
=======================================
  Hits          143      143
  Misses          4        4

Impacted Files
Coverage Δ

src/main.rs
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Cannot nullify values of a subchart template

Greetings helm community,
I'm a bit puzzled about how values are effectively evaluated when a chart references, as its dependency, another chart.
Here's a practical example:
helm template chart/charts/loki-2.12.2.tgz --set securityContext=null
this generates:
     securityContext:         null
Now, if I create a chart having loki as dependency:
apiVersion: v2
name: aaa
description: aaa
type: application
version: 0.0.1
dependencies:
- name: loki
  version: 2.12.2
  repository: https://grafana.github.io/helm-charts

the helm template command
helm template ./chart/ --set loki.securityContext=null
returns:
        securityContext:
        fsGroup: 10001
        runAsGroup: 10001
        runAsNonRoot: true
        runAsUser: 10001

which are the default values stored into the loki helm chart.
At this stage I am no longer able to nullify the value of securityContext but I could customise the value of each the parameters as follows:
helm template ./chart/ --set loki.securityContext.fsGroup=1 --set loki.securityContext.runAsNonRoot=false
        securityContext:
        fsGroup: 1
        runAsGroup: 10001
        runAsNonRoot: false
        runAsUser: 10001

Can you please review and confirm if this is a bug?

Output of helm version:
version.BuildInfo{Version:"v3.7.0", GitCommit:"eeac83883cb4014fe60267ec6373570374ce770b", GitTreeState:"clean", GoVersion:"go1.16.8"}
Output of kubectl version:
N/A, this happens in local
Cloud Provider/Platform (AKS, GKE, Minikube etc.):
N/A, this happens in local

duplicate of #9027


Extension without showing the QR code

Is it possible to access a version of this Chrome extension that does not allow users to click to view the QR code? I really like this extension and it works great for my requirements however I do not want my users to be able to see the QR code as this allows them to load on another authenticator device. Thanks in advance!

Do you want that to be an enterprise policy control feature?

Sorry - Not sure what you mean? It is for a team of people using google authentication, however everything works perfectly, I just need it to not show the QR code all together.

I'm afraid I cannot simply remove this feature. Because there are lots of people need it to add accounts to their mobile devices. However, I can add a setting to disable it.
According to your words, I learnt that you would like to FORCE disable it on user side, so I think you request a enterprise managed setting (enterprise policy rule). To learn about about Chrome Enterprise Policy, see https://support.google.com/chrome/a/answer/9037717?hl=en
Is that what you want?
BTW, this repository is where we host our web content. You can create issues about the extension in https://github.com/Authenticator-Extension/Authenticator in the furture.


Error Building nanopolish 0.9.0

I receive the below error using GCC 4.9.4, HDF5 1.8.18, fast5 0.6.3, HTSlib 1.4 Eigen 3.3.3, and Biopython 1.68.  Any ideas on what the issue is?
make HDF5='' EIGEN='' HTS=''
g++ -o src/main/nanopolish.o -c -g -O3 -std=c++11 -fopenmp -fsigned-char   -I./fast5/include -I./src -I./src/hmm -I./src/thirdparty -I./src/thirdparty/scrappie -I./src/common -I./src/alignment -I./src/pore_model -I./eigen/ -fPIC src/main/nanopolish.cpp
In file included from ./src/nanopolish_methyltrain.h:16:0,
from src/main/nanopolish.cpp:17:
./src/nanopolish_squiggle_read.h:305:28: error: ‘hid_t’ has not been declared
void load_from_raw(hid_t hdf5_file, const uint32_t flags);
^
src/main/nanopolish.cpp: In function ‘int main(int, char**)’:
src/main/nanopolish.cpp:66:30: error: ‘H5Eset_auto2’ was not declared in this scope
H5Eset_auto(0, NULL, NULL);
^
src/main/nanopolish.cpp:66:30: note: suggested alternatives:
In file included from /home/apps/software/HDF5/1.8.18-IGB-gcc-4.9.4/include/hdf5.h:28:0,
from /home/apps/software/fast5/0.6.5-IGB-gcc-4.9.4/include/fast5/hdf5_tools.hpp:32,
from /home/apps/software/fast5/0.6.5-IGB-gcc-4.9.4/include/fast5.hpp:27,
from ./src/nanopolish_extract.h:12,
from src/main/nanopolish.cpp:13:
/home/apps/software/HDF5/1.8.18-IGB-gcc-4.9.4/include/H5Epublic.h:174:15: note:   ‘hdf5::H5Eset_auto2’
H5_DLL herr_t H5Eset_auto2(hid_t estack_id, H5E_auto2_t func, void *client_data);
^
/home/apps/software/HDF5/1.8.18-IGB-gcc-4.9.4/include/H5Epublic.h:174:15: note:   ‘hdf5::H5Eset_auto2’
make: *** [src/main/nanopolish.o] Error 1

If you update fast5 it should work.
Jared

Yep that fixed it.  It compiled just fine with fast5 0.6.5.


Sockets not communicating anymore with HA: "detail:  sign error"

So all my sockets were working fine until today they starated one by one being "unavailable"
I have done repairing again with my MQTT as per documenation:
sudo ./meross-setup --gateway <IP_ADDRESS> --wifi-ssid BT-gowno --wifi-pass mypass --mqtt mqtt://my_IP:8883
and from MQTT explorer I can see:
{"header":{"messageId":"12f52c6ed36e46939b76128c2fb6e598","namespace":"Appliance.System.All","method":"ERROR","payloadVersion":1,"from":"/appliance/2102256513344551805548e1e94e3fb1/publish","timestamp":1637193306,"timestampMs":845,"sign":"70be4fe9ea272f3ae135666850af046e"},"payload":{"error":{"code":5001,"detail":"sign error"}}}
I'm astonished by loosing all my sockets at once - funny thing: out of 12, few are still alive but half is not manageable anymore
Any idea what has happened?
thank you

hmm, working now - probably it does not like to work in the night - I will test further so not closing yet ;-)

Hello @homonto , sorry for the late reply...I was trying to figure out a possible reason for this and nothing came to mind.
The only thing I could think of is that maybe there's a bug in (meross_lan) code and it starts 'failing' message signatures once a specific (unknown at the moment) event occurs. I'll review the signing algorithm to see if there's something very hidden that could rarely occur.

thank you @krahabb for your answer
so out of 12 sockets, few had few fields "unavailable" (other fields reporting OK), some had no connection to HA at all (grey switch). Seriously I have no idea what happened that all are ok now - 2 of them I "re-connected" using Linux script as they were not able to come back to full life - others came by themselves
magic...
No changes on HA though - then I reconfigured all of them to be "auto" and 5s
at this moment of time all are OK
one more thing: since last HA upgrade, there is 1 more switch, to turn ON/OFF the LED on the socket - but some were saying it is to lock/unlock manual switch - no, it is not - it only turns ON/OFF LED
see example:

btw I have 12 Tuya and 12 Meross sockets at home - my life is fully dependent on the HA now so I need them all working ;-)

Hello @homonto ,
the switch itself is to control the 'do not disturb' function of the device which is usually associated to the device 'self illumination'
so when you turn on the switch the device goes in do not disturb mode i.e. it disables its presence light
I'm refactoring a bit this entity/feature in the next release but still it controls the DND mode of the device
I've also refactored a bit the 'sign error' management in order to make it more robust. Let's see if it improves reliability overall

Hello @homonto , the switch itself is to control the 'do not disturb' function of the device which is usually associated to the device 'self illumination' so when you turn on the switch the device goes in do not disturb mode i.e. it disables its presence light I'm refactoring a bit this entity/feature in the next release but still it controls the DND mode of the device
I've also refactored a bit the 'sign error' management in order to make it more robust. Let's see if it improves reliability overall

that is correct - not "parental control" as one could think ;-)
btw it is useful if you want to turn OFF LED for the night but it can be confusing if someone sees... nothing he might think the socket is not working anymore ;-)

Hello @homonto,
I've just published a pre-release (soon to be converted to 'official') where there are some improvements on the connection issues and the DND-Light has been changed to a 'real' light with inverted logic with respect to the previous 'switch' implementation.
If you can manage to check/test it and report if there are improvements that would really help in figuring out the current 'state of the art' with these issues
Thank you a lot!

Hello @homonto, I've just published a pre-release (soon to be converted to 'official') where there are some improvements on the connection issues and the DND-Light has been changed to a 'real' light with inverted logic with respect to the previous 'switch' implementation.
If you can manage to check/test it and report if there are improvements that would really help in figuring out the current 'state of the art' with these issues
Thank you a lot!

happy to do it @krahabb  but please drive me how to get the "pre-release" version installed on my HA

Oh well..
I remember there was an option in HACS to show you also beta versions releases in UI but I can't really find it anymore :(
If you go to the HACS panel and/or integrations under HACS itself maybe the upper right burger menu will give you some hints.
Or just try to 'update informations' for the meross_lan repo
I'm really sorry...my HACS installed on different development machines and the production one too already show me the 'pre-release' version but I can't really find how to enable/disable this feature

2.4?

I installed 2.4 beta and it works (gimme some time to test all of them)
however, I have 1 comment: DND mode when ON should turn LED OFF - now it is opposite: when DND is ON LED is also ON
so either you change to inverted or call it i.e. "LED indicator" instead of DND
my logic is:

if the name is: "DND" then if ON make the LED off
if the name is "LED" then if ON make the LED on
what do you think?

Yeah..I totally agree it's still confusing....
Let's see maybe other comments and I'll try to summ it up to a reasonable end.
I could add options in configuration in order for the user to choose either switch/light and direct/inverted logic but it seems too much for a really 'poor' feature

honestly it does not bother me - I renamed them anyway to my needs ;-)
btw I am not 100% sure how useful this is (turning LED off) because when someone sees "OFF" he might press it to turn the socket ON while it was already ON so the press would ... turn it OFF - imagine your server is connected to it... ;-)

hi @krahabb I see you pushed 2.4.1 - is it the same I was just testing as beta?

More or less :)
2.4.1 adds mainly a fix for device timestamp and timezone settings where used (depends on how your devices work on your lan and which devices you have to be useful)
I'm anyway working on some other patches at the moment, not relevant to the majority of the users but something could still come in and I expect to release a more updated version soon...
so no rush for 'Rush' :)


Remove stylelint

Description
Remove stylelint because it doesn't work now and we recommand to use vs code plugin to format css and scss files.
Release Note
Don't mention.

close this pr because fix bug PR #4714


WIP: Gauntlet MIP-B19 & MIP-M29

Moonbeam proposal seems to fail simulation with the assertions likely failing for mWBTC.wh.  Not sure if this is related to setting base.length == 0
== Logs ==
  deployerAddress:  0x6C1a01C2aB554930A937B0a2E8105fB47946c679
  Error: reserve factor validation failed
  Error: a == b not satisfied [uint]
        Left:<PHONE_NUMBER>00000000
       Right:<PHONE_NUMBER>00000000
  Validation completed for proposal  MIP-M29

Script ran successfully.

== Logs ==
  deployerAddress:  0x6C1a01C2aB554930A937B0a2E8105fB47946c679
  Validation completed for proposal  MIP-B19

Proposal Description:

MIP-B19: Gauntlet's Base Recommendations
A proposal to adjust 5 risk parameters:

Risk Parameter
Current Value
Recommended Value

WETH Supply Cap
50,000
60,000

wstETH Supply Cap
5,000
6,300

wstETH Borrow Cap
1,750
2,400

USDbC Supply Cap
1,000,000
250,000

USDbC Borrow Cap
750,000
200,000

 *Cap Recommendations will be implemented via Guardian
IR Parameters
A proposal to adjust WETH, USDC and AERO's IR curve:

WETH IR Parameters
Current
Recommended

Base
0
0

Kink
0.8
0.8

Multiplier
0.032
0.02

Jump Multiplier
4.2
4.2

USDC IR Parameters
Current
Recommended

Base
0
0

Kink
0.9
0.9

Multiplier
0.067
0.05

Jump Multiplier
9
9

AERO IR Parameters
Current
Recommended

Base
0
0

Kink
0.45
0.45

Multiplier
0.07
0.145

Jump Multiplier
3.15
3.15

Our recommendation post is located in the forums, please refer to this
link.
By approving this proposal, you agree that any services provided by Gauntlet
shall be governed by the terms of service available at gauntlet.network/tos
------------------ Proposal Actions ------------------
1). Set interest rate model for Moonwell USDC to updated rate model
target: 0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22
value: 0
payload
0xf2b3abbd00000000000000000000000054dc357f7461bceee5bdba80996f5cb7d7512445
2). Set interest rate model for Moonwell WETH to updated rate model
target: 0x628ff693426583D9a7FB391E54366292F509D457
value: 0
payload
0xf2b3abbd000000000000000000000000f5c73a4198941b49831cc95c5e407571851fba4b
3). Set interest rate model for Moonwell AERO to updated rate model
target: 0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6
value: 0
payload
0xf2b3abbd0000000000000000000000000a72a4c3c9fc1345c1cdaf52e0195367f8b688d0
Multichain governor queue governance calldata
[encoded data, 6474 characters]

@anajuliabit @ElliotFriedman requested that you generate a stack trace with -vvvvv to make sure everything is perfect. Thanks!

Got this calldata for MIP-B19:
------------------ Proposal Actions ------------------
  1). Set interest rate model for Moonwell USDC to updated rate model
  target: 0xEdc817A28E8B93B03976FBd4a3dDBc9f7D176c22
value: 0
payload
  0xf2b3abbd00000000000000000000000054dc357f7461bceee5bdba80996f5cb7d7512445

  2). Set interest rate model for Moonwell WETH to updated rate model
  target: 0x628ff693426583D9a7FB391E54366292F509D457
value: 0
payload
  0xf2b3abbd000000000000000000000000f5c73a4198941b49831cc95c5e407571851fba4b

  3). Set interest rate model for Moonwell AERO to updated rate model
  target: 0x73902f619CEB9B31FD8EFecf435CbDf89E369Ba6
value: 0
payload
  0xf2b3abbd0000000000000000000000000a72a4c3c9fc1345c1cdaf52e0195367f8b688d0

  Multichain governor queue governance calldata
  [encoded data, 6410 characters]

Looks like it matches, LGTM

M29 is showing some reverts on my machine:
  1). Set reserve factor for mGLIMMER to updated reserve factor
  target: 0x091608f4e4a15335145be0A279483C0f8E4c7955
value: 0
payload
Proposal type: Moonbeam

  0xfca7820b00000000000000000000000000000000000000000000000004db732547630000

  2). Set reserve factor for mxcDOT to updated reserve factor
  target: 0xD22Da948c0aB3A27f5570b604f3ADef5F68211C3
value: 0
payload
Proposal type: Moonbeam

  0xfca7820b00000000000000000000000000000000000000000000000004db732547630000

  3). Set reserve factor for mETHwh to updated reserve factor
  target: 0xb6c94b3A378537300387B57ab1cC0d2083f9AeaC
value: 0
payload
Proposal type: Moonbeam

  0xfca7820b00000000000000000000000000000000000000000000000004db732547630000

  4). Set collateral factor of mETHwh
  target: 0x8E00D5e02E65A19337Cdba98bbA9F84d4186a180
value: 0
payload
Proposal type: Moonbeam

  0xe4028eee000000000000000000000000b6c94b3a378537300387b57ab1cc0d2083f9aeac00000000000000000000000000000000000000000000000006a94d74f4300000

  5). Set collateral factor of mUSDCwh
  target: 0x8E00D5e02E65A19337Cdba98bbA9F84d4186a180
value: 0
payload
Proposal type: Moonbeam

  0xe4028eee000000000000000000000000744b1756e7651c6d57f5311767eafe5e931d615b000000000000000000000000000000000000000000000000080c92ed51ba0000

  6). Set interest rate model for mxcUSDC to updated rate model
  target: 0x22b1a40e3178fe7C7109eFCc247C5bB2B34ABe32
value: 0
payload
Proposal type: Moonbeam

  0xf2b3abbd0000000000000000000000000cb2535d00cddfae5ed1aff2e5a0239fc947d17d

  7). Set interest rate model for mxcUSDT to updated rate model
  target: 0x42A96C0681B74838eC525AdbD13c37f66388f289
value: 0
payload
Proposal type: Moonbeam

  0xf2b3abbd0000000000000000000000002ee993533a482fe0f22d0fdf1b84ae1a0537e5ed

  8). Set interest rate model for mFRAX to updated rate model
  target: 0x1C55649f73CDA2f72CEf3DD6C5CA3d49EFcF484C
value: 0
payload
Proposal type: Moonbeam

  0xf2b3abbd000000000000000000000000f8bc2a699559c96d48cf1e6f70aa2e67508c2ae9

  9). Transfer 6778847 WELL from 0x6972f25AB3FC425EaF719721f0EBD1Cdb58eE451 to 0x7793E08Eb4525309C46C9BA394cE33361A167ba4
  target: 0x511aB53F793683763E5a8829738301368a2411E3
value: 0
payload
Proposal type: Moonbeam

  0x23b872dd0000000000000000000000006972f25ab3fc425eaf719721f0ebd1cdb58ee4510000000000000000000000007793e08eb4525309c46c9ba394ce33361a167ba4000000000000000000000000000000000000000000059b7a083f654f2c1c0000

  10). Transfer 6923077 WELL from 0x6972f25AB3FC425EaF719721f0EBD1Cdb58eE451 to 0x8E00D5e02E65A19337Cdba98bbA9F84d4186a180
  target: 0x511aB53F793683763E5a8829738301368a2411E3
value: 0
payload
Proposal type: Moonbeam

  0x23b872dd0000000000000000000000006972f25ab3fc425eaf719721f0ebd1cdb58ee4510000000000000000000000008e00d5e02e65a19337cdba98bba9f84d4186a18000000000000000000000000000000000000000000005ba04c1954a04c9f40000

  Governor multichain proposal calldata
  [encoded data, 9290 characters]
Multi chain deployment is still under development. Use with caution.

EIP-3855 is not supported in one or more of the RPCs used.
Unsupported Chain IDs: 1284, 8453.
Contracts deployed with a Solidity version equal or higher than 0.8.20 might not work properly.
For more information, please see https://eips.ethereum.org/EIPS/eip-3855

## Setting up (2) EVMs.
==========================
Simulated On-chain Traces:

  [826908] → new MockERC20Params@0xb2f12BCfA2936962365CE0e93D0ff541B539315A
    └─ ← 3314 bytes of code

  [21550] xcUSDT::setSymbol(xcUSDT)
    └─ ← "EvmError: Revert"

  [826872] → new MockERC20Params@0xce5d9fe869eB37C1928ED9F5B302bc839fd6BA23
    └─ ← 3314 bytes of code

  [21550] xcUSDC::setSymbol(xcUSDC)
    └─ ← "EvmError: Revert"

  [826884] → new MockERC20Params@0xCa394e331bFDFC657536EeC45d54EE6Df1Dbae07
    └─ ← 3314 bytes of code

  [21538] xcDOT::setSymbol(xcDOT)
    └─ ← "EvmError: Revert"

Error:

Transaction failed when running the on-chain simulation. Check the trace above for more information.

Context:
- Simulated execution failed.


BUG: Testimonial card font color

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The font color of the Testimonial card is grey which makes it unable to read. Its font color can be changed so that it becomes readable

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Its-Aman-Yadav  Please assign me this issue


The only_v6 flag of the with_bind_address method is not honoured

I have a ServerConfig builder that looks like this:
    let config = ServerConfig::builder()
        .with_bind_address(bind_address, false)
        .with_certificate(certificate)
        .keep_alive_interval(Some(Duration::from_secs(3)))
        .build();

So the only_v6 flag is false (side note: it's not good API design to pass boolean parameters to a function, because if I read that function without reading its documentation, what does false mean? It's better to use an enum in this case, but I digress).
The output of the command ss -ulpen is as follows:
UNCONN                    0                         0                                                     [::1]:4433                                                  [::]:*                        users
(("beam.smp",pid=7804,fd=20)) uid:1000 ino:54876 sk:9<EMAIL_ADDRESS>v6only:1 <->

Note the v6only:1 part in the output.

side note: it's not good API design to pass boolean parameters to a function

Completely agree. Thanks for the feedback and I am going to change that.

I cannot find any good reference/documentation for now (starting from https://man7.org/linux/man-pages/man7/ipv6.7.html), but not all configurations and platforms support IPV6_V6ONLY.
In particular, I have found loopback binding (LOCALHOST) does not support dual-stack. I see [::1]:4433 in your example.
Could you please confirm me that it instead works with INADDR_ANY?

I confirm that binding to :: binds dualstack:
UNCONN                    0                         0                                                         *:4433                                                     *:*                        users:(("beam.smp",pid=5151,fd=20)) uid:1000 ino:48796 sk:3001<EMAIL_ADDRESS>v6only:0 <->

Notice the v6only:0 flag.
While I know that there exists the with_bind_config function, I was wondering whether it would be possible to call the server builder with with_bind_address multiple times, 1 for <IP_ADDRESS> and the other for ::1 in the case for localhost.
Specifically, I'm using:
let mut addrs_iter = (host, port).to_socket_addrs()?;

the to_socket_addrs returns an iterator of socket addresses, so when I set host to localhost, it returns both the address for <IP_ADDRESS>, and the one for ::1.
So in reality my request would be to be able to bind to multiple addresses, as many as returned by to_socket_addrs.
This could be useful, for example, also if a host has both an A and an AAAA DNS record, and the server would bind to both addresses.
Is something like that possible?

This crate does not allow that directly, but yeah it is possible.
Like its underlying transport, an Endpoint represent a single point of binding (thus, a single socket).
However, nothing stops you from having multiple endpoints for your server.
Something like:
    let socket_addresses = vec![
        SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 4433),
        SocketAddr::new(Ipv6Addr::LOCALHOST.into(), 4433),
        SocketAddr::new(Ipv4Addr::UNSPECIFIED.into(), 4433),
        SocketAddr::new(Ipv6Addr::UNSPECIFIED.into(), 4433),
    ];

    // Vec<Endpoint<Server>>
    let endpoints = socket_addresses
        .into_iter()
        .map(|address| {
            let config = ServerConfig::builder()
                .with_bind_address(address, false)  // No dual stack, as we have multiple bindings
                .with_certificate(Certificate::load("cert.pem", "key.pem")?)
                .build();
            Ok(Endpoint::server(config)?)
        })
        .collect::<Result<Vec<_>>>()?;

Each Endpoint::accept() produces a Future so you can select one of them in different ways.

futures::select_all
tokio::JoinSet
...

However, nothing stops you from having multiple endpoints for your server.

True, but isn't building multiple sockets less efficient than having only one?
I mean I'd like to have something like IpBindConfig::LocalDual, but more flexible.
Is IpBindConfig::LocalDual binding 2 endpoints internally and hiding the complexity, or does it work differently?

I am not aware about any performance penalties about binding multiple sockets.
And in any case, binding multiple addresses necessarily require binding multiple sockets (generally).
IpBindConfig::LocalDual does not actually bind two sockets (nor internally creates multiple endpoint), it just leverages OS Dual-stack IP implementations (https://datatracker.ietf.org/doc/html/rfc4213). The OS binds 1 socket anyway and let that same port to also redirect IPv4 connections (merely because of transition v6->v4).

On further testing, binding with:
    let config = ServerConfig::builder()
        .with_bind_config(wtransport::config::IpBindConfig::LocalDual, port)
        .with_certificate(certificate)
        .keep_alive_interval(Some(Duration::from_secs(3)))
        .build();

the output of ss -ulpen is as follows:
UNCONN       0             0                            [::1]:4433                        [::]:*           users:(("beam.smp",pid=3550,fd=20)) uid:1000 ino:36858 sk:b<EMAIL_ADDRESS>v6only:1 <->

So the v6only:1 flag is still set, and I don't see any <IP_ADDRESS> binding for IPv4.
This might be a separate bug, but it confirms your point that for binding to localhost both on IPv4 and IPv6 we need 2 sockets indeed.
Thank you for the example code btw.

This might be a separate bug, but it confirms your point that for binding to localhost both on IPv4 and IPv6 we need 2 sockets indeed.

I am not sure that could be classified as bug. As said, dual-stack is OS implementation details and might not be supported for localhost.
In fact, I would change the API in this patch: https://github.com/BiagioFesta/wtransport/pull/54
The dual-stack configuration will be more explicit:
/// Configuration for IPv6 dual stack.
#[derive(Debug, Copy, Clone)]
pub enum Ipv6DualStackConfig {
    /// Do not configure dual stack. Use OS's default.
    OsDefault,

    /// Deny dual stack. This is equivalent to `IPV6_V6ONLY`.
    ///
    /// Socket will only bind for IPv6 (IPv4 port will still be available).
    Deny,

    /// Allow dual stack.
    ///
    /// Please note that not all configurations/platforms support dual stack.
    Allow,
}

Where Ipv6DualStackConfig::Allow suggests to allow (not enable) the dual stack. Not guaranteed


Cobalt 22 updates

@neeraj-deshpande the commit is too big, so I am not able to give approval for review. If it is ready for merge, let me know I can merge it right away.


Update deliveries.md

Clarified "delivered" vs "deliverability"

Fixes
Checklist

[ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
[ ] I have read the [Contribution Guide] and my PR follows them.
[ ] I updated my branch with the master branch.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation about the functionality in the appropriate .md file
[ ] I have added in line documentation to the code I modified

Short description of what this PR does:

If you have questions, please send an email to Sendgrid, or file a Github Issue in this repository.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @joanna-roberts,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Remove CLI, move to new repo

Fixes: #158
also, tests were failing so fix #166  and #144

Coverage decreased (-0.2%) to 88.496% when pulling e610120140ef69ac6f069b63f804e0ada90d025b on decli into 08453cc706dbebc1f31b9e15b698d56aa78d7086 on master.

the 'other side' of this is https://github.com/IBM-Cloud/gp-js-cli/pull/2


bug(windows): webrtc_mdns::conn: Error receiving from socket connection: Os { code: 10040, kind: Uncategorized, message: "A message sent on a datagram socket was larger than the internal message buffer or some other network limit, or the buffer used to receive a datagram into was smaller than the datagram itself." }

Describe the bug
Not sure yet. Jamil said I may need to set the Maximum Segment Size for the interface in addition to setting MTU. (MTU I believe is working, it shows up as 1280 in Get-NetIPInterface)
To Reproduce
Run the tunnel, connect to Github or something, eventually it seems to just show up.
Github also runs kinda slow, both in Git operations and in the web UI. Might be related.
Expected behavior
Expected Github to be faster, expected the log to not be spammed with errors.
Screenshots / Logs

Platform (please complete the following information):

Firezone Version - Probably current tip of main ab04c73e
OS: Windows 11
System - My dev laptop, not the VM.

Additional context
N/A

I looked around for leads on setting MSS but I can't find anything. Also the errors don't come up when I'm experiencing Github being slow.

Will be fixed incidentally by snownet


qemu: Move ciao-qemu implementation to virtcontainers repo

We are constantly adding new things to ciao-qemu in order to support new features for our runtime, but ciao itself is not using them. There is no point in sharing this between both ciao and virtcontainers, and it would make easier not to have to revendor.

It's not true to say that ciao is not using the changes.  While we don't use the higher level qemu launching abstraction (yet) we do use the QMP changes.  For example, the changes used to get block devices working on qemu 2.9 are being used in ciao.  Note that if you fork qemu, you'll lose some reviewers for your changes.

@markdryan I thought @mcastelino told me it was fine to move this package, but if you consider ciao project as heavily relying on it, then we should maybe keep things as they are right now, that makes sense to me.
@mcastelino what do you think ?

My preference would be to not fork the package but to move it out into its own separate repo, and have both ciao and virtcontainers vendor it.  But I must admit, I haven't started to do this yet.
Would this be an acceptable solution for the virtcontainers team?   Could you wait the couple of weeks that it would be likely to take?  The virtconainers team would have merge rights on the new project.   You'd still need to vendor but wouldn't be reliant on the ciao team to merge changes.

@markdryan I know @mcastelino had some issues with all those vendoring, if he's fine with your proposal, I am fine with it too :)

@sboeuf yes I am ok with that.

@mcastelino ok thanks ! @markdryan let us know when this new package is ready ;)


Unable to install Cloudnative-PG 1.03 on truenas scale 22.12.3

My truenas scale version is 22.12.3 and the Cloudnative-PG version is 1.03
I didn't install previous version available on truenas 0.04, so this was a first time.
I receive the error below.
Is this a known issue, that already can be solved?
I tried to install cloudnative-PG because it was suggested the latest version of Traefik would be needing this. And because Traefik isn't working either (404 Error)
[EFAULT] Failed to install chart release: Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "backups.postgresql.cnpg.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "cloudnative-pg"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "ix-cloudnative-pg"
More info...
 Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 428, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 463, in __run_body
    rv = await self.method(*([self] + args))
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1246, in nf
    res = await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1378, in nf
    return await func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/chart_releases_linux/chart_release.py", line 486, in do_create
    await self.middleware.call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1395, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1355, in _call
    return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1258, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/chart_releases_linux/helm.py", line 44, in helm_action
    raise CallError(f'Failed to {tn_action} chart release: {stderr.decode()}')
middlewared.service_exception.CallError: [EFAULT] Failed to install chart release: Error: INSTALLATION FAILED: rendered manifests contain a resource that already exists. Unable to continue with install: CustomResourceDefinition "backups.postgresql.cnpg.io" in namespace "" exists and cannot be imported into the current release: invalid ownership metadata; label validation error: missing key "app.kubernetes.io/managed-by": must be set to "Helm"; annotation validation error: missing key "meta.helm.sh/release-name": must be set to "cloudnative-pg"; annotation validation error: missing key "meta.helm.sh/release-namespace": must be set to "ix-cloudnative-pg"

This looks like an issue for https://github.com/truecharts/charts/tree/master/charts/operators/cloudnative-pg


Error when I try to Initialize Workspace

When I enter "Dendron: Initialize Workspace" in the command bar, I get the following error:
Command 'Dendron: Change Workspace' resulted in an error (command 'dendron.changeWS' not found)
Other commands appear to do the same thing.

wrong forum


Help requested - Service Failed to start

Hi!, first I'd like to thank you for your work...
I've tried to install with the instructions... everything installs without errors, but service won't start:
● ytdlp2strm.service - ytdlp2STRM Service
     Loaded: loaded (/etc/systemd/system/ytdlp2strm.service; enabled; preset: enabled)
     Active: activating (auto-restart) (Result: exit-code) since Mon 2024-01-15 13:37:36 CST; 1s ago
    Process: 32809 ExecStart=/usr/bin/python3 /opt/ytdlp2STRM/main.py (code=exited, status=1/FAILURE)
   Main PID: 32809 (code=exited, status=1/FAILURE)
        CPU: 209ms

Jan 15 13:37:36 jelly-server systemd[1]: ytdlp2strm.service: Main process exited, code=exited, status=1/FAILURE
Jan 15 13:37:36 jelly-server systemd[1]: ytdlp2strm.service: Failed with result 'exit-code'.

I've tried uninstalling and installing again, but same result...
PD: I can't wait to see a Jellyfin Plugin integration with this!... thanks in advance!

UPDATE:
I made the install using sudo, and now it's working... I can access the gui, but after I set the channel I want, and the directory, and after I run the command python cli.py --media youtube --params direct
I get this:
Preparing channel https://www.youtube.com/@Nico-RideMeFive
@Nico-RideMeFive
Working channel URL: https://www.youtube.com/@Nico-RideMeFive/videos
Getting channel ID...
yt-dlp --compat-options no-youtube-channel-redirect --compat-options no-youtube-unavailable-videos --restrict-filenames --ignore-errors --no-warnings --playlist-start 1 --playlist-end 1 --print channel_url https://www.youtube.com/@Nico-RideMeFive/videos
Generating name folder...
Getting name...
Command yt-dlp https://www.youtube.com/@Nico-RideMeFive --compat-options no-youtube-unavailable-videos --print "%(channel)s" --restrict-filenames --ignore-errors --no-warnings --playlist-items 1 --compat-options no-youtube-channel-redirect
Getting description...
Getting thumbnails...
Getting videos...
Created directory: /md4/Jellyfin/Youtube/Youtube/@Nico-RideMeFive [UCtZ-NR6mtwRGRR48AtrYLjg]
File created: /md4/Jellyfin/Youtube/Youtube/@Nico-RideMeFive [UCtZ-NR6mtwRGRR48AtrYLjg]/20240114 - Atravesando Europa  Episodio #5  Nuevo Continente [gqp1ZmqKHLI].strm
File created: /md4/Jellyfin/Youtube/Youtube/@Nico-RideMeFive [UCtZ-NR6mtwRGRR48AtrYLjg]/20240107 - Acampar a Bajo Cero, la moto no arranca  Episodio #4  Nuevo Continente [CR0wdEy5978].strm

Which seems to be ok, but looking into my /md4/Jellyfin/Youtube/Youtube/ folder, there's nothing created there.
/md4 is a Mounted drive just in case that information is useful.

UPDATE 2:
OMG, I'm sorry, my mistake, a typo on the route, was the problem... thanks


vmur not detecting unauthorized when punching to another system's reader

I ran into this issue where vmur thinks it was able to successfully punch and transfer a file to another system's reader, but in fact RACF is blocking it.
I ran the command:
# vmur punch -r rhcos-live-kernel-s390x -u etpgxku -N kernel.img
Reader file with spoolid E YO created and transferred to ETPGXKU.

This was not obvious to me what the problem was, but I could see that no messages were being logged at the hardware console for either the driving or the receiving systems.
strace gave some more details:
[root@dgbglbi rhcos-bootfiles]# strace vmur punch -r rhcos-live-kernel-s390x -u etpgxku -N kernel.img
execve("/usr/sbin/vmur", ["vmur", "punch", "-r", "rhcos-live-kernel-s390x", "-u", "etpgxku", "-N", "kernel.img"], 0x3ffe3cfec18 /* 18 vars */) = 0
brk(NULL)                               = 0x2aa143cf000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x3ffb0cfc000
<<< OUTPUT REMOVED >>>
close(5)                                = 0
openat(AT_FDCWD, "/dev/vmcp", O_RDWR)   = 5
ioctl(5, VMCP_SETBUF, 0x3ffe407ebd8)    = 0
write(5, "CLOSE D TO ETPGXKU RDR NAME kern"..., 38) = 38
ioctl(5, VMCP_GETCODE, 0x3ffe407ebe0)   = 0
ioctl(5, VMCP_GETSIZE, 0x3ffe407ebf0)   = 0
read(5, "RPIMGR032E YOU ARE NOT AUTHORIZE"..., 98) = 98
close(5)                                = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0
write(1, "Reader file with spoolid E YO cr"..., 66Reader file with spoolid E YO created and transferred to ETPGXKU.
) = 66
close(4)                                = 0
flock(3, LOCK_UN)                       = 0
close(3)                                = 0
exit_group(0)                           = ?
+++ exited with 0 +++

Shouldn't vmur detect RPIMGR032E and fail with a message back to the user?

Further investigation yields this message:
21:47:38 MSG FROM RACFVM  : ICH408I USER(ETPGXJS ) GROUP(GXJS    ) NAME(IBM DALLAS          )
21:47:38 MSG FROM RACFVM  :   TATAC05.ETPGXKU CL(VMRDR   )
21:47:38 MSG FROM RACFVM  :   INSUFFICIENT ACCESS AUTHORITY
21:47:38 MSG FROM RACFVM  :   ACCESS INTENT(UPDATE )  ACCESS ALLOWED(NONE   )

@tmricht can you have a look please? Thanks!

@Jan, thanks for the notification.
Sorry for the late reply, but I had to refreshen my brain first :-).
Can you please append (attach) the complete strace log to the ticket, this would help me a lot. Thanks.
The vmur command uses the vmcp device driver interface for communication with the CP command layer. These errors are reported to the user but rarely interpreted by programs.
From the strace output it looks like the error occurs when closing the device with command
"CLOSE D TO ETPGXKU RDR NAME kern...".
This is done in function close_ur_device() and uses the vmcp() device driver, which just reports there error but does not
act on any errors.
Can you tell me the exact error number this command is failing with? So I can add a check.
Thanks.

On what linux distro + version and what s390-tools version did the error occur?

I cannot reproduce the error at this time, and unfortunately I did not preserve the strace log.
This occurred on RHEL 8.4.
[root@dgbglbi bin]# vmur --version
vmur: Control virtual reader, punch, and printer version 2.15.1-5.el8
Copyright IBM Corp. 2007, 2017

Actually, I can reproduce it, here's the strace log:
https://gist.github.com/vmorris/ff12382a91c09ba8ada99f7eb9167c07

Thanks a lot and good to know you can reproduce the issue.
As explained above, the error happens when closing the punch device 000d using a vmcp command. The error response of this command is not interpreted. So I need to know the exact error code to be returned in your case.
Since we do not have such a RACF in place here in our lab, I would like you to rerun the command again with a modifed vmur program I modified for you. The only change is a printf statement to see the error return code from the close command, here is the output from my box:
[root@s8360046 vmur]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)
[root@s8360046 vmur]# uname -a
Linux s8360046.lnxne.boe 4.18.0-305.el8.s390x #1 SMP Thu Apr 29 09:06:01 EDT 2021 s390x s390x s390x GNU/Linux
[root@s8360046 vmur]# ./vmur punch -r Makefile -u s8360047 -N kernel.img
close_ur_device response PUN FILE 0328 SENT TO   S8360047 RDR AS  0381 RECS 0008 CPY  001 A NOHOLD NOKEEP
cprc:0
Reader file with spoolid 0328 created and transferred to S8360047.
[root@s8360046 vmur]#
You just install the vmur program (I send it to your LN user-id as attachment) in a local directory and issue this command:
./vmur punch -r rhcos-live-kernel-s390x -u etpgxku -N kernel.img
and send me the output, I need the lines in bold.
Thanks a lot.

@tmricht -
close_ur_device response RPIMGR032E YOU ARE NOT AUTHORIZED TO CLOSE TO TATAC05.ETPGXKU
HCPCSL007E Invalid userid - ETPGXKU
 cprc:7


Support outer mipmaps

When i try to intergrate to my own engine, I hope to use the mips of my own, hope it helps for other guy

OK - I will merge your changes into the latest repo (as far as possible). I can't use any code from the "crunch" library, so I'll rewrite that.

The latest code now supports user-provided mipmap source images. See basis_compressor_params::m_source_mipmap_images. It works just like your code did.

That's great, and it will become much easier for other guys to integrate it in their own engine.

Thanks for submitting this PR!