fix: wireit sass watch memory leak

This will avoid wireit looping through the @material/web symbolic link in watch mode.

OMG wow! great find!

@e111077 wait!

if there's a change you need to be made, you'll need to start another PR since the merge process is largely automated

@e111077  No I just wanted to say this solution works in the case where catalog is removed from workspaces and has its own node_modules directory.
Accepting this change in the current state of this repo will actually have no effect, it's still good for prevention though.
IMO yesterday @augustjk's PR ( https://github.com/material-components/material-web/pull/4501) is a better solution but one needs to be aware it only works if package-lock.json is removed before npm i.


Automatic Record Creation and Update Rules cannot filter on PartyList Datatype

Hello and good day.
We are looking to migrate several of our classic background workflows to the Automatic Record Creation and Update Rules. Most of these classic workflows have conditions related to the party list data type fields on the Mailbox or Accepting Entity (Queue) of the email that is incoming and we need to be able to look on the Cc, Bc types of fields to ensure that we capturing all the information each email.
Kindly let us know whether there is a path to filter on party list data types with Automatic Record Creation and Update Rules, or please advise on alternative solution idea's if any.
Thank you and best regards,
Arslan
[Enter feedback here]

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

ID: d83ad84a-1fd8-1d88-d0a4-de345ea01074
Version Independent ID: 5d833dad-ff28-15d2-0236-d363b5efbd8b
Content: Automatically create or update records in Dynamics 365 Customer Service
Content Source: ce/customer-service/automatically-create-update-records.md
Service: dynamics-365-customerservice
GitHub Login: @neeranelli
Microsoft Alias: nenellim

Thanks for your comment, @Regal92. This issue has been assigned to the doc author for review.

@ShrutiChaurasia : Can you please look into the customer ask ?


refactor non-LibraBFT into non-LibraBFT directories/modules

All *.agda code now lives is src.
All code that is  independent of src/LibraBFT now lives in

src/Dijkstra
src/Haskell
src/Optics
src/Util

The only files that needed to be changed due to src are:

LibraBFT.agda-lib - so it points to src
Scripts/gen-everything.sh - so it knows about src (and so it really does gen EVERYTHING)
Scripts/run-everything.sh - so it knows about src
src/Optics/Example.agda - previously, it was not included in Everything.agda and thus has not been checked.   Now it is included and initially did not compile.   I fixed the bugs.

The src/Haskell code has been further subdivided into Modules.

Thanks @haroldcarr.  LLIGSTM (looks like a good start to me :smile:).  It seems to me that you have not gone far enough, though.  I believe that everything you currently have under LibraBFT.ImplShared.Util.Dijkstra is also completely independent of LBFT and therefore should also be moved out of the LibraBFT name space.
While the paper we're currently working on is not going to talk about proofs using Dijkstra weakest precondition machinery, we are certainly talking about the setup for it.  For example, we're talking about stuff under LibraBFT.ImplShared.Util.Dijkstra.Syntax in the paper.
We could consider whether to include this stuff under a separate directory (e.g., Dijkstra that lives next to Optics and Haskell) or put it under Haskell.  I think I lean towards a separate Dijkstra directory.  That raises the question of the where the additional constructors for branching combinators (e.g., RWS-if) should live, given that the sole motivation for them is for interfacing with proofs.  However, I guess someone could use them with a different proof "back end" other than Dijkstra wp, so maybe it's fine that the additional constructors live under Haskell.
Thoughts?  Thanks.

Another suggestion is to further refine/organize things under the Haskell namespace.  For example, we could have Haskell.Monad and Haskell.Either; the latter would be analogous to (though much simpler than) Haskell.RWS.  Finally, there are various things that are included because Agda's library doesn't include everything provided by Haskell libraries.  It would be nice to organise so that these are together, rather than intermingled with other things that don't fit that description.
Note: We had talked about establishing a structure following that of another repo.  Not sure to what extent you have done that already, how compatible it is with the suggestions above, etc.  But I'd prefer to give up on mimicking the structure of the other repo if it saves time or eliminates some difficulty that it entails.

Agree on moving Dijkstra out from under LibraBFT.
For the 1st pass I'll put it parallel to Optics and Haskell.
As for further structure under Haskell - I had thought that maybe that might be a next step.
That said, there is so little in Haskell.Prelude at the moment that I am not sure that moving it into separate files is that useful right now.   One concern:   In Haskell, the more files one has in a project, the longer it takes to compile.  I've noticed the same thing with Agda.
I think perhaps, as a 1st pass, I can organize the contents of Haskell.Prelude with internal modules that when can move into separate files in the future if there is some benefit.  Or, instead of modules, at least clearly marked (with --------------------) areas of the file.   Thoughts?

Agree on moving Dijkstra out from under LibraBFT. For the 1st pass I'll put it parallel to Optics and Haskell.
As for further structure under Haskell - I had thought that maybe that might be a next step. That said, there is so little in Haskell.Prelude at the moment that I am not sure that moving it into separate files is that useful right now. One concern: In Haskell, the more files one has in a project, the longer it takes to compile. I've noticed the same thing with Agda.
I think perhaps, as a 1st pass, I can organize the contents of Haskell.Prelude with internal modules that when can move into separate files in the future if there is some benefit. Or, instead of modules, at least clearly marked (with --------------------) areas of the file. Thoughts?

Thanks @haroldcarr.  My experience/understanding is that main "compile time" issues we face are with larger files, and we keep saying we should break some of them up.  In any case, what we're discussing here is pretty small, so I think we should favour the organisation that makes most sense, and we'll deal with any performance issues when/if they arise.
I do like the idea of making the Either and RWS "parallel", because it makes it easy to first understand the much simpler Either and then follow the parallel structure in RWS.

Regarding compiletime : I meant that ./Scripts/run-everything xxx takes longer when there are more files.  But, yeah, "loading" smaller files into Agda in Emacs is faster.

@mark-moir Thanks.  Back to you.

Looks good @haroldcarr thanks.  However, I am curious if there is some rationale for RWS* not being under Modules or if this is just an oversight.

Thanks @mark-moir .    I agree that it should become Haskell.Modules.RWS
Should I do it now?

If that's how you feel like spending your Sunday afternoon, sure :smile:.  In case you didn't notice, I just updated my comment (assuming you were spending your Sunday afternoon more sensibly and wouldn't notice!)

I happened to be passing by my computer and saw the notice.
This should not take long.

I happened to be passing by my computer and saw the notice. This should not take long.

Cool.  Forgot to say: nice cleanup putting stuff under src and good catch that run-everything.sh was misspelled (and I prefer your fix over a spelling change :smile:).

Now back to our regularly scheduled Sunday program.  ;-)


Added end-2-end unit tests for the attested TLS feature

Unittests Transport Layer Security end-2-end scenarios for https://github.com/microsoft/openenclave/issues/1325
Test scenarios:
In this test, we have three test hooks for enabling test scenarios.

fail_cert_verify_callback
When set to true, it will force a tls connecting party to fail cert_verify_callback unconditionally.
When set to false, cert_verify_callback will perform normally.

fail_enclave_identity_verifier_callback;
When set to true, it will force a tls connecting party to fail fail_enclave_identity_verifier_callback unconditionally.
When set to false, enclave_identity_verifier_callback will perform normally.

fail_oe_verify_attestation_certificate;
When set to true, it simulates a failure return from calling oe_verify_attestation_certificate
When set to false, fail_oe_verify_attestation_certificate will perform normally.

Here the scenarios covered in these tests via running run_scenarios_tests()

A positive scenario
This is the case we hope always happen when both TLS connecting parties successfully validate each other's certificate and enclave identity.
And everything works correctly all test hooks mentioned above set to false.

Negative scenarios
We run tls connection tests three times, each with a tls connecting party set to true one of the following hook configurations while the other connecting party with all hooks set to false.
fail_cert_verify_callback
fail_enclave_identity_verifier_callback
fail_oe_verify_attestation_certificate
And we ran above three scenarios for both server and client roles. That got us six negative test scenarios.

bors try

bors r+

bors r+

bors r+


delete sctp shutdown status

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Based on the information I got, you refer the PR, https://github.com/sctplab/usrsctp/issues/147 and https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/pull/1236.
The usrsctp pr#147 mentioned usrsctp does not clear the void* pointer(or called address)of sctp session so the upper layer needs to protect this behavior in case the  conn_output uses the void* pointer. However, usrsctp may send the ABORT thing to complete the three way handshake. This pr may causes soft termination fails, and it also may cause accessing the wrong memory.

Hi,
@ycyang1229 @codingspirit
Can 'onSctpOutboundPacket' be triggered by 'usrsctp_close'? I've tried many times, but the 'onSctpOutboundPacket' never be called after 'usrsctp_close'.

Hi,
@ycyang1229 @codingspirit
Can onSctpOutboundPacket be triggered by usrsctp_close? I've tried many times, but the onSctpOutboundPacket never be called after usrsctp_close.


Fix lock store bug

Proposed changes:
fixes #6031
Pass an EndpointConfig to rasa.core.lock_store._load_from_module_string instead of a string.
Potential follow-up
The name of the function implies that its input should be a string. We can't pass only the string, because the whole EndpointConfig is needed to load it. So we should probably adapt the name.
The same holds for the _load_from_module_string functions in some other rasa.core modules, namely nlg.generator, broker, interpreter and tracker_store.
Status (please check what you already did):

[ ] added some tests for the functionality
[ ] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

Never mind, I see its included in https://github.com/RasaHQ/rasa/releases/tag/1.10.4 :)


NodePoppler.h:5:10: fatal error

I have a issue trying install npm module
My Steps

$ brew update
$ brew install qt5 cairo poppler --with-qt5
$ brew linkapps qt5
$ brew link --force qt5

Up to this point no errors install, but when I try install npm module
$ npm install pdf-fill-form

  CXX(target) Release/obj.target/pdf_fill_form/src/pdf-fill-form.o
In file included from ../src/pdf-fill-form.cc:2:
../src/NodePoppler.h:5:10: fatal error: 'QtCore/QBuffer' file not found
#include <QtCore/QBuffer>
         ^
1 error generated.

Extra info:
MacOs: Sierra 10.12
NODE version: v6.3.0

I was able to make it work, spent almost eight hours making it work.
It's not enough that Xcode is installed, I even upgraded from Xcode 7.2 to 8.x, but it's not working. Turns out what solves my problem now with QtCore/QBuffer header is the same solution from my previous problem with pdf-fill-form 2.x, Xcode commandline tools must be installed.
Do this:
$ xcode-select --install
Then before doing npm install pdf-fill-form, export these variables:
export LDFLAGS=-L/usr/local/opt/qt5/lib
export CPPFLAGS=-I/usr/local/opt/qt5/include
export PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig

Just doing export variables and not doing xcode-select --install, and vice versa, won't solve the missing 'QtCore/QBuffer' problem.
brew linkapps qt5 and brew link --force qt5 need not be applied

@MichaelBuen thanks! that worked for me.. I did
$ xcode-select --install
$ export LDFLAGS=-L/usr/local/opt/qt5/lib $ export CPPFLAGS=-I/usr/local/opt/qt5/include $ export PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig
then npm install.. and no errors thanks

@MichaelBuen Thank you for your time sharing that good piece of nformation. Please could you write your observations also to this projects readme -file. Thank you!

Thank you @MichaelBuen !

Same error happened on FreeBSD 11.0-RELEASE

was enough for me:
xcode-select --install

was enough for me:
xcode-select --install

@MichaelBuen Thanks for your time, So I'll close it issue.


Libnd4j: leaky relu backprop is incorrect

The backprop op for leaky relu doesn't use or take the alpha param which is required for the correct formula.
https://github.com/SkymindIO/deeplearning4j/blob/00fd50cee21636113f5a4b5c56fbb39762185bb2/libnd4j/include/ops/declarable/generic/activations/lrelu.cpp#L46-L55
https://github.com/SkymindIO/deeplearning4j/blob/00fd50cee21636113f5a4b5c56fbb39762185bb2/libnd4j/include/ops/declarable/helpers/cpu/legacy_helper.cpp#L84-L90

cc @shyrma ^^^

Fixed recently: https://github.com/SkymindIO/deeplearning4j/blob/master/libnd4j/include/ops/declarable/generic/activations/lrelu.cpp


[JAX] Support Ring Attention (Context Parallelism)

Description
Add ring attention as an additional context parallel strategy to Jax fused attention API.
Type of change

[ ] Documentation change (change only to the documentation, either a fix or a new content)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Infra/Build change
[ ] Code refractor

Changes
Adds a new context parallel strategy and unit tests.
Checklist:

[X] I have read and followed the contributing guidelines
[X] The functionality is complete
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

/te-ci jax L1

/te-ci jax L1

/te-ci jax L1


Test ManageIQ/manageiq-api#1015

Cross Repo Tests for ManageIQ/manageiq-api#1015

@NickLaMuro is there a way to update https://github.com/ManageIQ/manageiq-cross_repo-tests/pull/329 to point to https://github.com/ManageIQ/manageiq-api/pull/1015 I used miq-bot to create that PR

@h-kataria Ah, I didn't see that from the API PR, so woops...
But what you are describing is also why I actually created my own, since that is currently a limitation of the bot invocation that I haven't looked into solving.
Probably should open up an issue on that, or add an extra command to "re-cross-repo" or something.

Would you like me to make some changes to mine so that we can re-run the build with what changes you need made?  To start, I can at least update this one to match the one created by the bot.

@h-kataria Ah, I didn't see that from the API PR, so woops...
But what you are describing is also why I actually created my own, since that is currently a limitation of the bot invocation that I haven't looked into solving.
Probably should open up an issue on that, or add an extra command to "re-cross-repo" or something.
Would you like me to make some changes to mine so that we can re-run the build with what changes you need made? To start, I can at least update this one to match the one created by the bot.

sure, if you can update yours, that way i can close mine


Multiple break lines aren't preserved

When converting a markdown with multiple line breaks it does render only one break line.
Implementation: https://jsfiddle.net/rkLuo3n6/1/

Where you expecting multiple empty paragraphs? Or the html output to have 2 paragraphs separated by multiple empty lines?

closing as no update

But an option to do this would be nice. Could be a
. 🤷♂

@vince1995 Showdown already supports
. You can either add 2 spaces at the end of the line or use the option simpleLIneBreaks.

chatgpt api streams back markdown with multiple \n's...


Simultaneous tts and snd

Significantly improves performance by eliminating any delay from tts.
The tts must be faster than realtime, but this is true for most installations (tested with piper on Respberry Pi4)
Fixes #36

Converted to draft because needs more testing


Code coverage report and badge

https://en.wikipedia.org/wiki/Code_coverage
e.g. https://codecov.io/signup

If we wanted to use codecov.io, we'd change our test GH action as follows:
    - name: Test with pytest including coverage
      run: |
        pip install pytest
        pip install pytest-cov
        pytest -m "not slow" tests/ --cov=./ --cov-report=xml
    - name: Upload coverage to Codecov
      uses: codecov/codecov-action@v1
      with:
        file: ./coverage.xml
        flags: unittests
        env_vars: OS,PYTHON
        name: codecov-umbrella
        fail_ci_if_error: true

Note that this would underreport coverage since slow tests are excluded


[Linux] error: ‘espeak_TextToPhonemesWithTerminator’ was not declared in this scope

Hi,
I want to build from source locally on my machine.
But I got an error below.
Operating System: openSUSE Tumbleweed 20230731
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.108.0
Qt Version: 5.15.10
Kernel Version: 6.4.6-1-default (64-bit)
Graphics Platform: X11
Processors: 12 × AMD Ryzen 5 4600H with Radeon Graphics
Memory: 7.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 1650 Ti/PCIe/SSE2
Manufacturer: LENOVO
Product Name: 82B5
System Version: Lenovo Legion 5 15ARH05

gcc (GCC) 12.2.0
cmake version 3.26.4
espeak-ng 1.51

Command: cmake . && make -j6
Test with latest commit 41cfb05eba5f53960752e66c5b668304da488683
-- The CXX compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.9.5")
-- Checking for module 'espeak-ng<2'
--   Found espeak-ng, version 1.51
-- Configuring done (0.3s)
-- Generating done (0.0s)
-- Build files have been written to: /run/build/piper-phonemize
[ 50%] Building CXX object CMakeFiles/piper_phonemize.dir/src/phonemize.cpp.o
[ 50%] Building CXX object CMakeFiles/piper_phonemize.dir/src/phoneme_ids.cpp.o
[ 50%] Building CXX object CMakeFiles/piper_phonemize.dir/src/tashkeel.cpp.o
/run/build/piper-phonemize/src/phonemize.cpp: In function ‘void piper::phonemize_eSpeak(std::string, eSpeakPhonemeConfig&, std::vector<std::vector<char32_t> >&)’:
/run/build/piper-phonemize/src/phonemize.cpp:42:32: error: ‘espeak_TextToPhonemesWithTerminator’ was not declared in this scope
   42 |     std::string clausePhonemes(espeak_TextToPhonemesWithTerminator(
      |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/piper_phonemize.dir/build.make:76: CMakeFiles/piper_phonemize.dir/src/phonemize.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:85: CMakeFiles/piper_phonemize.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Check this espnet fork https://github.com/rhasspy/espeak-ng

Check this espeak fork https://github.com/rhasspy/espeak-ng

That fix it, thanks.


use salmon_xc in the GCEED part

This PR makes it possible to read salmon_xc in the GCEED part. In addition, It's possible for us to use lsda function. Could you merge?

Thanks!

Thank you for your quick response.


Add namespace for AGP 8

What does this change?
This change adds the namespace property for compatibility with AGP 8.

Closing as I'm figuring out unrelated changes, will reopen when done


Cause an exception "ReadOnly controls collection" - when adding new button

I've taken over someone else's project and they have used Krypton.  I tried to add a button on a toolbar.  I also tried adding a new menu item but both times,  i get this error:
this.kryptonHeaderGroupMain.Controls.Add(this.kryptonHeaderGroupMain.Panel);
and it mucks up the Designer View.
FYI:  I have tried "other" suggestions such as changing it to:
this..Panel.Controls.Add(this.);
.. but I would get "A circular control reference has been made. A control cannot be owned by or  parented to itself." error
What am i missing?  Thanks!

just FYI.  Any changes I make on the UI will give me that error - "ReadOnly controls collection"

Where did you find the original project?

Work

This may help

Also, just to add.. the project was built on version Version=<IP_ADDRESS> - it that makes any difference

Newer versions does have newer features, I can't remember what version 3.x came with. It was so long ago.

In the newer 5.472 port, you do have high DPI support.

Thanks for looking into it, looks like it was the design.dll .. 1) it needed to be added.  2) Save the project and restart it. 3) Now i can edit the UI

It's good to see that it works, though I would recommend upgrading, as newer versions don't require the Design.dll to work. Plus newer versions are actively supported.


proposal: x/time/rate: return wait time from Wait and WaitN methods of Limiter

Proposal Details
Proposal Details
Currently, golang.org/x/time/rate.Limiter provides handy Wait and WaitN methods. But when using them, it is not really possible to know later on if they have waited at all (so if rate limiting was applied) or not. Just observing from outside there might be regular overhead executing the method which added delay. But knowing if rate limiting was applied or not is useful so that one can log that, compute stats, know how often rate limiting is necessary and if maybe rate limits have to be increased.
I am interested in the use case where I use Limiter to limit my own calls towards a 3rd party API endpoint. I want to collect stats for our services how often and how much rate limiting we had to do on our side. If that rate limiting is too high, we can consider buying a higher class service from a 3rd party API provider. We collect stats how long each API call took, but without knowing how long were we waiting on our side for rate limiting, it is not enough to know why some calls took longer than other. We can measure from outside how long did call to Wait and WaitN took, but that then also measures overhead of calling them.
So I propose that Wait and WaitN methods of Limiter return wait time, literally, the value of delay variable the method wait computes. wait is already internal implementation so if we want to keep backwards compatibility of Wait and WaitN methods we can introduce some new methods like WaitAndReport which would call same internal wait, just return the delay value.

Related Issues and Documentation

proposal: x/time/rate: allow setting available tokens in Limiter #68677
proposal: x/time/rate: expose number of available tokens for metrics/testing #18233

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

cc @Sajmani

Changing those methods would be a breaking change for people using the current package.  We aren't going to do that.

This is why I am proposing additional methods at the end of my proposal, like WaitAndReport.

I currently re-implemented Wait myself:
func wait(ctx context.Context, limiter *rate.Limiter, n int) (time.Duration, errors.E) {
	now := time.Now()

	// Check if ctx is already cancelled.
	select {
	case <-ctx.Done():
		return 0, errors.WithStack(ctx.Err())
	default:
	}

	r := limiter.ReserveN(now, n)
	if !r.OK() {
		return 0, errors.Errorf("rate: Wait(n=%d) exceeds limiter's burst", n)
	}

	// Wait if necessary.
	delay := r.DelayFrom(now)
	if delay == 0 {
		return 0, nil
	}

	// Determine wait limit.
	if deadline, ok := ctx.Deadline(); ok && deadline.Before(now.Add(delay)) {
		// We cancel the reservation because we will not be using it.
		r.CancelAt(now)
		return delay, errors.Errorf("rate: Wait(n=%d) would exceed context deadline", n)
	}

	timer := time.NewTimer(delay)
	defer timer.Stop()

	select {
	case <-timer.C:
		// We can proceed.
		return delay, nil
	case <-ctx.Done():
		// Context was canceled before we could proceed. Cancel the
		// reservation, which may permit other events to proceed sooner.
		r.Cancel()
		return time.Since(now), errors.WithStack(ctx.Err())
	}
}

But because reserveN is not public (with its maxFutureReserve argument), one had to first do a reservation and then cancel it if it over context timeout, so not exactly the same.

Perhaps Limiter can have a callback which is invoked when the limit is hit.

@icholy Not sure how callback would solve this issue? Wait function already returns when the limit is hit.

The usecase you described was stats collection. The callback could be used to capture/publish those.

I am interested in exposing the internal state (delay value) of the Limiter, not sure if callback is the way, but sure.


fix(polyfill): Call cast.platform.canDisplayType() to determine supported for MediaCapabilties.decodingInfo() polyfill in Cast devices.

See https://github.com/shaka-project/shaka-player/issues/4726 for more context.
This allows Cast devices to properly filter stream variants with a resolution surpassing that of the device's capabilities.
We place the fix in the MediaCapabilities polyfill since it's intended to be the right way to check for anything related to platform support.

HDR support checks will require eotf=smpte2048, as indicated in https://github.com/shaka-project/shaka-player/issues/2813#issue-684874730. Specifically, a {hev|hvc}1.2 profile is only an indication of an HDR transfer function, but may be a non-HDR 10-bit color stream. Take for instance this publicly available hls.js HEVC stream (https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_adv_example_hevc/master.m3u8) which contains stream variants with the hvc1.2.4.L123.B0 codecs, but with a resolution < 4K:
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1996813,BANDWIDTH=2194827,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=960x540,FRAME-RATE=60.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v14/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=6135662,BANDWIDTH=6694727,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=1920x1080,FRAME-RATE=60.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v18/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=4831572,BANDWIDTH=5458398,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=1920x1080,FRAME-RATE=60.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v17/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=3471811,BANDWIDTH=4110269,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=1920x1080,FRAME-RATE=60.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v16/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=2666432,BANDWIDTH=2795200,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=1280x720,FRAME-RATE=60.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v15/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=1169111,BANDWIDTH=1256754,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=768x432,FRAME-RATE=30.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v13/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=859838,BANDWIDTH=932269,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=640x360,FRAME-RATE=30.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v12/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=552728,BANDWIDTH=579426,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=480x270,FRAME-RATE=30.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v11/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=345440,BANDWIDTH=371212,CODECS="hvc1.2.4.L123.B0,ec-3",RESOLUTION=416x234,FRAME-RATE=30.000,CLOSED-CAPTIONS="cc",AUDIO="a3",SUBTITLES="sub1"
v10/prog_index.m3u8

In Cast, the platform can distinguish between the two by explicitly providing the transfer function; it uses smpte2048 ("PQ") because this is the "basis of HDR video formats..." (https://en.wikipedia.org/wiki/Perceptual_quantizer). Below you can see the platform correctly distinguishing between an HDR-capable and non-HDR capable HDMI sink device (using a 4K-capable Chromecast):
canDisplayType() results on a 1920x1080 ASUS monitor:
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=1920; height=1080; eotf="smpte2084"') => false
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=3840; height=2160; eotf="smpte2084"') => false
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=1920; height=1080') => true
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=3840; height=2160') => false
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"') => true
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0; eotf="smpte2084"') => false
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=1920; height=1080; eotf="smpte2084"') => false
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=3840; height=2160; eotf="smpte2084"') => false
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=1920; height=1080') => true
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=3840; height=2160') => false
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"') => true
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0; eotf="smpte2084"') => false

canDisplayType() results on a 4K HDR TCL 2017 Roku TV (43"):
New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=1920; height=1080; eotf="smpte2084"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=3840; height=2160; eotf="smpte2084"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=1920; height=1080') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"; width=3840; height=2160') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hev1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hev1.2.4.L153.B0; eotf="smpte2084"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=1920; height=1080; eotf="smpte2084"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=3840; height=2160; eotf="smpte2084"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=1920; height=1080') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"; width=3840; height=2160') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0"') => true
VM10:1 New style VP9 codec string must start with vp09. codecId:hvc1.2.4.L153.B0
[JULIAN]: canDisplayType(video/mp4; codecs="hvc1.2.4.L153.B0; eotf="smpte2084"') => true

@JulianDomingo There seems to be a lot of bugs in the tests when running on Chromecast, can you review it? Thanks!

Sure thing, it looks like canDisplayType() is returning false for basic video stream configs, surprisingly. So there's no stream variants to test on - looking into it.

@avelad @joeyparrish Based on my findings with the Chromecast lab failures, the tests were failing due to cast.__platform__ && cast.__platform__.canDisplayType being unavailable (but cast is available). My solution is to fall back to the original MediaSource.isTypeSupported(contentType) if the full cast API set isn't available.

In this commit which removes the cast.__platform__ && cast.__platform__.canDisplayType check (https://github.com/shaka-project/shaka-player/pull/4727/commits/720fe110167f8fece93481f329c555275428dcfa), you can see Chromecast lab tests fail.
The subsequent commit re-instates the above check (https://github.com/shaka-project/shaka-player/pull/4727/commits/8465a9931374036bc3c9d700c2a3b43dbec09d62) and the Chromecast lab tests succeed.

This obviously contradicts with my manual tests on my Chromecast devices. Maybe this has something to do with the canDisplayType binding not being "applied" yet when the tests are ran? I'm not as knowledgeable on how the unit tests / integration tests are "hooked" to the platform when lab tests are ran.


Remove deprecated features

We should remove deprecated features before moving to the next major version.
https://github.com/aragon/aragon-ui/search?q=deprecated

Can I work on this issue?


RFC: remove Friendhub/Brassau

These features have seen no usage since they were merged, they are not tested, and are unlikely to be useful going forward.

Pull Request Test Coverage Report for Build 801

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.2%) to 61.267%

Totals

Change from base Build 799:
1.2%

Covered Lines:
4562

Relevant Lines:
6964

💛  - Coveralls


Add SurrealDB Presence Demo project

A demo project on how to create a realtime presence web application using SurrealDB Live Queries.
Description: A fairly simple app where the current user can join a room of users, seeing each user presence based on user inactivity (green, orange, red or gray badges).
Tech stack:

React + TypeScript (Vite template)
TanStack Query
jotai (jotai-forms)
SurrealDB
surrealdb-migrations

Features:

Authentication

Sign up
Sign in
Sign out
Display authenticated user details such as realtime presence

List of rooms with number of active users, with the ability to join a room
Selected room (last joined room)

Display the list of users in rooms
Show presence of each user
Ability to leave the room

Nice one @Odonno 👏


Use a custom type to represent dropped input

Swift 1.2b1 prefers an overload taking … -> () to one taking … -> T, and thus type inferencing will produce the incorrect type when using closure literals. While this is clearly a bug, there’s no telling whether it’ll be fixed in Swift 1.2, or at all.
This affects reductions with --> in Madness, because where Swift 1.1 would have inferred this:
let alternation = %"x" | (%"y" --> { _ in 1 })

to have type Parser<String, Either<String, Int>>.Function, in Swift 1.2 it has type Parser<String, String?>.Function (due to the overload of | which drops ignored parses on its right-hand side).
If we replace () with some Ignored type in the relevant API, then we’re insulated from any changes to the semantics of () in future releases of Swift.
Any extant reductions by closures taking advantage of the existing overloads to cause input to be dropped will be broken; however, this is bad behaviour anyway, and too easy to trigger by accident due to Swift’s preference for statements over expressions.

I also like that the type says what it does and does what it says. Ignore is much clearer than () or Void for this purpose.


Unable to get sample annotations

I had some problems with this anndata (the first one in this link: https://developmental.cellatlas.io/fetal-immune#DatasetModalscRNA-seq1). It couldn't get metadata about samples when creating the presdrf file from cell_metadata.tsv (step3, Initialise MAGE-TAB). For example, these columns organ, Sort_id, age, method, donor and sex were not in presdrf. It would be helpful if these annotations can be extracted from cell_metadata.tsv.

Thanks @YalanBi , if you provide the precise command sequence you used and any errors you received I'll do my best to find out what's going on.

Thanks for the detail @YalanBi .
This problem is caused by issues in the data, rather than a bug in the code. To explain:
The only data that make it into the .sdrf.txt file are things which have the same value across all cells with each value of the sample-separating variable (in this case file). So see the following for this dataset:
>>> adata.obs[adata.obs['file'] == 'FCAImmP7504909']['age'].unique()
array([ 4., nan])
>>> adata.obs[adata.obs['file'] == 'FCAImmP7504909']['organ'].unique()
['YS', NaN]
adata.obs[adata.obs['file'] == 'FCAImmP7504909']['donor'].unique()
['F37', 'nan']

As you can see, for the file above, there is more than one value for each of 'age', 'organ' and 'donor', which causes those fields to be placed in the .cells.txt rather than the .sdrf.txt.
Now, the fact that the 'other' values above all look like missing values suggests to me some artefact of processing may be responsible. We could bake-in some allowance for missing values, but I don't really see a good reason for them to be missing if they truly come from the same input material. Could you chase up with the authors?


Playbook fails on cdh : Set_fact task

Error is -
fatal: [cld1.cisco.local]: FAILED! => {
"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute u'cld5.cisco.local'\n\nThe error appears to be in '/root/cloudera-playbook/roles/cdh/tasks/main.yml': line 40, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n# https://www.cloudera.com/documentation/enterprise/latest/topics/install_cluster_template.html\n- set_fact:\n  ^ here\n"
}
where cld1.cisco.local is SCM host.
Host file used for this deployment -
[scm_server]
cld1.cisco.local
[db_server]
cld1.cisco.local
[krb5_server]
cld1.cisco.local
[utility_servers:children]
scm_server
db_server
krb5_server
[gateway_servers]
cld1.cisco.local	host_template=HostTemplate-Gateway
#[edge_servers]
#        host_template=HostTemplate-Edge    role_ref_names=HDFS-HTTPFS-1
[master_servers]
cld5.cisco.local	host_template=HostTemplate-Master1
cld6.cisco.local	host_template=HostTemplate-Master2
cld7.cisco.local	host_template=HostTemplate-Master3
[worker_servers]
cld2.cisco.local
cld3.cisco.local
cld4.cisco.local
[worker_servers:vars]
host_template=HostTemplate-Workers
[cdh_servers:children]
utility_servers
gateway_servers
master_servers
worker_servers
#[all:vars]
#ansible_user=ec2-user
Let us know if this issue has been seen earlier and there are any fixes and/or work-around available.
Thanks,

Rajesh.

Which ansible version do you use?

ansible 2.9.4

For what its worth, tried and replicated also on 2.9.13 and 2.9.21


Update cats-effect, cats-effect-kernel, ... to 3.4.8

Updates

org.typelevel:cats-effect
org.typelevel:cats-effect-kernel
org.typelevel:cats-effect-std

from 3.4.3 to 3.4.8.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, version-scheme:early-semver, commit-count:1

Superseded by #38.


Error while waiting for protractor to sync with the page: Firefox and IE

Hi,
I am using protractor version4, Firefox-47, IE-11 to run my test cases.
Facing intermittent failures on FF and IE both while execution.
Given is the stack trace for the same:
Failures:

Test Case 1 - Loging into application

  Message:
    Failed: Error while waiting for Protractor to sync with the page: "[ng:test] http://errors.angularjs.org/1.4.7/ng/test"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "[ng:test] http://errors.angularjs.org/1.4.7/ng/test"
        at stack (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\protractor\node_modul
es\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1482:17)
        at buildExpectationResult (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\prot
ractor\node_modules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1452:14)
        at Spec.Env.expectationResultFactory (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_m
odules\protractor\node_modules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:583:18)
        at Spec.addExpectationResult (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\p
rotractor\node_modules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:324:34)
        at Env.fail (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\protractor\node_mo
dules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:894:25)
        at Function.next.fail (C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\protract
or\node_modules\jasmine\node_modules\jasmine-core\lib\jasmine-core\jasmine.js:1806:19)
        at C:\Projects\Repository\node_modules\gulp-angular-protractor\node_modules\gulp-protractor\node_modules\protractor\node_modules\jasm
inewd2\index.js:101:16

Example of my Config file:
exports.config = {
    framework: 'jasmine',
    rootElement: 'body',
    seleniumAddress: ' 'http://localhost:4444/wd/hub’,
    allScriptsTimeout: 500000,

    //Options to be passed to Jasmine-node.
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 500000,
        isVerbose: true
    },
    multiCapabilities: [
        {
            browserName: "internet explorer",
            shardTestFiles: true,
            username: "user1",
            password: "Pwd”,
            maxInstances: 1
        },
        {
            browserName: "firefox",
            shardTestFiles: true,
            username: "user2",
            password: "Pwd”,
            maxInstances: 1
        }
    ]
}

It looks like your rootElement (body in your case) isn't inside your app.  Can I see your HTML file?

Thank you for the reply. Provided is the sample of HTML file i am using. Actually, am not much aware of angularJS, so what could be the solution if it's a non angular page.

Thank you for the reply. Provided is the sample of HTML file i am using. Actually, am not much aware of angularJS, so what could be the solution if it's a non angular page.

So, is it mandatory to add rootElement inside config ?

If your app isn't bootstrapped to the body tag then yes.  I think you need to take a look at our reference config: https://github.com/angular/protractor/blob/master/lib/config.ts

Thank you!

Yes, i have checked the reference you attached. We are using seleniumAddress to connect to server and it's suitable for our requirement.
And i have also checked: https://github.com/angular/protractor/pull/3928/commits/fc61050b78338365ac58025c64a1ee8cec721d7d auto-detect the root element better.
I guess, using 'body' or ' ' as rootElement does not make any change to my result and leads to fail random tests as it was before with same reason: "Failed: Error while waiting for Protractor to sync with the page" most of the time.

This seems like a support question.  This issue tracker is really for bug reports.  Try asking on stack overflow, and if you're sure this is a bug after that, come back and file a new issue.  And be sure to include your HTML file if you do ;)


Updated to Godot 4.3 Stable

I deferred the updating and compatibility for .net8 I will do that in a separate pull request if desired.


Test all app functionality when text size is enhanced

If someone has their font set to very large it's hard (maybe impossible) to select your avalanche center?

This is related to #565

@stevekuznetsov as in.. the same as. Will delete!


[FLINK-15300][Runtime] Fix sanity check to not fail if shuffle memory fraction is out of min/max range

What is the purpose of the change
If we have a configuration which sets shuffle memory min/max value then the sanity check (TaskExecutorResourceUtils#sanityCheckShuffleMemory) can fail if the fraction is out of min/max range because it checks that the fraction exactly matches the derived min/max value.
Brief change log

Fix TaskExecutorResourceUtils#sanityCheckShuffleMemory
add unit tests

Verifying this change
unit tests
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

cc @xintongsong

Thanks for the reviews @tillrohrmann @xintongsong
Indeed, this problem is a bit deeper. The described failure scenario in JIRA issue is just of the cases. After more offline discussions, the following idea appeared.
In general if the user configured other types of memory (total Flink, task heap and managed memory) then the derived shuffle memory is the abs remaining value of total Flink memory basically as if it has been explicitly configured. This is where we need this consistency check against the fraction, potentially additionally configured. If the derived shuffle memory is within min/max range but it does not match the fraction, we can log this fact but there seems to be no reason to fail. We usually use fraction if there is no other way to derive the memory size.
I changed the PR to reflect this idea and added more tests for this sanity check.

Thanks for the review @xintongsong
I addressed the comments

@tillrohrmann
I would consider RangeFraction as a data structure that serves TaskExecutorResourceUtils only rather than for general purpose. After all, it is a private internal class of TaskExecutorResourceUtils and it already assumes the range is represented in MemorySize.
fraction == 1 might be a valid for a general purpose range-fraction. But for TaskExecutorResourceUtils, none of the task executor resource related fractions (managed, shuffle, jvm-overhead) should ever be 1. Managed memory or shuffle memory should never takes all of the total Flink memory, and JVM overhead should never takes all of the total process memory.
Thus, IMO, it makes sense for RangeFraction to not accept fraction == 1.

Ok I understand this point and I'm not adamant on changing it. It seems however a bit inconsistent, because there are memory budgets (jvm overhead and shuffle) where 0 also does not make sense from your stand point. Maybe we could add a comment stating this contract. This might help for future maintenance.

Thanks for more review @tillrohrmann and resolving RangeFraction discussion @xintongsong
Agree, we can revisit RangeFraction later.
I cleaned up the tests more.

Thanks again for the reviews @xintongsong @tillrohrmann
Test failure is a known instability, passed in my CI
merged into master by d22fdc39a86496ebfc74914a72916d8a0ea7ab89
merged into 1.10 by a342e418a2d8df52645dd75588f8b9f74a07ad63


fix(curriculum): Typo in Building a Password Generator - Step 62

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Thank you for your PR, but the issue was marked as first-timers only, you are already a contributor for this repo.

@ilenia-magoni Hey🙋🏽, so i take it this is still open for someone who is a first-timer then?


Refactor: Deprecate inactiveColor from cupertino checkbox

Refactor: Deprecate inactiveColor from cupertino checkbox
Fixes #151252
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
[x] All existing and new tests are passing.

@victorsanni does this need data driven fixes ?

@MitchellGoodwin I think this change should wait on the outcome of the WidgetStateProperty discussion?
Come to think of it, I wonder why inactiveColor can't just refer to the fill color of the unselected checkbox. It does seem like a simpler API.

@victorsanni does this need data driven fixes ?

I don't think so, since inactiveColor isn't currently used anyways.

I think this change should wait on the outcome of the WidgetStateProperty discussion?

I think it'd be fine to move forward on this. As a property, toggle colors react to interactive state out of the box more than most widgets, so I think pushing more strongly towards WidgetState is fine.

I don't think so, since inactiveColor isn't currently used anyways.

It probably should have been used as a default for the inactive color, if fillColor was empty. At least until it was deprecated. At a minimum we should update the docs to call out that it both does nothing and that the fillColor docs are incorrect in using it.

Come to think of it, I wonder why inactiveColor can't just refer to the fill color of the unselected checkbox. It does seem like a simpler API.

If you mean use inactiveColor as a Color, then it's because even when unselected it changes the fill color depending on if it's disabled or not as well. It's also reasonable to assume that somebody would want a different fill color for an unselected checkbox when hovered or focused as well. If you mean use inactiveColor as a WidgetStateProperty then it'd be weird that it'd technically also be checking for active states, as the type of WidgetStateProperty looks at all the WidgetState enum values. I don't think we have cases where we always ignore some of the states. It seems confusing from a documentation standpoint. Also there could be code duplication between fillColor and inactiveColor with what is the already verbose WidgetState.

does this need data driven fixes ?

@rkishan516 As mentioned inactiveColor doesn't currently do anything, and also it is difficult to convert a static value to a WidgetStateProperty resolver. I don't think there's a way to do it without guessing at what behavior they will want. Best not to make magical changes. This PR should just get a test exemption, in my opinion.

At a minimum we should update the docs to call out that it both does nothing and that the fillColor docs are incorrect in using it.

Should this PR also remove every reference to inactiveColor in the documentation?

@victorsanni I have updated the doc. Also removed instances of inactiveColor from doc. Can you please review ?

@victorsanni does this need data driven fixes ?

Following up from triage, this will need data driven fixes.
The suggestion was to apply fixes conditionally, so if the user already uses fillColor, do nothing. Otherwise, set fillColor to resolve to the user's inactiveColor in the unselected state.

Following up from triage, this will need data driven fixes.
The suggestion was to apply fixes conditionally, so if the user already uses fillColor, do nothing. Otherwise, set fillColor to resolve to the user's inactiveColor in the unselected state.

It should set fillColor to a copy of but use inactiveColor for the unselected state.

@victorsanni and @MitchellGoodwin I have made suggested changes.
I have added data driven fixes where inactiveColor get removed no matter fillColor is given by user or not.
if fillColor is given then I leave that as it is. And if it's not given then we add fillColor with WidgetStatePropertyAll(inactiveColor).
Certainly, we need to change the last part, Can you suggest what should we do here ?

@victorsanni & @MitchellGoodwin I have pushed the mentioned changes.

/b/s/w/ir/x/w/flutter/packages/flutter/lib/src/cupertino/checkbox.dart:198: trailing U+0020 space character

/b/s/w/ir/x/w/flutter/packages/flutter/lib/src/cupertino/checkbox.dart:198: trailing U+0020 space character

Have pushed the fix.

@victorsanni Pushed Suggested changes as per last conversation.


command workbench.extensions.action.showInstalledExtensions not found

Does this issue occur when all extensions are disabled?
Yes.

VS Code Version: 1.72.2
OS Version: macOS 12 Monterey (12.6 – 21G115)

Steps to Reproduce:

Have the following keybinding in ~/Library/Application Support/Code/User/keybindings.json:{
  "key": "cmd+k cmd+x",
  "command": "workbench.extensions.action.showInstalledExtensions"
},

Use CMD+K CMD+X to run the command
See the error popup appear:

I've had this command in my keybindings.json for more than 2 years, and now it's suddenly broken. Why? What should I use instead? This is poor DX.

@driftingly Thanks a lot, works for me. How'd you find it?

Found this on Twitter: https://twitter.com/aka_tpayne/status/1295741633909194755?s=61&t=EZ6Np6ojtuKjYm64Du89BA

LOL, thanks a lot!


Proposal for Adding CITATION File to the Project

I suggest implementing a CITATION file (refer to GitHub Docs).
Having a CITATION file would benefit both the creators and researchers who wish to cite the work conducted in this project accurately. It would serve as a standardized reference for citing this project in academic publications, research papers, or any other work where proper citation is crucial.

Hi @AndreAugusto11 - Thanks for the great suggestion. I'll add a citation file shortly.


docs: get the graph from the website

The graph is now hosted on the website on the structure page. https://ublue.it/structure/

Edit: It's now https://ublue.it/architecture/, as requested by Jorge.


Template variables do not work in a template rule's labels array

Error:
while parsing a flow sequence
 in 'string', line 1, column 10:
      label: [${label}]
             ^
expected ',' or ']', but got FlowMappingStart
 in 'string', line 1, column 12:
      label: [${label}]

In master.yml:
rules:
  - import: template.yml
    vars:
      label: "ALabel"

In template.yml:
- name: "some-rule"
  label: [${label}]
  type: token
  pattern: |
   [entity="PERSON"]+

Note that the following does work (as the brackets are removed):
- name: "some-rule"
  label: ${label}
  type: token
  pattern: |
   [entity="PERSON"]+

@myedibleenso Do you recall what's needed to fix this? I believe you said it's a fairly easy one a while back

@Matthalp, thanks for opening this issue.  I have to look at the code to be sure, but I think it's just a matter of changing when in the process of parsing the grammar that the substitutions are performed.

The code for substituting the variables in lists is already in place:
https://github.com/clulab/processors/blob/d2d798d07be23be063fb0c4ccfd5bba6a6d4e926/main/src/main/scala/org/clulab/odin/impl/RuleReader.scala#L94
You can check that this works (note the quotes used inside the list):
vars:
  label: ALabel

rules:
  - name: some-rule
    label: ["${label}"]
    type: token
    pattern: |
      [entity=PERSON]+

I'm not sure if we can fix this behavior without modifying snakeyaml. It seems that snakeyaml doesn't like the open curly bracket inside the list, so maybe one solution is to add support for variables without the curly brackets: $label instead of ${label}.

Thanks @marcovzla! I'm okay with using quotes -- just needed to know it was there to use

No problem! Let us know if you run into any other issues.


Using the admin in a modue with XXXX.yaml file

Django-material is not standalone app. It's a library
You need to have oyour own settings and yaml files in your project .


chore: Update outdated packages

You can use npm-check to check outdated pkg
npm i npm-check -g

npm-check -us


clap procedural macroses as in python's click module

Can clap do something like this with procedural macroses?
import click

def greeter(**kwargs):
    output = '{0}, {1}!'.format(kwargs['greeting'],
                                kwargs['name'])
    if kwargs['caps']:
        output = output.upper()
    print(output)

@click.group()
def greet():
    pass

@greet.command()
@click.argument('name')
# add an option with 'Hello' as the default
@click.option('--greeting', default='Hello')
# add a flag (is_flag=True)
@click.option('--caps', is_flag=True)
# the application logic has been refactored into a single function
def hello(**kwargs):
    greeter(**kwargs)

@greet.command()
@click.argument('name')
@click.option('--greeting', default='Goodbye')
@click.option('--caps', is_flag=True)
def goodbye(**kwargs):
    greeter(**kwargs)

if __name__ == '__main__':
    greet()

I don't if it is even possible in rust and sensible but it looks nice. If clap has all the things done for having such procedural macroses I'd like to implement them.

Not exactly, but using clap_app! or structopt (which uses clap internally) and Arg::validator will get you close. I'm open to ideas though!


Error with Sparse files on ZFS FCB::CreatePhysicalFile(), FSCTL_SET_SPARSE

Hi,
I am using the mssql-docker container with a ZFS host volume (using the O_DIRECT hack mentioned in #13 ), which worked pretty well until today, where I want to do an upgrade.
This upgrade triggers a CHECKDB, which tries to create a sparse-file (same as the mdf file but with .mdf_MSSQL_DBCC8, which fails with:
Fehler: 17053, Schweregrad: 16, Status: 1.
FCB::CreatePhysicalFile(), FSCTL_SET_SPARSE: Operating system error 87 (Falscher Parameter.) encountered.

I guess this is another problem with ZFS not supporting stuff which is required, but since it could be something else or other people may be interested in a workaround, I am posting it here.
So despite the fact that ZFS is not officially supported, has anyone an Idea on how I can make it work anyway? Maybe masking the Sparse-Flag like I am masking the O_DIRECT flag.
I am just wondering, because I thought ZFS did support sparse files...

Sorry, my bad. I did not enable acl on zfs. So the fix was:
zfs set acltype=posixacl pool/path/to/fs
#this is recommended by http://www.nerdblog.com/2013/10/zfs-xattr-tuning-on-linux.html
zfs set xattr=sa pool/path/to/fs