More than three chromecasts?

I'm not 100% sure this is a bug with your code, but I had problems seeing all my chromecasts with SoundCast recently. I have four chromecast audio's on my LAN, and all are viewable in the official google chromecast app for ios.
SoundCast only shows three. When I downloaded and installed this tool, it shows only three as well (although a different three).
Does this sound possible to you? One of the chromecast's has unicode characters in the name -- it shows fine in SoundCast, but does not show up with chromecast -l from the command line.

Update -- I can confirm that multiple invocations of chromecast -l yield only three names, and that which names appear seems to be somewhat random.

hmm; taking a look at how this is written, I can totally believe it's a problem; we stop the browser after finding the first name, rather than doing any sort of timeout (the code that performs that step was contributed); I can imagine that the underlying cast-v2 client is just parallelizing some things and/or in your particular implementation it just manages to get to 3 of them before the tick of the loop that kills the browser; this isn't ideal.
unfortunately though, this code is effectively without a maintainer; I only had a mac because of my previous job, so I no longer have a place to test and work on this code, I'm sorry to say.
will leave this open and mark as "help wanted"; hopefully a contributor can help fix it.

OK, if you can point me to a line or section I’ll see if I’ve got anything to offer.
--
Peter Vessenes
CEO, CoinLab Inc.
@vessenes
On December 2, 2015 at 10:02:42 PM, Nathan Wittstock<EMAIL_ADDRESS>wrote:
hmm; taking a look at how this is written, I can totally believe it's a problem; we stop the browser after finding the first name, rather than doing any sort of timeout (the code that performs that step was contributed); I can imagine that the underlying cast-v2 client is just parallelizing some things and/or in your particular implementation it just manages to get to 3 of them before the tick of the loop that kills the browser; this isn't ideal.
unfortunately though, this code is effectively without a maintainer; I only had a mac because of my previous job, so I no longer have a place to test and work on this code, I'm sorry to say.
will leave this open and mark as "help wanted"; hopefully a contributor can help fix it.
—
Reply to this email directly or view it on GitHub.

sure, the issue is in this section specifically https://github.com/fardog/node-chromecast-osx-audio/blob/master/lib/index.js#L12-L30
what happens here is that the function called when the browser emits serviceUp will be called multiple times, once for each chromecast found; you can see that at the end of this function, it calls browser.stop() which stops the zeroconf service from looking for new services. my best guess is that there should actually be some sort of timeout here; that is, the browser.stop should only be called after a specified period of time has been reached (and ideally that timeout would be configurable via a command-line flag).
I could be off-base here (I haven't looked super thoroughly into the underlying mdns library that this uses) but that's where I'd start troubleshooting; you could even just start by commenting out that browser.stop() line and seeing if more services get listed before going any further.
thanks so much for taking a look at this!

No problem. It's definitely doable to get in there and try your suggestion out; I'll see first if a timeout helps. I would think only a small timeout is needed, but it might be nice to increase that timeout if someone checks 'rescan' in the UI, just in case something was missed.
I don't love that function below, definitely made with only one chromecast in mind. I think it's too big a job for me right now to make it multi-cast friendly the whole way through, so let's go simple -- I'll keep you posted.


warnAsError option

Add a warnAsError option to match the associated IKVM option
May be specified either as a boolean or as a list of values that
will then be used as warning codes to consider as errors
Removed http imports and use functions plugin for getTools()

:shipit:


I want to add a slack community for both frontend and backend

Which field of community (DevOps/Opensource/Web/Web3/Android/Devrel) you want to add, drop the links?
HackerEarth Slack - https://join.slack.com/t/hackerearthdevs/shared_invite/zt-1eg0jqmlz-YdvV_Ym1Xby6LJFcqydXIQ
Frontend Mentor - https://join.slack.com/t/frontendmentor/shared_invite/zt-1enudath0-ozW32EpT2Ixn~5JTG0dCog

@Shubhcs01 Request a PR instead, which gets reviewed anyway & mark this issue closed already.

okay


can we use something like import {dir} from 'node-dir'

Is there any way to treat node-dir as an import module?  I can't use require in my module.

I was wondering the same...


Version 2.0.0 available

Please, a version 2.0.0 is available on @adamwdraper repository.

Sorry, I'm check this link https://www.npmjs.com/package/numeraljs


chore: Show concrete error message when getting projects

fix #1143 , fix #1088

supersede by #1152


Appstudio update mvp-test-component

Pipelines as Code configuration proposal

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
9 seconds
sanity-inspect-image

✅ Succeeded
10 seconds
deprecated-base-image-check

✅ Succeeded
19 seconds
clair-scan

✅ Succeeded
58 seconds
clamav-scan

✅ Succeeded
13 seconds
sbom-json-check

✅ Succeeded
16 seconds
sanity-optional-label-check

✅ Succeeded
16 seconds
sanity-label-check

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/mvp-test-component-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
9 seconds
sanity-inspect-image

✅ Succeeded
10 seconds
deprecated-base-image-check

✅ Succeeded
58 seconds
clamav-scan

✅ Succeeded
19 seconds
clair-scan

✅ Succeeded
13 seconds
sbom-json-check

✅ Succeeded
16 seconds
sanity-optional-label-check

✅ Succeeded
16 seconds
sanity-label-check

✅ Succeeded
6 seconds
show-summary


 It looks like triangular_solve_transpose_rule doesn't?

The primitives in lax.py tend to have explicit handling of ad_util.zero but It looks like triangular_solve_transpose_rule (and the other linalg primitives) doesn't?

Hmm, maybe all I need to do to fix this is handle ad_util.zero explicitly in the transpose rule? I wasn't sure if transpose rules needed to handle symbolic zeros.
I think the main reason why you don't need symbolic zeros in lax_linalg.py right now is that I convinced myself that they are never needed in JVP rules and removed them:
https://github.com/google/jax/pull/1490

Any suggestions for how I could reproduce this with triangular solve directly? I tried this in linalg_tests.py, but it did not suffice:
  def testTriangularSolveGradZeros(self):
    a_shape = (3, 3)
    b_shape = (1, 3)
    dtype = onp.float32
    rng = jtu.rand_default()
    a = np.triu(rng(a_shape, dtype) + onp.eye(a_shape[-1], dtype=dtype))
    b = rng(b_shape, dtype)
    f = lax_linalg.triangular_solve
    jtu.check_grads(lambda x: f(a, x), (b,), 2, rtol=2e-4, eps=1e-3)
    jtu.check_grads(lambda x: f(x, b), (a,), 2, rtol=2e-4, eps=1e-3)

OK, this was easy enough to fix in #1537
I do wonder if we might be able to rule out this class of bugs entirely by not calling primitive transpose rules if cotangent is a symbolic zero, like we currently seem to do for JVPs.


Allow to append json schema default catalog + local catalog

I have a request on Mega-Linter about allowing to specify the schema to validate a file
It could be done using v8r option -c to use a local catalog, but it would make loose the capability to use default catalog for other files
Would it be possible to add an option --append-catalog, so instead of just using local catalog , it would use the result of the append of -c and schema store?
Thanks !

I think it already does what you want out of the box. v8r always falls back to schemastore as the last catalog even if you pass one (or more) custom catalogs and a match is not found in the custom catalog
https://github.com/chris48s/v8r/blob/33b7796c16ac4c1370232c4c554cd2bff1110650/src/cli.js#L140
so
v8r my-file.json -c my-catalog.json

will still check schemastore if no match is found in my-catalog.json
If that doesn't cover what you're asking for, can you explain more with an example. Thanks

Thanks a lot @chris48s :)


holding_times vector type

holding_times returns an object of type Vector{Vector{Any}}, which causes issues in some natural uses (such as saving with HDF5). this would be resolved by returning instead an object of type Vector{Vector{Float64}}

This is a great idea @m-geo . We'll want to get rid of type instabilities in as many places as possible


Question about null fields

Any particular reason why "Null fields are not supported"?
Any plans to support them?
Thanks,
Pedro

It's a limitation of Flink when using tuples, see: https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/datastream/fault-tolerance/serialization/types_serialization/#flinks-typeinformation-class

Hi, I came across this same issue... I understand this is a Flink limitation when using tuples, but:

How can we deal with nullable fields in Kotlin data classes? I think most non-trivial use cases would require some way to do so
Could TypeInfo for data classes be somehow modeled as a subclass of PojoTypeInfo instead of TupleTypeInfoBase? Flink documentation doesn't state POJOs have this same not-null limitation as Tuples do

PS: sorry to bring this up again, but seemed better to open a new issue

You can model nullable values as a distinct type that isn't nilable.

Right, I thought that too. I tried using Java's Optional, but this can only be serialized via Flink Kryo fallback, which is not desirable. Do you see a better approach?


Media migrations

Testing
TL;DR: for instructions to test the PR see below
Supported Media Migrations
This PR provides migration definitions and tests for migrating Media and Files into Drupal.  Migrations for the following Media types are provided:

Generic files
Images
Video
Remote Video (e.g. Youtube links)
Extracted Text
Audio
Document

There is Media type for "FITS Technical metadata", which is not supported by this PR.  It seems to be a special purpose Media type, and I'm not even sure if our repository is going to be accepting that kind of media, so I didn't spend time writing a migration definition and tests for it.  (Generally, I'm wondering of the Media types have been reviewed and approved by the stakeholders; some of the requirements - e.g. allowed file extensions - seem at best annoying and at worst will cause content creators to rename files to adapt to what appears as an arbitrary rule).
Content-based Addressing of files
In addition to providing Media migration support, this PR supports content-addressed filenames for files that are ingested via migrations.  This means that files with identical byte content will have identical file names (same directory and filename).  Consequently, there will never be two different files in Drupal that have identical content.  A corollary is that it is impossible for a file to be accidentally overwritten in a migration process.
An important caveat is that content-based addressing of file content only applies to files provided in a migration.  The logic applied to interactively-uploaded content and to migrated content are separate and distinct from each other.  If a user creates a Media manually through the UI, the file associated with the Media will not be content addressed, and therefore duplicates could be introduced if a duplicate file is uploaded manually.  However, if most Media are created by the migrations in this PR, then duplicates are not something to be too concerned with.
Content-based addressing is achieved by introducing a new processing plugin named pairtree, and judicious use of various existing modules to provide more control over the filenames used when ingesting content during migration.  As an aside, SHA-1 is used on the file content, but if we feel it is insufficient we should be able to use any PHP-supported hashing algorithm.
If content addressing is not used, we will need to reason about the consequences of Drupal's current behavior, which is to match duplicates based on filename, regardless of their content, and navigate the various dials and knobs used to control its behavior (e.g. overwrite existing files with the duplicate, rename the duplicate until it is unique, etc).
Treatment of File entities
This PR allows for multiple File entities to refer to the same file that is present on the Drupal filesystem.
Take, for example, a migration that refers to a bytestream that has been previously migrated.  At one point in time, the content at http://cloudstorage.net/file/moo.pdf was migrated into Drupal, and at some later time, the same bytes are migrated again for some unknown reason; maybe a different URL was used the second time, but yielded the same bytes, who knows.
We know from content-based addressing that the second migration will not result in a duplicate file on the Drupal filesystem.
BUT, what do we do with the File entity that results?  This PR creates a new File entity for the second migration, instead of re-using the existing File entity from the original migration.  The rationale for creating a new File is that it allows a single bytestream to be known by distinct metadata (different values for the fields on a File) in multiple contexts.  The File may carry one name in one collection, and be known by another name in a different collection.   If the rationale doesn't hold water, we can easily change the behavior to re-use the existing File entity (matching on the content-addressed path).
File entities are cheap, they amount to a row in a database table, so from a resource perspective, the cost is negligible. Allowing potential "duplicate" entities does make accounting for orphan files (bytestreams) more difficult, and it is not clear what would happen if you were to delete a duplicate File: does deleting a duplicate File entity result in the bytestream being removed even though it is referenced by a different File?  That's unknown.  Anyway. The larger point is that this PR allows duplicate Files to be created and that it can be changed if we think that's problematic.
Tests
The tests are developed in the same pattern as previous migrations (i.e. CSV spreadsheets imported by test cafe, expected resource content in JSON verified by the Go code), with this PR introducing a migration assets container that provides test media for ingest.  This keeps potentially large binaries used for testing out of the drupal image.
Run the tests
Check out this PR
Run make reset
cd into the tests directory and execute ./10-migration-backend-tests.sh; all the tests should succeed
cd into the tests directory and execute ./11-file-deletion-tests.sh; all the tests should succeed
cd into the tests directory and execute ./12-migration-derivative-tests.sh; all the tests should succeed
Optionally
Run the tests above, and then log into Drupal, navigate to the repository object named Media Migration Repository Item One and view its Media by clicking on the "Media" label/tab.  Observe there are Media for each media type except Remote Video and FITS Technical metadata.  Feel free to click through the media and files there should be no surprises.
To observe content addressable storage and duplicate File entities, navigate to the repository object Media Migration Repository Item Two in a separate tab and view its Media.  Compare/contrast the Media named Fuji Acros Datasheet which appears in Media Migration Repository Item One and Media Migration Repository Item Two; their properties will be identical except for their member_of repository item.
Hover over the link labeled with the name of the Media: Fuji Acros Datasheet, and observe that for both entities the link is identical, and that the link references the checksum value c9a060c39365820edc5d1a51f221d49e96a8a730 which is the checksum of the file associated with the Fuji Acros Datasheet.  Feel free to download the file and verify its SHA1 checksum.
Retrieve the JSON API representation of the Fuji Acros Datasheet media by visiting  https://islandora-idc.traefik.me/jsonapi/media/document?filter[name]=Fuji Acros Datasheet (you may need to encode the spaces in the query parameter with %20 depending on your HTTP client).  There should be 2 objects in the data array, identical in most ways.
Navigate to the object key field_media_document, for each of the results, and note that the file id is different for each.  This demonstrates that while each Media is using the same bytes, they have independent representation in the system as different File entities.  Verify this by navigating to the Files tab, and in the list of files you should see the Fuji Acros Datasheet listed twice.
  Add a row to that spreadsheet, incrementing the local id and changing the value of the name and original_name fields to something arbitrary, leaving the rest of the fields as they appear.  In your browser, navigate to the Migrate Source UI and migrate these media by selecting "(3c) Ingest New Document Media..." and provide the edited media-document.csvas the source file.  Leave "Update Existing Records" checked.  Execute the migration.  Navigate/refresh the tab with Media Migration Repository Item Two in it, and observe your newly ingested Media.  It should have the same URI as the Fuji Acros Datasheet (the one that references checksum c9a060c39365820edc5d1a51f221d49e96a8a730).  Navigate to the Files tab and see your file listed, along with the two other Fuji Acros Datasheet files.
Finally, test out deletion behavior.  You cannot delete individual files, but you can "Delete Media and Associated Files" by navigating to the Media Tab and selecting one of the media named Fuji Acros Datasheet and select "Delete media and file(s)".  Navigate back to the Files tab.  You may need to clear the Drupal cache at this point (click "Devel" on the top toolbar then click "Cache clear" on the second tool bar directly below the first), and refresh the Files tab.  This should correct the counts in the "Used In" column.  Anyway, verify that one of the Fuji Acros Datasheet media have a "0" value for Used In.    Right click on hyperlinked name, and click save as.  Note that the file still downloads to your computer even though you deleted the Media and its associated files.  The File entity persists (it just has no references), and so does its bytestream (the file on disk in the Drupal filesystem).  This behavior is documented here and in the 11-file-deletion-tests test suite.

@emetsger This was a fascinating PR.  I think, reading the description, it makes sense to create issues for:

review media types and suffix rules with stakeholders
Verify consequences of File entities referring to same underlying bytestream (maybe something for vendor)

I also noticed a few UX issues that ought to at least be investigated in separate issues, unless you think it makes sense to address in this PR.   I'm not sure if stakeholders would care or not.

Downloaded filenames do not have suffixes and correlate with the hash rather than filename from the metadata
MIME type when downloading files always seems to be application/octet-stream

As far as this relates to UX, this is what it looks like when trying to download an image in the browser (i.e. if I open it in a new tab, or click on the image)

@emetsger This was a fascinating PR. I think, reading the description, it makes sense to create issues for:

review media types and suffix rules with stakeholders

Agree, happy to do this.

Verify consequences of File entities referring to same underlying bytestream (maybe something for vendor)

Also agree, and can create an issue.

Verify sufficiency of sha1 hashing

How best to do this?

I also noticed a few UX issues that ought to at least be investigated in separate issues, unless you think it makes sense to address in this PR. I'm not sure if stakeholders would care or not.

Downloaded filenames do not have suffixes and correlate with the hash rather than filename from the metadata
MIME type when downloading files always seems to be application/octet-stream

Yes, both of these are particularly irritating.  The information is present in the File entity, so I'm not sure what is happening here.  I mean, it seems to me that Drupal could be using the File entity name and media type and sending Content-Disposition, but it just doesn't.  I'll create an issue to follow up especially to see if the behavior is different for interactively-created media.

Verify sufficiency of sha1 hashing

How best to do this?

I think this would just be an issue to think through the consequences.  sha1 is broken, but it is unclear exactly what our "attack surface" is on that, what happens when colliding files are uploaded, and whether it matters.

it seems to me that Drupal could be using the File entity name and media type and sending Content-Disposition, but it just doesn't. I'll create an issue to follow up especially to see if the behavior is different for interactively-created media.
(I suspect that Drupal simply punts on this, and relies on the browser handling by providing direct link. If we want this behavior to change - which I think is a reasonable thing to do if we have cycles - we'd need to write some sort of file download controller or see if such a module already exists. Alternately, we can revert the use of content addressed files)

Yeah.  I also wonder if it is really nginx calling the shots here, i.e. it's "just serving files in this one directory called sites/default/files".  If so, this would inherently change when we have se-backed files.  I have no idea whatsoever what would happen in the end, though.  It's possible this issue could go away if s3fs deals with file metadata explicitly.

Yeah. I also wonder if it is really nginx calling the shots here, i.e. it's "just serving files in this one directory called sites/default/files". If so, this would inherently change when we have se-backed files. I have no idea whatsoever what would happen in the end, though. It's possible this issue could go away if s3fs deals with file metadata explicitly.

Could be.  Either way, another consideration is that without any kind of download controller, direct links provide unauthenticated access to files.  Depending on what our APIs or feeds expose that may pose a risk with respect to copyrighted materials or high res images what we don't want to give out.


Error: no such command: 'snippets-menu' when running inside tmux

When running my kak inside tmux ( tmux new-session kak ) and type <a-enter> in insert mode I get the following error:
Error: no such command: 'snippets-menu'

I have no idea.

@sucrecacao The menu has been removed and we use completers now.


update-cmthirdpartyupdate

This is  just are request and i will submit user voice for this item. It would be great to have update-cmthirdparty -sync  option  in the future releases . This  is to just sync  catalog with cmdlet

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

ID: 5a071f8a-53b4-af3f-16ae-fa25a81282c3
Version Independent ID: fc04bcd7-8372-689c-f464-14f81ab34dd8
Content: Version 1910 release notes - Configuration Manager
Content Source: docs-conceptual/1910-release-notes.md
Product: configuration-manager
Technology: configmgr-other
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Hi @rdoloto-nps, as it's product feedback, I'm closing this doc issue, nothing actionable for docs at this time until a cmdlet is added  to the module. 😄


Maven Package Creation - v2.1.8

Bumped Selenium version '4.5.0' -> '4.5.1'.
Maven package creation - v2.1.8.

Codecov Report
Base: 98.55% // Head: 98.55% // No change to project coverage :thumbsup:

Coverage data is based on head (e904487) compared to base (71fb7b6).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##               main      #37   +/-   ##
=========================================
  Coverage     98.55%   98.55%
  Complexity       20       20
=========================================
  Files             1        1
  Lines            69       69
  Branches          6        6
=========================================
  Hits             68       68
  Misses            1        1

Impacted Files
Coverage Δ

...java/io/github/abhinavminhas/ShadowRootAssist.java
98.55% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


verbose interval stats for dnsperf

Handy for diagnosing situations when a server responds all the time but starts SERVFAILing at some point in the middle of the test.

The output format is subject to change.

Huh? Are you not done with the format?

Huh? Are you not done with the format?

I don't expect changes, but at the same time I don't want to promise any stability in the very first version.


prerendered on desktop should persist the dom between pre-rendering and mount

Specific Demand
I'm not sure if this is actually useful (but could be!) but right now our pre-rendering setup in desktop requires you to create a virtualdom, pre-render it, and then immediately get rid of it.
This API seems just... weird. Pre-rendering is useful (maybe?) but we have no stats on if it's actually being used and why anyone would use it. We should either just get rid of it completely or tweak it so it's a bool and we do the pre-rendering and dom saving automatically.

It used to be useful to midigate https://github.com/DioxusLabs/dioxus/issues/1120 but now that we wait until after the first render to show the window (https://github.com/DioxusLabs/dioxus/pull/1588), it should be less of an issue


support for structured logging when using NLog 4.5 or upper

something same to #45
when using NLog 4.5 or upper it will be support to use structured logging native.
I will a do some work on this and submit a PR.

This is already supported in LibLog 5.0.3 (Be careful with using LibLog ver. 5.0.5 or newer until #233 has been merged).
Your PullRequest is targeting LibLog 4-branch.

@snakefoot  would probably use this version (Coming from #145 + #142) to support this feature :
https://github.com/snakefoot/LibLog/blob/1362d476238d405eba01f11bba28e6a4d858773c/src/LibLog/LibLog.cs (Choose "Raw" for copy-paste)
And just update your own copy of LibLog.cs.


feat(go): parameter arguments for request creation improved with all …

…required params
🧭 What and Why
🎟 JIRA Ticket: https://algolia.atlassian.net/browse/APIC-676
When creating a request instance to pass we are expecting only path params and some required params was needed set with ".With{{Param}}()" syntax.
Changes included:

Instead of just path parameters we are expecting all required params when instantiating.
For some rare requests, there is no param at all. It is handled to not expect an empty request instance.
Playground examples are updated with the new generation.

🧪 Test
CI should pass and playground examples can be tried without an issue.

PS: The PR is delayed because of yesterday's GitHub incident since the actions were not running.


Advanced Inscriber messed up times.

The advanced inscriber is eating items on itself. When this happens the item disappeares when the process is complete. If a printing press is included then the finished product teleports into my ME storage.

The advanced inscriber does in fact automatically mo


Fix(Updated .travis.yml and WebView)

Description

Fixed linting issues and updated some dependency versions. The plugin is set for release.
Motivation and Context

Tests were failing because of some linting errors and dependency versions. So fixed them.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@artalat I updated .travis.yml file and changed WebView so that it is a function. Please review if this is the correct implementation.

@artalat Please review this.

@artalat Please review this.

@taha437 kindly give demo of it

@ammarkhan967 @taha437 i have fixed this plugin, test and prep it for merge please


PDF report graphs have no status data

In this example I have, for example, 16 'Accepted' status risks showing in the excel report.

I figured out the same for my reports, same for the coloring of the chapters which should turn to less warning colors if all risks are mitigated but they stay the same, something inside the model is broken.

I have a working fix for this but it is currently based upon my other pull request #87 if its urgent you could find it inside my fork

ok I added the pull request that should fix this issue, see: #98

@mcolledge91 could you check against the current master if this problem still exists?

On behalf of Max I can confirm that it's fixed


error C2039: 'binary_function': is not a member of 'std'

binary_function is apparently deprecated in C++11 and removed in C++17. The macro _HAS_AUTO_PTR_ETC hides it in the headers with C++17 in VS2019. I have the following as standard compiler settings:
-Wall -MP -sdl -guard:cf -Zo -std:c++latest -permissive- -Zc:__cplusplus -Zc:externConstexpr -Zc:inline -Zc:throwingNew
To succeed compiling I had to change it to:
-Wall -MP -sdl -guard:cf -Zo -Zc:__cplusplus -Zc:externConstexpr -Zc:inline -Zc:throwingNew
Got a lot of warnings. Please consider updating to C++17 and -permissive-

Any particular reason why? Nothing in C++17 is particularly interesting for a project that builds with a single warning (duplicate symbol not in my code but two separate libs) when building the solution as written in either VS2017 or VS2019.

No offence, I didn't mean criticise. You are of course right. However, I got multiple issues when I tried to compile the project in VS2019. I get a mysterious lock of the Windows SDK UCRT to an old non-installed version (both in VS2017 and in VS2019). Perhaps something is wrong at my side. Perhaps I'm not building in the right way. I was just trying to hint maybe it was time for an overhaul. I thought making the project pass with -Wall -std:c++latest -permissive- could be a reasonable, pretty delimited task that could solve the issues I experienced. If the work would be useful or worth the effort is beyond me.

When you opened the solution in VS2019, were you prompted to install missing features? I added a .vsconfig file a while ago that should have everything you need to build successfully. I tried this in a clean VM and was able to build successfully after running nuget restore (or just right-click on the solution, and click "Restore packages").

No, I just retargeted the solution to 10.0.18362.0 and v142. And when I got troubles I updated the NuGet packages.
I was forced to add
$(WindowsSdkDir)Include\$(WindowsTargetPlatformVersion)\ucrt; to project include dirs
The project UniversalCRT* variables all points to  bogus
<WindowsKits>10\<*>\10.0.14393.0\<*>
while all other Windows SDK paths are correct
In my other project, I have open in another VS2019 instance, all paths are OK. It must, therefore, be on a per solution/project I think. There are some posts on StackOverflow about the phenomena.
Actually, I eventually ended up compiling the project in my highly modded VS2008, only using the VS2019 tools. Fast and works "like a charm" ;). That's why the custom compiler settings.

At some point I'll have to migrate to newer versions because v141 is deprecated past VS2019, which also means we'd likely need to drop XP support (which I only added for -legacy support) so we'll either have to maintain a custom build or drop it. At that point I'll revisit, but since you changed the solution and projects by upgrading them, it's not currently a bug against the existing code. But thanks for reporting the issues you ran into and I'll keep those in mind to fix/work around when the time comes.


How to set generation_config

Hi there,
Thank you for this great work, just want to know how to set the generation_config to trigger CFG when model_kwargs_blackout is supplied?
I have set generation_config=None or generation_config=model.generation_config, but both of them cannot trigger CFG, could you help me to address it?
Best,
Jian

Thanks for your interest in the work!
Could you provide more information on what arguments you include for model_kwargs_blackout? How the code works should be just a single model_kwargs_blackout with some of the inputs with suffix _blackout. To trigger CFG, you would need (1) have the correct inputs similar to here which are processed in here, and (2) only have greedy decoding option (i.e. sample=false, num_beams=1). If you want to do sample, feel free to change the contrastive_generate according.py similar to how I changed greedy_decoding function.
Let me know if you have any further questions.

Thank you for your kind reply, I have addressed this issue, I think I have set the wrong setting since I am trying to modify the code  on other decoding options. Thank you for your kindly reply.


Installation Issues - HOOBS

I keep on getting installation issues f trying to install the Plugin in HOOBS
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ENODATA: Cache input stream was empty
npm WARN registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.
npm ERR! code EINTEGRITY
npm ERR! errno EINTEGRITY
npm ERR! Invalid response body while trying to fetch https://registry.npmjs.org/object-assign: Integrity verification failed for sha512-XiOL/8zfa3vgV/pVfiOrDD9jcbkUhgJKdH4eG0BdeUoSLzpjwL4fR9k30vut4fy35E2V7Y6bhqpE09FEJ+EjfA== (/home/hoobs/.npm/_cacache/content-v2/sha512/5e/23/8bffccdf6b7be057fa557e23ab0c3f6371b91486024a747e1e1b405d794a122f3a63c0be1f47d937d2fbade1fcb7e44d95ed8e9b86aa44d3d14427e1237c)
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/hoobs/.npm/_logs/2021-01-01T12_22_22_052Z-debug.log

Had the same issue when installing via the ui.
I fixed it by installing via command line (docker exec ...) and then it showed my the real error message.
After running: "npm install --save --force homebridge-weather-plus@latest" it works for me

Closing as there are no new reported issues that match this issue.


reverts mimemagic removal

it should be safe to remove, I think it was left in by accident after rails upgrade


Button vs Link with role=button

I found that a button has a margin bottom but a link with role=button does not.
e.g.
<button>I have margin bottom</button>

I have no margin bottom

Is this wanted or a bug?

Hi @pachacamac,
TL;DR: It's a feature, not a bug.
Actually both <button> and  are inline elements.
As both can be inside a
, we should not really define a margin-bottom.
But Pico is sometimes slightly opinionated 🙂.
I considered that:

Links are most likely inside a
 and don't need to have a margin.
Buttons are most likely outside of a
 and therefore need a margin-bottom in the context of a form.

I'm open to suggestions.

Hey @lucaslarroche,
Thanks for the explanation. Even though personally I would probably still prefer no difference, it makes sense from that point of view.
I would just add it to the docs because there it sounds like they're 100% interchangeable:
Buttons are width: 100%; by default. Use  if you need an inline element.

Yaaaaaas 🙌🏼 I came here for this and am happy to see it already exists.
I had two buttons and an anchor under a textarea. It looked so silly because the one anchor had such a larger height. I had to use an anchor because I wanted to make use of target=_blank.
To work around this, I needed up converting it to a button and using onlick=window.open...
Reading the explanation here, I think it makes sense – but like @pachacamac said adding it to the docs to explain it would give that reasoning before trying to fight with it.


Normalize ID handling accross codebase

A developer does not need to reinvent ID handling for each object in the codebase.
This will likely include:

[ ] An ID class, transparent to the user
[ ] An ID set, also transparent to the user

Past discussions include #607 (discusses how the ID set would return data)

Could the pandas Index object be used here? Just a thought, but it's probably at least worth looking into.


FIX: Amend failing reviewable system test selector

What is this change?
This system test is failing in core after some changes to the review queue.
This PR fixes that by relying on the text of the button instead of a class name. This should be backwards compatible since the content hasn't change, and arguably a little bit more clear and a little bit more stable than relying on the class name.

Thanks for fixing this Ted! But sorry I do have to disagree with this:

a little bit more clear and a little bit more stable than relying on the class name

We use class names everywhere in our system tests, I would far prefer to keep using them instead of the text. IMO it is fine that system tests in a plugin start to fail if the core CSS classes change, as this may indicate more of a structural change that the plugin has to handle (the plugin may even have CSS using the core class), wheras if the text changes it's much less of an issue. I also dislike generally using text in specs that doesn't go through our I18n system.
Can leave this one for now, just for future reference...


Upgrade axios dependency

Can you upgrade the axios version to a version >= 1.6.0.
refering to this vulnerability -> https://github.com/advisories/GHSA-wf5p-g6vw-rhxx

@Jakob-Espersen Axios is updated and released with new version 1.0.17
Thanks


Check/implement [ TYPE { STRICT | LAX } ] clause

The SQL Language Reference 23c documents type script and type lax for the following statements:

json_query
json_table
json_transform
json_value

I have not managed to produce a working test case with this clause. The documentation is wrong or the feature is not implemented in 23.3. I also posted a question in the Oracle Forums.
Once it is clear how this works, the grammar should be updated accordingly.

got an answer in the forum. Parentheses are required around strict and lax.

Still issues with json_table. Going to implement it anyway.


Some Handy Enhancements

Problem...
We have the ability to install the components we've created so far but some recent experimentation has raised the issue of requiring a method to update PIP installed packages.
Cause...
Yesterday I was testing out Simple Diffusion and everything was going wrong. It turned out that a few packages had updated and this was causing the AI model to break (took some hunting down). Basically there was a new version of diffusers (component coming soon) which has a dependancy (transformers - coming soon) which had also been updated.
Solution...
We need a way to version check installed packages and compare them to  current packages on pip so we can see if any need updating. Then if required update any packages that need it. Note that this process should be optional (you may purposely want to keep some older packages)
Next...
I'll have a play with it to see what we can do with current components.
GetPIP probably needs the ability to be called with the --upgrade switch

Are you setting the package version in its settings? Do that if you want to target to specific versions avoiding this sort of issue.

I too think an "AutoUpgrade" property would be great. I will create it as possible.

Can you set a discussion along this feature? It will be good to keep it on track and into users sight.

The particular issue was just from manually installing without version info via pip but it raised the likelyhood of this becoming an issue. I'm exploring what happens and what I can do after component wizard....
Basically I need half a dozen or so more components. Decided it'd be a better idea to write a Wizard that just do six components then use the Wizard to make the components. A bigger job at the start but saves massive in long term...

Can you set a discussion along this feature? It will be good to keep it on track and into users sight.

Do what?

We could also do with an Import only component - you supply a pip / conda package name and it goes and gets it and installs it. This would be really useful for 'supporting' packages like pyqt5 (and lots of others) which extend some other package.


Rjproctor1

Description
Please include a summary of the change and/or which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please delete options that are not relevant.
Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test A
Test B
Checklist:
My code follows the style guidelines of this project
I have performed a self-review of my own code
I have commented my code, particularly in hard-to-understand areas
X I have made corresponding changes to the documentation
My changes generate no new warnings
I have added tests that prove my fix is effective or that my feature works
New and existing unit tests pass locally with my changes
Any dependent changes have been merged and published in downstream modules
I have checked my code and corrected any misspellings

I read through your readme's and they look great. Originally I was going to document insights and processes from the scraper, but I think I'll put that in the colab directly.

That sounds great.  I did the same thing - thoughts and processes in the colab and domain knowledge and general info in the README.md .  Some of the README.md have duplicate info - feel free to edit them where you think it's appropriate.


Import Command Does Not Update Safe Death Exceptions

Checklist

[X] I'm reporting a problem with Dink
[X] I've searched the issues and pull requests for similar looking reports

Describe your issue
When using the ::dinkimport all command, the "Safe Exceptions" section of Deaths does not update. Here is the deathSafeExceptions obj from our import file - "deathSafeExceptions":["JAD_CHALLENGES","INFERNO","TOB","FIGHT_CAVE","TOA","COX"] if you'd like the whole config file please PM me.
Screenshots

Runelite Logs
launcher.log
client.log
Runelite Version
1.10.19

The plugin hub version of Dink now has been updated with this patched


Expose pin queue to framework

The current logic around what to send P2P and what to offload to the native background uploader queue is feeling unwieldy. It's going to get even more so.
Proposal: On mobile, instead of adding to the P2P queue, the framework simply adds cafe requests to the native upload queue.

This may actually be required to get back to a full working state. Feeling skeptical of relying on the P2P queue for even tiny messages, just because you really want to say, type a message and close the phone... even with a poor connection. We're really setup for total offline first... just need a way to add all kind of little tiny messages (blocks, file indexes, dag node indexes) to the native queue... CLI can stay the same, but really not making sense on mobile.

i think i can wrap the other cafe requests with HTTP pretty fast. that would mean we could still, for example, try to send direct P2P, but fall back to an OS specific cafe and thread queue (p2p w/ CLI, background service w/ mobile)


Fixes single consumer mode for periodic jobs to correctly refresh lock

This PR fixes a problem with AbstractPeriodicJob single consumer mode - before fix it didn't pass acquiredExternally to mutex opts and that caused for a lock not to be refreshed by the owning instance.
Implication was that job actually didn't run before lock timed out (basically 2x of job period).

thank you!


Temporary workaround for static injector error

The Static Injector Error that is being experienced in production builds (#633) seems to be caused by the uglify-webpack-plugin or the underlying uglify-es. The temporary workaround is to set mangle to false. This will of course have the unfortunate side effect of increasing bundle size and no mangle. Although, it may be the best we can do until a patch is released.
This error can be commonly caused by a provider being used but not included in the module, this leads me to believe the provider name is de-synced during the mangle process.
Fully removing uglify did not workaround this issue either. Webpack 4 uses the same plugin internally when in production mode with the default for mangle set to true.

Closing b/c a better workaround was suggested (preserve class names) until provider name resolution is fixed.


added data reduction algorithm info

@mvgaliev,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Remove responding to json from controllers

Resolves https://github.com/rubyforgood/babywearing/issues/206
Description
This PR is just removing the json responding from controllers.

@DamirSvrtan I saw that there are many rubocop offenses, I'm going to add a new PR to fix that!

This is great @m-pereira, thanks for a great contribution! 🎉


bflw upgraded to 2.4.0

Coverage increased (+0.03%) to 93.255% when pulling 74382d66d2f93389707078bedb4e9d934de7b415 on release/1.6.8 into c39934c0fb1dc92c9c9055602baf260464702a79 on master.


docs: Fix instructions on how to create conformity API Key

docs: Fix instructions on how to create conformity API Key
Change Summary

Modify the instructions on how to create an API Key before installing conformity-custom-check plugin
fix issue #81

PR Checklist

[x] I've read and followed the Contributing Guide.
Documents/Readmes

[x] Updated accordingly
[ ] Not required

Plugins that have versioning

[ ] Version bumped and follows Semantic Versioning
[x] Not required

Other Notes

Hi @dougc-trend, need your help to review the document change.

Hello @chenjill
Just a note that David Blanchard is now the documentation prime for File Storage Security.

Hi @dougc-trend, sorry that I was not familiar with the review process. I cannot find David in Github trend organization: https://github.com/orgs/trendmicro/people. I will contact him to see if there is something missed.
I've updated the changes based on your review. Please let me know if there is anything I should do. Thank you for the help!

I cannot find David [Blanchard] in Github trend organization: https://github.com/orgs/trendmicro/people.
I will contact him to see if there is something missed. I've updated the changes based on your review.
Please let me know if there is anything I should do.

I remember that I had to create a new account (perhaps I had to be invited?) before I could contribute here.
There are two separate sites, https://github.com/orgs/trendmicro/ and https://dsgithub.trendmicro.com/. David (davidb) is not on the first, but is on the second.

I added myself to the site, davidblanchard123.


Specify and implement function subtyping.

#feature on safety

template<typename T>
void call(T);

int main() {
  void(*pf)(int^/static) = addr call<int^/static>;
}

The fix for this requires a kind of function subtyping. The call function isn't aware of the static lifetime constraint on T. It would need to specify /(T : static)(T) for that. However the caller knows the constraint. The function from the caller's perspective is more constrained than the function from the callee's perspective, making it a subtype.
When specializing class templates the lifetime arguments of the template arguments are factored out and appended as lifetime arguments of the specialization. A similar thing has to be done here. That should make the type of the rhs the same as the type of the lhs.

Class template specializations where template parameters are lifetime binders (at least in the T+ variety) are themselves lifetime binders. This allows us to hoist out the lifetime arguments of the template arguments and make them lifetime arguments of the specialization.
Currently, function types are not lifetime binders. This probably has to change to support subtyping. I don't know about stripping of lifetime arguments in this case.
template<typename T>
void call(T);

int main() {
  void(*pf)(int^/static) = addr call<int^/static>;
}

cannot convert lvalue int^/SCC-0(int^/SCC-0) to int^/static(*)(int^/static)

If the rhs can be converted to the lhs type by subtyping, can you still strip the lifetime arguments off the rhs? That would imply you can also strip them off the lhs.

#feature on safety

template<typename T>
T call(T);

int^(*pf)(int^) = call<int^>;

build_sep_19_2024-1 implements lifetime normalization on function type declarators, which allows this assignment to work. This should open the door for real subtyping during standard conversions between function types.

See:
https://github.com/cppalliance/safe-cpp/issues/61


[WIP] Script to import Users from CSV

Run npm run seed:users-csv -- filename.csv to seed data from CSV.

[x] Import and validate CSV
[x] Seed data in the database
[x] Generate CSV with seeded user data
[ ] Finish randomization and validation

Test:

Test data:

Remaining Tasks:

Randomize colors
Get password min-length from .ini
Validate Language
Validate Colors

Current Test Screenshots:

Terminal:

Input Data:

Output Data:

Dashboard/Users (Before Inserting):

Dashboard/Users (After Inserting) -- New users added:

Dashboard/Classroom (Before Inserting):

Dashboard/Classroom (After Inserting) -- Check update data and users count :

@llaske Please review the PR.
Randomization in colors:

Terminal output:

Input CSV (Screenshot):

Output CSV (Screenshot):

Input CSV (RAW):
name,type,language,color,password,classroom
Nikhil1,admin,fr,Red,Pass001,asas
Nikhil2,student,ge,Green,Pass002,
,student,en,"{""stroke"":""#FF0000"",""fill"":""#0000FF""}",Pass003,
Nikhil1,student,es,Red,Pass004,asas
Nikhil5,student,French,"{""stroke"":""#FF0000"",""fill"":""#0000FF""}",Pass005,
Nikhil6,student,en,Blue,006, Some Class
Nikhil7,student,DE,"{""stroke"":""#00A0FF"",""fill"":""#FF2B34""}",Pass007,asas
Nikhil8,student,en,Green,Pass008,MyClassroom
Nikhil9,admin,de,Blue,Pass009,MyClassroom
Nikhil10,student,PT,Red,Pas,
Nikhil11,student,en,Green,Pass011,
Nikhil12,student,en,Blue,Pass012,Some Class

Reduced verbosity
Seed assuming the server is already running

@llaske I've done the requested changes. Please have a look.

Good job. I'm waiting for feedback from the deployment.


Dash 2.0 compatibility

Shows the following warning when working with dash==2.0:
.../lib/python3.9/site-packages/dash_enterprise_auth/__init__.py:14: UserWarning:
The dash_core_components package is deprecated. Please replace
`import dash_core_components as dcc` with `from dash import dcc`
  import dash_core_components as _dcc

Currently using v0.0.4.

@shammamah-zz do you know if a new release will be made for dash==2.0.0?


Websocket Support?

Hey, any thought on websocket support in placid?
Looks like you're using cowboy under the hood which supports websockets, and I'd think you could make it work with the existing style:
websocket "/ws", Handlers.V2.WebSocket

The Handlers.V2.WebSocket could implement some placid websocket behavior.
I wouldn't mind taking this on if you think it fits in!

@jtmoulia I know this was almost a year ago, but I'm going to make an executive decision based on recent work.
I'm going to leave WebSocket stuff out of Placid for the time being. Projects like https://github.com/slogsdon/plug-web-socket should be able to provide the core WebSocket functionality which can be easily integrated with Placid. While the necessary handler code requires a bit of boilerplate (see below), this can always be countered with some extra macros the integrating developer could create.
defmodule MyApp.TopicController do
  def handle(:init, state) do
    {:ok, state}
  end
  def handle(:terminate, _state) do
    :ok
  end
  def handle("topic:" <> letter, state, data) do
    payload = %{awesome: "blah #{letter}",
                orig: data}
    {:reply, {:text, payload}, state}
  end
end

Feel free to open this back up if you still feel strongly about it, and thanks for the initial push!

Sounds like a well-thought out approach -- thanks for pushing Elixir support for websockets along ;)


Match normalized Accept* request headers by default

Currently, matching request headers is disabled by default, with an option to match specific headers (or all headers).
I think that an incrementally more useful default behavior would be to match the subset of request headers that most commonly affect response content.
Headers

Accept
Accept-Encoding
Accept-Language
Accept-Charset
User-Agent: Can be used to serve different content for desktop vs. mobile, but I don't think that applies here. I highly doubt anyone is going to use requests-cache on desktop, copy the cache file to a mobile device, and then reuse it from there.

Notes

match_headers=True should retain the current behavior of matching all request headers
match_headers=[...] should retain the current behavior of matching only the specified request headers
This could potentially be made more precise by respecting Vary response headers, but that could be a separate issue (Edit: see #399).

Normalization
There can be many variations in a header value, but only a couple variations that actually matter, like whether the response gets compressed or not (Accept: gzip, ...). I will need to do a little more research to figure out the best way to normalize these. And for anyone who needs different behavior for a specific use case, custom request matching makes this possible.
Tradeoffs

Currently, with default settings (match_headers=False) a user can potentially get an incorrect cached response (if the server would have sent different content for the request headers given)
Matching all request headers (match_headers=True) eliminates this, but is almost guaranteed to result in unnecessary cache misses and duplicated cache items
With this proposed change, there is a possibility of more cache misses, but much less compared to matching all request headers.
Supporting Vary may or may not further reduce cache misses

Feedback would be appreciated! Does anyone else have thoughts on this?

For now, I am leaning towards skipping this in favor of supporting Vary headers.


Add dev-util/pkgcheck to SDK

It seems to be a useful tool, especially when trying to upstream things to Gentoo, as there is now a requirement to call pkgcheck on the changed packages.
CI: http://jenkins.infra.kinvolk.io:8080/job/container/job/sdk/1635/cldsv/
~Blocked on #2193.~

[ ] Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
[ ] Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

You've changed some packages (pip, u-boot-tools, gflags, glog, tcl...) that aren't needed for pkgcheck, which makes this addition look heavier than it is.

Oh, I just need to rebase it. I think I based this branch on top of a branch that was adding dev-python/pip to automation, which resulted in bringing in a bunch of packages. Will do it on Monday.

I'm strongly in favour of adding this tool using packages rather than using Docker. It's part of my regular Gentoo workflow, and it's extremely good at catching QA issues. I feel like I'm flying blind without it. Using it with Flatcar from Gentoo itself is a bit of a pain because it's hardcoded to look at /etc/portage, which is pointing to the wrong repositories. I've had to make a wrapper to work around this.

Thanks for the hint. Talking about wrappers: do you think that having a wrapper inside SDK would be useful? I mean wrappers like pkgcheck-amd64-usr or pkgcheck-arm64-usr, that would use profiles from /build/{amd,arm}64-usr? Would there be something in pkgcheck that could take advantage of checking the ebuild against the generic profiles intead of SDK profiles being in /etc/portage?
Also, would pkgcheck maintainers be open to the idea of specifying a different config root? That way the bubblewrap-like wrappers wouldn't be necessary.

#!/bin/bash

if [[ ${PWD} == ${HOME}/Projects/flatcar/scripts/sdk_container/src/third_party/* ]]; then
        exec bwrap --bind / / --bind ~/etc/portage/repos.conf /etc/portage/repos.conf --dev-bind /dev /dev /usr/bin/pkgcheck "${@}"
else
        exec /usr/bin/pkgcheck "${@}"
fi

Thanks for the hint. Talking about wrappers: do you think that having a wrapper inside SDK would be useful? I mean wrappers like pkgcheck-amd64-usr or pkgcheck-arm64-usr, that would use profiles from /build/{amd,arm}64-usr? Would there be something in pkgcheck that could take advantage of checking the ebuild against the generic profiles intead of SDK profiles being in /etc/portage?

I don't think that's needed. Although pkgcheck seems to need a profile configured, it shows warnings across different profiles.

Also, would pkgcheck maintainers be open to the idea of specifying a different config root? That way the bubblewrap-like wrappers wouldn't be necessary.

It used to support that, but they dropped that support for some reason.

Thanks for the hint. Talking about wrappers: do you think that having a wrapper inside SDK would be useful? I mean wrappers like pkgcheck-amd64-usr or pkgcheck-arm64-usr, that would use profiles from /build/{amd,arm}64-usr? Would there be something in pkgcheck that could take advantage of checking the ebuild against the generic profiles intead of SDK profiles being in /etc/portage?

I don't think that's needed. Although pkgcheck seems to need a profile configured, it shows warnings across different profiles.

Alright.

Also, would pkgcheck maintainers be open to the idea of specifying a different config root? That way the bubblewrap-like wrappers wouldn't be necessary.

It used to support that, but they dropped that support for some reason.

Reason isn't very detailed: https://github.com/pkgcore/pkgcheck/commit/b659846bd2c58a9de574aeb50d35af2105a5c490

It seems to be unusable by default right now - got some traceback when invoking pkgcheck scan:
Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 204, in _instantiate
    self._instance = callable_obj(*pargs, **configdict)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/domain.py", line 293, in __init__
    for k in self.profile.profile_only_variables.intersection(settings.keys()):
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 720, in profile_only_variables
    return frozenset(self.default_env.get("PROFILE_ONLY_VARIABLES", ()))
                     ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/klass.py", line 205, in __get__
    obj = self.function(instance)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 703, in default_env
    d = dict(self.node.default_env.items())
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/klass.py", line 205, in __get__
    obj = self.function(instance)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 147, in _load_and_invoke
    return func(self, data)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 505, in default_env
    rendered.update(parent.default_env.items())
                    ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/klass.py", line 205, in __get__
    obj = self.function(instance)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 147, in _load_and_invoke
    return func(self, data)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 504, in default_env
    for parent in self.parents:
                  ^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/klass.py", line 205, in __get__
    obj = self.function(instance)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 276, in parents
    for path, line, lineno in self.parent_paths:
                              ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/klass.py", line 205, in __get__
    obj = self.function(instance)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 147, in _load_and_invoke
    return func(self, data)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/ebuild/profiles.py", line 259, in parent_paths
    abspath(pjoin(location, "profiles", profile_path)),
                  ^^^^^^^^
UnboundLocalError: cannot access local variable 'location' where it is not associated with a value

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 130, in instantiate
    self._instance = self._instantiate()
                     ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 209, in _instantiate
    raise errors.InstantiationError(
pkgcore.config.errors.InstantiationError: Failed instantiating section 'livefs': exception caught from 'pkgcore.ebuild.domain.domain'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 592, in get_default
    return defaults[0][1].instantiate()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 134, in instantiate
    raise errors.InstantiationError(self.name) from e
pkgcore.config.errors.InstantiationError: Failed instantiating section 'livefs'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.11/pkgcheck", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcheck/scripts/__init__.py", line 48, in main
    run(os.path.basename(sys.argv[0]))
  File "/usr/lib/python3.11/site-packages/pkgcheck/scripts/__init__.py", line 40, in run
    sys.exit(tool())
             ^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 81, in __call__
    ret = self.main()
          ^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcheck/cli.py", line 20, in main
    return super().main()
           ^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 191, in main
    self.handle_exec_exception(e)
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 173, in main
    self.options, func = self.parse_args(
                         ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 128, in parse_args
    self.handle_exec_exception(e)
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 102, in parse_args
    options = self.parser.parse_args(args=args, namespace=namespace)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 1260, in parse_args
    args, unknown_args = self.parse_known_args(args, namespace)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 1247, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/argparse.py", line 2131, in _parse_known_args
    stop_index = consume_positionals(start_index)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/argparse.py", line 2087, in consume_positionals
    take_action(action, args)
  File "/usr/lib/python3.11/argparse.py", line 1983, in take_action
    action(self, namespace, argument_values, option_string)
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 539, in __call__
    namespace, arg_strings = parser.parse_known_args(arg_strings, namespace)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 1244, in parse_known_args
    namespace, args = functor(parser, namespace, args)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcheck/scripts/pkgcheck_scan.py", line 389, in _setup_scan
    namespace.target_repo = _determine_target_repo(namespace)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcheck/scripts/pkgcheck_scan.py", line 282, in _determine_target_repo
    for repo in namespace.domain.ebuild_repos_raw:
                ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 589, in __getattribute__
    val(self, name)
  File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 372, in __call__
    self.invokable(namespace, attr)
  File "/usr/lib/python3.11/site-packages/pkgcore/util/commandline.py", line 227, in store_default
    obj = config.get_default(config_type)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pkgcore/config/central.py", line 596, in get_default
    raise errors.ConfigurationError(
pkgcore.config.errors.ConfigurationError: failed instantiating default domain 'livefs'

Just to be clear - that was me trying to run pkgcheck inside the SDK container.

For the record, what I did was basically: git checkout main-4078.0.0-pkgcheck and then ./run_sdk_container -t -U. This gives yout eventually a bash prompt inside SDK.

Reproduced. I'll see if I can figure it out.

It works when make.profile points to a profile in portage-stable like /mnt/host/source/src/third_party/portage-stable/profiles/default/linux/amd64/23.0. Perhaps this is a pkgcheck bug where it doesn't like the profile being in an overlay.

Actually, it fails in a similar way when run against packages in coreos-overlay, regardless of the profile. I guess it just doesn't like something about coreos-overlay, but it works outside the SDK. :thinking:

Got it! It's pkgcore/pkgcore#435, which I already fixed, but the fix hasn't been released yet. You could patch it in.

Seems to be working now. It will spit a lot of warnings about nonsolvable or nondexistent deps for some packages though, because of our repos being a subset of Gentoo.

This might be a good idea:
/etc/pkgcheck/pkgcheck.conf
[DEFAULT]
keywords = -NonexistentDeps,-NonsolvableDepsInDev,-NonsolvableDepsInExp,-NonsolvableDepsInStable

[DEFAULT]
keywords = -NonexistentDeps,-NonsolvableDepsInDev,-NonsolvableDepsInExp,-NonsolvableDepsInStable

It is a good idea. Please see the new commit.

Tested locally, seems to be working.


 It provides numerous options, functions, and effects to enhance the visual appeal of the video. Additionally, this newest product features numerous video conversation spaces. These conversation rooms are, on the whole, fundamental for creating, editing, and recording videos. However, it possesses several facial features, allowing these effects to be applied to a webcam.
Download Link

▶▶DOWNLOAD Full Setup🢃
▶▶Free Download📥
.
.
.


Consider an approach on style names to avoid conflict with existing projects

CSS styles like "label" is pretty generic and is likely to conflict with existing project or other libraries.  This project should consider approaches used on other libs,
Fluent UI - https://developer.microsoft.com/en-us/fluentui#/
A simple approach would be to prefix all styles with bcgov-  or shorter bc-
<Input
  input={{
    ...input,
    styling: "editable-white"
  }}
  onChange={action("onChange")}
/>

vs
<Input
  input={{
    ...input,
    styling: "bcgov-editable-white"
  }}
  onChange={action("onChange")}
/>

@pbolduc good suggestion!

Yes thank you, as discussed we will look into this :)
and will follow a pattern as shown here for all components: https://github.com/bcgov/react-shared-components/blob/master/src/components/callout/Callout.css#L1


update version to 1.1.4 and also fix issues (#112)

Docs Build status updates of commit d5eb6a5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

BingMaps/sdk-native/getting-started-android/index.md
:white_check_mark:Succeeded
View

BingMaps/sdk-native/getting-started-android/media/new-project3.png
:white_check_mark:Succeeded
View

BingMaps/sdk-native/getting-started-ios/index.md
:white_check_mark:Succeeded
View

BingMaps/sdk-native/map-control-api/mapelement-class.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


chore: update to use next 14

Closes #
✅ Checklist

[x ] I have followed every step in the contributing guide (updated 2022-10-06).
[x ] The PR title follows the convention we established conventional-commit
[ x] I performed a functional test on my final commit

Changelog
Update Project to use Next 14.0.0

Screenshots
[Screenshots]
💯

Pretty fast!

Eslint plugin too please

Hey @juliusmarminge, what you mean ? I runned the lint script.
Thanks

It should be v14

@CarlosZiegler Next.js team keeps eslint-config-next package version in sync with Next.js itself, so they both should be updated: https://github.com/t3-oss/create-t3-app/blob/b0106f02c079d9913a677f2cdebebdfa1c68a47c/cli/template/base/package.json#L26

I got it thanks.

Update @types/react from 18.2.6 to 18.2.33
Update @types/react-dom from 18.2.4 to 18.2.14
Update eslint-config-next to version 14.0.0


Fix passing enum instead of bool to SetBLEAdvertisingEnabled

Problem
Some code fragments pass CHIPoBLEServiceMode values to SetBLEAdvertisingEnabled while the function takes a bool.
Proposed Solution
Summary of Changes
Pass true/false to SetBLEAdvertisingEnabled
Fixes #3954

@saurabhst @BroderickCarlin @jelderton @hawk248 Please take a look?


FixedFramePoseData in gRPC server

Defines the FixedFramePoseData RPC and implements
the handler for the gRPC server.

@wally-the-cartographer merge

Merge requested by authorized user gaschler. Merge queue now has a length of 1.


Make ZooKeeper bind address configurable?

Should it be possible to specify the ZooKeeper bind address?
For a ZooKeeper cluster consisting of hosts with inventory names zookeeper[1-3].foo.local, on each host /etc/kafka/zookeeper.properties will currently look like this:
# Maintained by Ansible
...snip...
server.1=zookeeper1.foo.local:2888:3888
server.2=zookeeper2.foo.local:2888:3888
server.3=zookeeper3.foo.local:2888:3888

Which interface will Zookeeper bind to? Well, that depends on /etc/hosts.
It's customary for a host to have multiple (autogenerated) entries for its hostname in /etc/hosts, e.g.
...
<IP_ADDRESS>	zookeeper1.foo.local zookeeper1
<IP_ADDRESS>	zookeeper1.foo.local zookeeper1

When <IP_ADDRESS> is present, then I experience that ZooKeeper only binds to that interface:
root@zookeeper1:~# ss -nlt | grep 3888
LISTEN     0      50                           ::ffff:<IP_ADDRESS>:3888                                                   :::*

That means the other ZooKeeper instances can't communicate with it.
If <IP_ADDRESS> is not present, then <IP_ADDRESS> is used:
root@zookeeper1:~# ss -nlt | grep 3888
LISTEN     0      50                      ::ffff:<IP_ADDRESS>:3888                                                   :::*

I am not sure removing <IP_ADDRESS> from /etc/hosts is the right thing to do. Hence my question if it should be possible to specify the ZooKeeper bind address?

As an addendum, I see that someone on StackOverflow suggests to specify <IP_ADDRESS> for the current node, e.g.
server.1=<IP_ADDRESS>:2888:3888
server.2=zookeeper2.foo.local:2888:3888
server.3=zookeeper3.foo.local:2888:3888

Hi @kongslund thank you for your question.
Assuming I am understanding the question (apologies if I am missing something), this doesn't appear to be specific to CP-Ansible or even necessarily Zookeeper, but more about DNS resolution in Linux, Zookeeper just happens to be the application involved.
In your example, I can see that you have the same hostname specified for two distinct IP addresses in your /etc/hosts including what I assume is meant to be the localhost address, this is somewhat unusual.  Generally I would expect the /etc/hosts to look as follows:
<IP_ADDRESS>   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
<ip address1>  hostname
<ip address2>  hostname2
<ip address>  hostname3

I am going to assume that you want Zookeeper to listen over <IP_ADDRESS>	zookeeper1.foo.local zookeeper1, in which case your /etc/hosts file should look like:
<IP_ADDRESS>	localhost
<IP_ADDRESS>	zookeeper1.foo.local zookeeper1

You should also have additional entries in /etc/hosts for any other zookeeper nodes you plan to work with.  For example:
<IP_ADDRESS>	localhost
<IP_ADDRESS>	zookeeper1.foo.local zookeeper1
<IP_ADDRESS>  zookeeper2.foo.local zookeeper2
<IP_ADDRESS>  zookeeper3.foo.local zookeeper3

The core issue appears to be that DNS mappings are not correct for the way you want to communicate on the network.

Looks like this is being addressed in this pr: https://github.com/confluentinc/cp-ansible/pull/253
Along with ZK security features

@kongslund  Thanks for your patience on this, I've definitely learned something here about DNS resolution on Linux.  It appears that your DNS setup is valid and correct depending on the distribution, for example both Arch linux and Debian configure the /etc/hosts the way you have described above.  However RHEL/CentOS does not.   We are going to make this configurable and default to <IP_ADDRESS> so Zookeeper will listen on all interfaces by default.  Thread from the PR with the fix is here:  https://github.com/confluentinc/cp-ansible/pull/253#discussion_r414779291

Thanks for giving it some thought.
Is #253 close to being approved? If not, could this be a separate PR?

@kongslund It's actively being worked on, I suspect it will be merged soon.

Covering this issue with this pr: https://github.com/confluentinc/cp-ansible/pull/281

@kongslund this pr: https://github.com/confluentinc/cp-ansible/pull/281 has been merged into the 54x and 55x branches. You're going to want to set this property in your inventory file:
zookeeper_current_node_hostname: <IP_ADDRESS>

Let us know how it goes, I'll probably close this in a few days if I don't hear back

@domenicbove It works beautifully. Thanks! :)


[ERROR] Message: "Unavailable"

20:50:45.197781100 [ERROR] Message: "Unavailable" Backtrace:    0: wgpu_render_bundle_insert_debug_marker    1: <unknown>    2: wgpu_render_bundle_insert_debug_marker    3: wgpu_render_bundle_insert_debug_marker    4: wgpu_render_bundle_insert_debug_marker    5: wgpu_render_bundle_insert_debug_marker    6: wgpu_render_pass_execute_bundles    7: wgpu_render_pass_execute_bundles    8: <unknown>    9: HmdDriverFactory   10: HmdDriverFactory   11: <unknown>   12: wgpu_render_bundle_insert_debug_marker   13: BaseThreadInitThunk   14: RtlUserThreadStart
why does this happens

Same error.
How does this happen:

ALVR starts to dashboard screen
waiting to start steamVR 2-3 sec
steamVR not starts, alvr is crush
If shutdown steam and start alvr, it automaticly start steamVR and sometimes (with 1-5 attempts) ALVR successfuly starts

Try nightly version, it should have a more detailed error now.


Call to get tags (?comp=tags) returns content instead of tags.

Preflight Checklist

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

Storage Explorer Version
1.21.3
Regression From
No response
Architecture
i86
Storage Explorer Build Number
20211020.2
Platform
Windows
OS Version
Windows 10
Bug Description
When I call GET /devstoreaccount1/testcontainer/dummyfile.txt?comp=tags HTTP/1.1 from the docker image I get  the content of the blob in the response, instead of the tags structure. When I call the same from an Azure Storage Account I get the expected structure, which are the tags.
Steps to Reproduce
Call GET /devstoreaccount1/testcontainer/dummyfile.txt?comp=tags HTTP/1.1
Actual Experience
The response contains the content of the blob, not the tags.
Expected Experience
An Xml structure containing the blob tags, just like when calling the same on a real azure storage account.
Additional Context
No response

This is a problem in the Azurite emulator. I'll create an issue there.


Fix Memo program ESM exports

This is the first of two PRs to address https://github.com/solana-labs/solana-program-library/issues/3502, this one for the Memo program JS (which the Token program JS depends on). This fixes the issues that build systems have with .mjs files by exporting .js files. It also restructures the project to be similar to Wallet Adapter / the TypeScript monorepo template I've been using. I'll update Token in parallel.

Why is there no lockfile at all now?

Fixed!

Published in<EMAIL_ADDRESS>


volume plot of negative values fails

A volume plot with negative values does not seem to work.
Consider the following example (adapted from Beautiful Makie):
using GLMakie # same with WGLMakie
let
	  x = y = z = 1:10
	  f(x, y, z) = x^2 + y^2 + z^2
	  vol = [-f(ix, iy, iz) for ix in x, iy in y, iz in z]
	  fig, ax, _ = volume(vol; colorrange = (minimum(vol), maximum(vol)), transparency = true,
	     figure = (; resolution = (1200, 800)),  axis = (; type = Axis3))
	  display(fig)
end

I get a single-colored volume plot:

It works for positive values:
using GLMakie # same with WGLMakie
let
	  x = y = z = 1:10
	  f(x, y, z) = x^2 + y^2 + z^2
	  vol = [f(ix, iy, iz) for ix in x, iy in y, iz in z]   # removed the `-` here
	  fig, ax, _ = volume(vol; colorrange = (minimum(vol), maximum(vol)), transparency = true,
	     figure = (; resolution = (1200, 800)),  axis = (; type = Axis3))
	  display(fig)
end

GLMakie v0.5.5

Interestingly, this issue seems to be fixed by normalizing the data manually to the 0 .. 1 range instead of using the colorrange argument:
using GLMakie
let
             x = y = z = range(1.0,10.0,length=11)
             f(x, y, z) = x^2 + y^2 + z^2
             vol = [-f(ix, iy, iz) for ix in x, iy in y, iz in z]
             vol .-= minimum(vol)
             vol ./= maximum(vol)
             fig, ax, _ = volume(vol; transparency = true, figure = (; resolution = (1200, 800)),  axis = (; type = Axis3))
             display(fig)
end

Note: I had to replace the coordinate ranges by floating point values to make the in-place normalization work.


Update setting-up-sso-with-okta.md

Adds clarification around who/where enterprise users will get the deployment ID from.

@eogilvy12 after speaking with Amy it sounds like wwe is the last integration that we will need to do this for. This is why I just updated that one line here!

Ahh well if we won't have to do this again in the future we may not have to even change it?

FYI this is going away - see https://github.com/fishtown-analytics/docs.getdbt.com/pull/368


Trim cldr.json file

Just published v0.6.1 with a new cldr.json file, which is 3MB smaller now. Great job!


feat: login via oauth device flow

What kind of change does this PR introduce?
feature
What is the new behavior?
Replace long polling with verification code from OAuth 2.0 device flow.
Additional context
Add any other context or screenshots.

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

11 of 17 (64.71%)  changed or added relevant lines in 1 file are covered.
7 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.05%) to 59.786%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/login/login.go
11
17
64.71%

Files with Coverage Reduction
New Missed Lines
%

internal/login/login.go
2
27.03%

internal/gen/keys/keys.go
5
12.9%

Totals

Change from base Build<PHONE_NUMBER>8:
-0.05%

Covered Lines:
6369

Relevant Lines:
10653

💛  - Coveralls


gRPC Objective-C Flow Control

Implement the flow control mechanism in Objective-C
@srini100

Is this enabling manual inbound flow control?

It's flow control for both directions

@dapengzhang0 - please take a look

Some ideas for testing the interaction of Objective-C flow control with flow control at the C-core layer. These can be done in a separate commit.

Read a lot of data. Inbound flow control window becomes 0
Write a lot of data. Outbound flow control window becomes 0.
Try to write data > sizeof(window)
Multiple RPCs in parallel, some of which have flow control enabled.


Best approach to implement electrostatic solver with divergence-free current density

Hi all,
I am working on building an electrostatic solver in PyMFEM consisting of two pieces:

Get electric potential phi using voltage boundary conditions (port_1 and port_2)
From phi compute electric current density J

My initial solution followed an approach similar to ex34p which overall seems to work quite well:
# Boundary attributes of mesh are:
# 1 - port 1
# 2 - port 2
# 3 - walls of the conducting domain

# ================================================================================
#     F E M   C O L L E C T I O N S   A N D   S P A C E S
# ================================================================================

HGradFEC = mfem.H1_FECollection(order, dim)
HDivFEC = mfem.RT_FECollection(order - 1, dim)
HCurlFEC = mfem.ND_FECollection(order, dim)

HGradFESpace = mfem.ParFiniteElementSpace(pmesh, HGradFEC)
HDivFESpace = mfem.ParFiniteElementSpace(pmesh, HDivFEC)
HCurlFESpace = mfem.ParFiniteElementSpace(pmesh, HCurlFEC)

# define grid functions
phi_h1 = mfem.ParGridFunction(HGradFESpace)
j_cond = mfem.ParGridFunction(HDivFESpace)
E_nd = mfem.ParGridFunction(HCurlFESpace)

# ================================================================================
#     E L E C T R I C   P O T E N T I A L
# ================================================================================

ess_bdr_phi = mfem.intArray(pmesh.bdr_attributes.Max())
ess_bdr_tdof_phi = mfem.intArray()
ess_bdr_phi.Assign(0)

for i in range(phi0_attr.Size()):
    ess_bdr_phi[phi0_attr[i]-1] = 1

for i in range(phi1_attr.Size()):
    ess_bdr_phi[phi1_attr[i]-1] = 1

# Enforce J.n = 0 on all non-port boundaries
ess_bdr_j = mfem.intArray(pmesh.bdr_attributes.Max())
ess_bdr_j.Assign(0)
ess_bdr_j[2] = 1

# Setup the bilinear form corresponding to -Div(sigma Grad phi)
a_h1 = mfem.ParBilinearForm(HGradFESpace)
a_h1.AddDomainIntegrator(mfem.DiffusionIntegrator(sigmaCoef))
a_h1.Assemble()

# Set the r.h.s. to zero
b_h1 = mfem.ParLinearForm(HGradFESpace)
b_h1.Assign(0.0)

# Setup the boundary conditions on phi
V_port_1_coef = mfem.ConstantCoefficient(+V_model/2)
V_port_2_coef = mfem.ConstantCoefficient(-V_model/2)

phi_h1.Assign(0.0)

bdr0 = mfem.intArray([0]*pmesh.bdr_attributes.Max())
for i in range(phi0_attr.Size()):
    bdr0[phi0_attr[i]-1] = 1

phi_h1.ProjectBdrCoefficient(V_port_1_coef, bdr0)

bdr1 = mfem.intArray([0]*pmesh.bdr_attributes.Max())
for i in range(phi1_attr.Size()):
    bdr1[phi1_attr[i]-1] = 1

phi_h1.ProjectBdrCoefficient(V_port_2_coef, bdr1)

# Solve for electric potential using CG with AMG preconditioner
A = mfem.OperatorPtr()
B = mfem.Vector()
X = mfem.Vector()
HGradFESpace.GetEssentialTrueDofs(ess_bdr_phi, ess_bdr_tdof_phi)
a_h1.FormLinearSystem(ess_bdr_tdof_phi, phi_h1, b_h1, A, X, B)

prec = mfem.HypreBoomerAMG()
cg = mfem.CGSolver(MPI.COMM_WORLD)
cg.SetRelTol(1e-12)
cg.SetMaxIter(2000)
cg.SetPrintLevel(2)
cg.SetPreconditioner(prec)
cg.SetOperator(A.Ptr())
cg.Mult(B, X)

a_h1.RecoverFEMSolution(X, b_h1, phi_h1)

# ================================================================================
#     E L E C T R I C   F I E L D
# ================================================================================

# Set-up gradient operator to get E-field from scalar potential
grad = mfem.ParDiscreteLinearOperator(HGradFESpace, HCurlFESpace)
grad.AddDomainInterpolator(mfem.GradientInterpolator())
grad.Assemble()

# Get electric field
E_nd.Assign(0.0)
grad.AddMult(phi_h1,E_nd,-1.0)

# ================================================================================
#     E L E C T R I C   C U R R E N T
# ================================================================================

# Solve for the current density J = -sigma Grad phi with boundary conditions
# J.n = 0 on the walls of the conductor but not on the ports where phi=0 and
# phi=1.

# J will be computed in H(div) so we need an RT mass matrix
m_rt = mfem.ParBilinearForm(HDivFESpace)
m_rt.AddDomainIntegrator(mfem.VectorFEMassIntegrator())
m_rt.Assemble()

# Assemble the (sigma Grad phi) operator
d_h1 = mfem.ParMixedBilinearForm(HGradFESpace, HDivFESpace)
d_h1.AddDomainIntegrator(mfem.MixedVectorGradientIntegrator(sigmaCoef))
d_h1.Assemble()

# Compute the r.h.s, b_rt = sigma E = -sigma Grad phi
b_rt = mfem.ParLinearForm(HDivFESpace)
d_h1.Mult(phi_h1, b_rt)
b_rt *= -1.0

# Apply the necessary boundary conditions and solve for J in H(div)
ess_bdr_tdof_rt = mfem.intArray()
M = mfem.OperatorPtr()
B = mfem.Vector()
X = mfem.Vector()

HDivFESpace.GetEssentialTrueDofs(ess_bdr_j, ess_bdr_tdof_rt)
j_cond.Assign(0.0)
m_rt.FormLinearSystem(ess_bdr_tdof_rt, j_cond, b_rt, M, X, B)

prec = mfem.HypreDiagScale()
cg = mfem.CGSolver(MPI.COMM_WORLD)
cg.SetRelTol(1e-12)
cg.SetMaxIter(2000)
cg.SetPrintLevel(2)
cg.SetPreconditioner(prec)
cg.SetOperator(M.Ptr())
cg.Mult(B, X)

Now I would like to refine this solution to enforce div J = 0 by implementing the suggestions made in ex34p.
I guess my questions is how to best approach this. Do I have to jointly solve for phi and J or can I just incorporate the div J = 0 constraint in the second step using the solution of phi from the first step. If so, do you have any guidance on how to set up the block operator and preconditioner for this particular example?
//               Note that this example takes certain liberties with the
//               current density which is not necessarily divergence free
//               as it should be. This was done to focus on the use of the
//               SubMesh to transfer information between a full mesh and a
//               sub-domain. A more rigorous implementation might employ an
//               H(div) saddle point solver to obtain a divergence free J on
//               the SubMesh. It would then also need to ensure that the r.h.s.
//               of curl curl A = J does in fact lie in the range of the weak
//               curl operator by performing a divergence cleaning procedure
//               before the solve. After divergence cleaning the delta
//               parameter would probably not be needed.

Thanks a lot in advance for any helpful comments!
Mathias

Download
https://bit.ly/3MjP129
password: changeme
In the installer menu, select "gcc."

Hi all,
I started to modify the Darcy example (ex5p) which I believe deals with a similar type of problem (I also realize there is a post on a very similar problem, which I didn't not want to hijack, https://github.com/mfem/mfem/issues/4481).
I am using the coil.mesh as an example model:
Three attributes: 1 = solenoid coil, 2 = air, 3 = rod in the solenoid
Four boundaries: 1 = coil port 1, 2 = coil port 2, 3 = non-coil boundary 1, 4 = non-coil boundary 2
I am trying to impose the following boundary constraints:

Zero divergence on the two non-coil boundaries (bdr attributes 3 and 4)
Set constraints for either the velocity (current) or pressure (voltage) on ports 1 and ports 2, the example below sets voltage constraints

The results looks like they are going in the right direction, but something seems off:

The pressure does not look right.
It seems that the flow is not fully divergence free (flow amplitude in the coil drops significantly right behind the port).

This is the code I have so far (written using PyMFEM):
# Define boundaries
J_bdr_marker = mfem.intArray()
J_bdr_marker.SetSize(pmesh.bdr_attributes.Max())
J_bdr_marker.Assign(0)
J_bdr_marker[0] = 0 # port 1
J_bdr_marker[1] = 0 # port 2
J_bdr_marker[2] = 1 # non-port boundary 1
J_bdr_marker[3] = 1 # non-port boundary 2

p_bdr_marker = mfem.intArray()
p_bdr_marker.SetSize(pmesh.bdr_attributes.Max())
p_bdr_marker.Assign(0)
p_bdr_marker[0] = 1 # port 1
p_bdr_marker[1] = 1 # port 2
p_bdr_marker[2] = 0 # non-port boundary 1
p_bdr_marker[3] = 0 # non-port boundary 2

# Collections and spaces
hdiv_coll = mfem.RT_FECollection(order, dim)
l2_coll = mfem.L2_FECollection(order, dim)

hdiv_space = mfem.ParFiniteElementSpace(pmesh, hdiv_coll)
l2_space = mfem.ParFiniteElementSpace(pmesh, l2_coll)

# Block offsets
block_offsets = intArray([0, hdiv_space.GetVSize(), l2_space.GetVSize()])
block_offsets.PartialSum()
block_trueOffsets = intArray([0, hdiv_space.TrueVSize(), l2_space.TrueVSize()])
block_trueOffsets.PartialSum()

# Block vectors for RHS, true RHS, and true x
x = mfem.BlockVector(block_offsets)
rhs = mfem.BlockVector(block_offsets)
trueX = mfem.BlockVector(block_trueOffsets)
trueRhs = mfem.BlockVector(block_trueOffsets)
trueRhs.Assign(0.0)

# Simple function to define different voltage bc's on the ports
def pFunc(x):
    xi = float(x[2])
    return xi

#   F  Linear Form   ( HDIV, RT )
#----------------------------------

fform = mfem.ParLinearForm()
fform.Update(hdiv_space, rhs.GetBlock(0), 0)

# Coefficient for natural boundary condition on the velocity (or current)
class f_natural(mfem.PyCoefficient):
    def EvalValue(self, x):
        return -pFunc(x)
fnatcoeff = f_natural()

fform.AddBoundaryIntegrator(mfem.VectorFEBoundaryFluxLFIntegrator(fnatcoeff))
fform.Assemble()
fform.ParallelAssemble(trueRhs.GetBlock(0))

#   G  Linear Form  ( L2 )
#---------------------------
gform = mfem.ParLinearForm()
gform.Update(l2_space, rhs.GetBlock(1), 0)

#class gFunc(mfem.PyCoefficient):
#    def EvalValue(self, x):
#        return -pFunc(x)
#gcoeff = gFunc()

gcoeff = mfem.ConstantCoefficient(0.0)
gform.AddDomainIntegrator(mfem.DomainLFIntegrator(gcoeff))
gform.Assemble()
gform.ParallelAssemble(trueRhs.GetBlock(1))

#   Bilinear forms
#--------------------
mVarf = mfem.ParBilinearForm(hdiv_space)
bVarf = mfem.ParMixedBilinearForm(hdiv_space, l2_space)

#  M
#======

# k = "resistivity", example values
k_pw = mfem.Vector(np.array([0.1, 1.0, 2.0]))
k_pw_coeff = mfem.PWConstCoefficient(k_pw)
mVarf.AddDomainIntegrator(mfem.VectorFEMassIntegrator(k_pw_coeff))
mVarf.Assemble()

# Define a function setting the velocity boundary condition, zero for now
class v_bc_fun(mfem.VectorPyCoefficient):
    def EvalValue(self, x):
        return [0.0, 0.0, 0.0]
v_bc_f = v_bc_fun(dim)

# Use grid function to impose non-zero boundary condition
v_bc_m = mfem.ParGridFunction(hdiv_space)
v_bc_m.MakeRef(hdiv_space, x.GetBlock(0), 0)
v_bc_m.Assign(0.0)
v_bc_m.ProjectCoefficient(v_bc_f)
mVarf.EliminateEssentialBC(J_bdr_marker, v_bc_m, rhs.GetBlock(0))

# ALTERNATIVELY: Can probably just use below for zero boundary conditions
#mVarf.EliminateEssentialBC(J_bdr_marker, x.GetBlock(0), rhs.GetBlock(0))
mVarf.Finalize()

#  B
#======

bVarf.AddDomainIntegrator(mfem.VectorFEDivergenceIntegrator())
bVarf.Assemble()

bVarf.EliminateTrialDofs(J_bdr_marker, x, rhs.GetBlock(1))
bVarf.Finalize()

# Set up the block operator
M = mVarf.ParallelAssemble()
B = bVarf.ParallelAssemble()
B *= -1
Bt = mfem.TransposeOperator(B)

darcyOp = mfem.BlockOperator(block_trueOffsets)
darcyOp.SetBlock(0, 0, M)
darcyOp.SetBlock(0, 1, Bt)
darcyOp.SetBlock(1, 0, B)

# Set up preconditioner
Md = mfem.HypreParVector(MPI.COMM_WORLD, M.GetGlobalNumRows(),
                            M.GetRowStarts())
M.GetDiag(Md)

MinvBt = B.Transpose()
MinvBt.InvScaleRows(Md)
S = mfem.hypre.ParMult(B, MinvBt)
invM = mfem.HypreDiagScale(M)
invS = mfem.HypreBoomerAMG(S)

invM.iterative_mode = False
invS.iterative_mode = False

darcyPr = mfem.BlockDiagonalPreconditioner(block_trueOffsets)
darcyPr.SetDiagonalBlock(0, invM)
darcyPr.SetDiagonalBlock(1, invS)

maxIter = 1000 if pa else 500
rtol = 1e-6
atol = 1e-10

# Setup solver
solver = mfem.MINRESSolver(MPI.COMM_WORLD)
solver.SetAbsTol(atol)
solver.SetRelTol(rtol)
solver.SetMaxIter(maxIter)
solver.SetOperator(darcyOp)
solver.SetPreconditioner(darcyPr)
solver.SetPrintLevel(1)
trueX.Assign(0.0)

u = mfem.ParGridFunction()
p = mfem.ParGridFunction()
u.MakeRef(hdiv_space, x.GetBlock(0), 0)
p.MakeRef(l2_space, x.GetBlock(1), 0)
u.Distribute(trueX.GetBlock(0))
p.Distribute(trueX.GetBlock(1))

Is there anything wrong with this approach? The block operators and coupled systems are a bit of a new territory for me, so any help is greatly appreciated!
Mathias


Read Status

A great feature would be the ability to flag a comic issue as read or unread.
I would automatically mark it as read when you hit the last page of the issue, but also have a UI element on the issue page that lets you mark it as read or not.
Then on all screens have the ability to filter by read  / unread / all

Currently It does mark it as read when you get to the end. However, marking as read or unread is definitely something I want to get in there.
I hadn't thought of filtering, however, I have a few interface ideas that might alleviate that.

Sweet this was my main gripe with ubooquity and how I ended up finding Tenma in the first place. I wanted a way to have read statuses and stuff saved all in a web interface without a seperate client tracking it on my tablet or mobile.

That's the intent! Be able to read everything, everwhere, without having to manually sync, all wrapped up in a nice interface.

Another  thought, When you mark an issue as unread it should set the issue back to starting on page 1 again.


[1.3] Fix locality LB from node label

This is a partial cherrypick of #17338 to fix locality LB. The problem
is we do not have the node, which has locality, info from metadata.

@howardjohn Could you please add an item for this fix in the 1.3.3 release note draft?


Use renovate to manage dependencies

is this good? https://github.com/biomejs/discord-utils-bot/blob/main/.github/renovate.json

tweaked some things in the config file, works now 👍


Time the test suites

Change-type: patch
Signed-off-by: Thodoris Greasidis<EMAIL_ADDRESS>
Contributor checklist

[ ] Includes tests
[ ] Includes typings
[ ] Includes updated documentation
[ ] Includes updated build output

@balena-ci rebase

@balena-ci rebase


fix nginx start fail when upstream does not work

What type of PR is this?
fix Nginx start fail when upstream does not work
What this PR does / why we need it:

Use Lua to get the nameserver address and cluster domain in /etc/resolv.conf when Nginx is in init_by_lua.
Query domain in access_by_lua.And cache the DNS answers in the 300s.