fix: RedisHandler::deleteMatching() not deleting matching keys if cache prefix is used

Description
Supersedes and closes #8878
Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

@samsonasik It seems the AssertRegExpRector is giving a wrong transformation of a preg_match assertion if the $matches variable is used in a subsequent assert.
See https://github.com/codeigniter4/CodeIgniter4/actions/runs/9449485549/job/26025852003?pr=8952

@paulbalandan could you reproduce at https://getrector.com/demo and report at https://github.com/rectorphp/rector/issues ? Thank you.


XF2.2 support

Bunch of template modifications need to be updated to work with XF2.1/XF2.2. Please remove any template modifications which are marked for XF2.0

@ticktackk please ensure it works with XF2.1 and XF2.2


Change generator default verifier to Inspec

Do not merge until 0.15.x ships.
Changes the cookbook generator so that the default verifier is now Inspec.

Updates generated .kitchen.yml
Generates Inspec-style test folder structure in cookbook skeleton
default_spec.rb now refers to Inspec documentation, no longer includes spec_helper.rb
No longer generates serverspec/spec_helper.rb
Resolves #834

:+1: I ran both the app and cookbook generator commands for good measure and it works! Nice!

even though "technically " this isn't a work in progress. I marked it as such to prevent myself or others from inadvertantly merging (which I almost did :).

Awesome!! Kudos 😄 👍

Awesome to see this becoming the new default. Thanks @charlesjohnson for bringing this into the generator!


Sun OS platforms (legacy solaris but illumos based ones too).

large pages set via a hint.

Thank you!


Fix broken temp-v0.10.0 branch merge

Closes https://github.com/api3dao/airnode/issues/1521
What happened
See https://github.com/api3dao/airnode/issues/1521#issuecomment-1301963469. Apart from the force push (which removed heartbeat signature, heartbeat data and shift from gateway API keys) two other features got lost (avoiding constants with side effects, heartbeat ID removal).
The fix
I listed all PRs which were merged into temp-v0.10.0 branch and sorted them. This can be seen here. The sorting is approximate, since GH doesn't have a sort function based on merged date.
I checked what was actually merged when we merged the temp-v0.10.0 branch back to master. This can be seen here. As mentioned everything merged after https://github.com/api3dao/airnode/pull/1434 was added to master.
To include all of the merged PRs before https://github.com/api3dao/airnode/pull/1434, I determined the order in which they were merged and cherry-picked them one by one. There were minimal merge conflicts since Airnode hasn't changed much.
Sorry, for the trouble I caused.

I would suggest testing all the "newly" added features again (after the merge), just to be on the safe side.

Yeah, we should do that. The heartbeat will be tested by @andreogle, but we should re-test the gateways.


Allow configuration of supported_groups TLS extension

My colleague and I are really missing a way to configure which elliptic curves are sent in the supported_groups extension of a ClientHello. I can see there's a comment in the relevant section of the code that mentions "needing configuration options".
https://github.com/bcgit/bc-java/blob/3aff181c4db4c2d4ccd7a88fc1f6d1d9d996fa6c/tls/src/main/java/org/bouncycastle/tls/AbstractTlsClient.java#L187
Is this functionality likely to be added soon (version 1.59)?
I had originally wanted to submit a pull request for this instead of creating an issue, but I really couldn't figure out where to start (like which class it would make sense to add the configuration methods to); I'm sorry about that.
Thank you for all your hard work so far!

No problem, it's an easy one - I've pushed a fix, but it may take a while to mirror here.
AbstractTlsClient.getClientExtensions now delegates to getSupportedGroups method, which you can override to choose different groups.
BTW, all "configuration" in the org.bouncycastle.tls API is handled in this programmatic fashion, so no need to go searching for separate config code.

Thank you!
Apologies, but I'm not entirely sure how I would make use of the fix. How would I go about getting the BouncyCastleJsseProvider to use a new subclass of AbstractTlsClient with getSupportedGroups overridden?
Realistically, I'd subclass ProvTlsClient (to retain as much of the built-in TLS behaviour as possible, but still inherit from AbstractTlsClient to override getSupportedGroups). But in every class that a TlsClient is provided to TlsClientProtocol#connect, a new ProvTlsClient is directly instantiated.
https://github.com/bcgit/bc-java/blob/ca4ab830719de87b4f9131cc76aa19e8269aa280/tls/src/main/java/org/bouncycastle/jsse/provider/ProvSSLEngine.java#L96
https://github.com/bcgit/bc-java/blob/ca4ab830719de87b4f9131cc76aa19e8269aa280/tls/src/main/java/org/bouncycastle/jsse/provider/ProvSSLSocketDirect.java#L283
https://github.com/bcgit/bc-java/blob/ca4ab830719de87b4f9131cc76aa19e8269aa280/tls/src/main/java/org/bouncycastle/jsse/provider/ProvSSLSocketWrap.java#L447
I can't see a way to give it different implementation of TlsClient, since all the classes in question are package-protected.
I don't have the best grasp of how Providers and Provider.Services work, so please tell me if I'm missing something obvious.

Ah, I didn't understand that you were using the BCJSSE provider, sorry. My early responses assumed you were using the org.bouncycastle.tls package directly.
SunJSSE uses the system property "jdk.tls.namedGroups" to allow this configuration. We can support that too in BCJSSE, I'll try to add it shortly.

Much appreciated! Thank you. :-)

Would it be possible for this property to be read dynamically, as opposed to just once in a static initializer, as with the SunJSSE? We need a way to configure what's sent in this extension semi-programmatically. Sorry for the repeated unusual requests! We have a hard requirement that there's no getting around.

Well, it would usually be better to have the behaviour consistent with SunJSSE. If you are happy for your code to not be portable b/w SunJSSE and BCJSSE, then perhaps a better way to achieve what you need is a BC extension?
There are a few classes already in org.bouncycastle.jsse package, intended as BC-only extensions to the JSSE API. e.g. We used this to expose TLS channel bindings functionality. We expect to also need it for backporting of functionality from later JDKs (i.e. when the JSSE API has expanded from version to version). The basic idea is that you test e.g. an SSLSocket to see if it also implements a BC extension interface, then you can access whatever extended functionality might be there.
I gather you might like a method that can programmatically configure the named groups separately for each connection?

We're fine with our code not being portable--the BCJSSE is already our only option when it comes to using Brainpool TLS certificates.
What you've suggested with BC extensions seems like it could work for us! A method that can programmatically configure named groups per connection is exactly what we need.
If I've understood you correctly, you're suggesting adding a new method (like getChannelBinding in BCSSLConnection) to a BCJSSE-specific interface?


error regarding some tokenizer issue

When I run the sample script I keep getting this error message among others...not sure how dire it is or whether it even impacts performance...
You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers

I got the same issue wit this error
ValueError                                Traceback (most recent call last)
Cell In[9], line 9
      6 device = "cuda:0" if torch.cuda.is_available() else "cpu"
      8 model = ParlerTTSForConditionalGeneration.from_pretrained("parler-tts/parler_tts_mini_v0.1").to(device)
----> 9 tokenizer = AutoTokenizer.from_pretrained("parler-tts/parler_tts_mini_v0.1")
     11 prompt = "Hey, how are you doing today?"
     12 description = "A female speaker with a slightly low-pitched voice delivers her words quite expressively, in a very confined sounding environment with clear audio quality. She speaks very fast."

File ~/.virtualenvs/voice-cloning-tts/lib/python3.10/site-packages/transformers/models/auto/tokenization_auto.py:837, in AutoTokenizer.from_pretrained(cls, pretrained_model_name_or_path, *inputs, **kwargs)
    833     if tokenizer_class is None:
    834         raise ValueError(
    835             f"Tokenizer class {tokenizer_class_candidate} does not exist or is not currently imported."
    836         )
--> 837     return tokenizer_class.from_pretrained(pretrained_model_name_or_path, *inputs, **kwargs)
    839 # Otherwise we have to be creative.
    840 # if model is an encoder decoder, the encoder tokenizer class is used by default
    841 if isinstance(config, EncoderDecoderConfig):

File ~/.virtualenvs/voice-cloning-tts/lib/python3.10/site-packages/transformers/tokenization_utils_base.py:2086, in PreTrainedTokenizerBase.from_pretrained(cls, pretrained_model_name_or_path, cache_dir, force_download, local_files_only, token, revision, trust_remote_code, *init_inputs, **kwargs)
   2083     else:
   2084         logger.info(f"loading file {file_path} from cache at {resolved_vocab_files[file_id]}")
-> 2086 return cls._from_pretrained(
   2087     resolved_vocab_files,
   2088     pretrained_model_name_or_path,
   2089     init_configuration,
   2090     *init_inputs,
   2091     token=token,
   2092     cache_dir=cache_dir,
   2093     local_files_only=local_files_only,
   2094     _commit_hash=commit_hash,
   2095     _is_local=is_local,
   2096     trust_remote_code=trust_remote_code,
   2097     **kwargs,
   2098 )

File ~/.virtualenvs/voice-cloning-tts/lib/python3.10/site-packages/transformers/tokenization_utils_base.py:2325, in PreTrainedTokenizerBase._from_pretrained(cls, resolved_vocab_files, pretrained_model_name_or_path, init_configuration, token, cache_dir, local_files_only, _commit_hash, _is_local, trust_remote_code, *init_inputs, **kwargs)
   2323 # Instantiate the tokenizer.
   2324 try:
-> 2325     tokenizer = cls(*init_inputs, **init_kwargs)
   2326 except OSError:
   2327     raise OSError(
   2328         "Unable to load vocabulary from file. "
   2329         "Please check that the provided vocabulary is accessible and not corrupted."
   2330     )

File ~/.virtualenvs/voice-cloning-tts/lib/python3.10/site-packages/transformers/models/t5/tokenization_t5_fast.py:146, in T5TokenizerFast.__init__(self, vocab_file, tokenizer_file, eos_token, unk_token, pad_token, extra_ids, additional_special_tokens, add_prefix_space, **kwargs)
    141     logger.warning_once(
    142         "You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers"
    143     )
    144     kwargs["from_slow"] = True
--> 146 super().__init__(
    147     vocab_file,
    148     tokenizer_file=tokenizer_file,
    149     eos_token=eos_token,
    150     unk_token=unk_token,
    151     pad_token=pad_token,
    152     extra_ids=extra_ids,
    153     additional_special_tokens=additional_special_tokens,
    154     **kwargs,
    155 )
    157 self.vocab_file = vocab_file
    158 self._extra_ids = extra_ids

File ~/.virtualenvs/voice-cloning-tts/lib/python3.10/site-packages/transformers/tokenization_utils_fast.py:102, in PreTrainedTokenizerFast.__init__(self, *args, **kwargs)
     99 added_tokens_decoder = kwargs.pop("added_tokens_decoder", {})
    101 if from_slow and slow_tokenizer is None and self.slow_tokenizer_class is None:
--> 102     raise ValueError(
    103         "Cannot instantiate this tokenizer from a slow version. If it's based on sentencepiece, make sure you "
    104         "have sentencepiece installed."
    105     )
    107 if tokenizer_object is not None:
    108     fast_tokenizer = copy.deepcopy(tokenizer_object)

ValueError: Cannot instantiate this tokenizer from a slow version. If it's based on sentencepiece, make sure you have sentencepiece installed.
Selection deleted

hey there, thanks for opening this issue, could send your transformers, tokenizers and sentencepiece versions ? thanks!


Will it be slow if heavy request, too many IO process. Why not split the thread for logging?

Yes, very high frequency logging would likely be an issue, the library is written to be simple as opposed to cater to this. In situations where this is a concern you would probably be better off seeking out a different library which specifically caters to this scenario.


Allow use formatScheme method in UrlGenerator without parameter.

in the Laravel Framework, we already have the case, when we need to call the urlGenerator::formatScheme without parameter (RouteUrlGenerator).

In case if this changes ok for master, then is it will be ok for 5.6?


pkg.dev not work

 target registry's token endpoint could not be discovered: www-authenticate header not returned from https://europe-north1-npm.pkg.dev/v2/, cannot locate token endpoint

Damn, i can't find info about www-authenticate header
Get https://europe-north1-npm.pkg.dev/v2/ returned 404
But for europe-north1-docker.pkg.dev/v2/ header has been existing...
I understand it only works for docker images?

Damn, rly only for docker :(


Update faostat list of datasets

Looks good to me :shipit:
Are you also cleaning up S3 and deleting the referenced files that you're removing from the index?

Thanks! Yes, I am trying to keep S3 and the index clean.


build error for libLibSampleApp.dylib

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
build error
make SampleApp
build part:
$HOME/Documents/avs/source/avs-device-sdk \  -DGSTREAMER_MEDIA_PLAYER=ON \  -DCURL_LIBRARY=/usr/local/opt/curl/lib/libcurl.dylib \  -DCURL_INCLUDE_DIR=/usr/local/opt/curl/include \  -DPORTAUDIO=ON \  -DPKCS11=OFF \  -DPORTAUDIO_LIB_PATH=$HOME/Documents/avs/third-party/portaudio/lib/.libs/libportaudio.a \  -DPORTAUDIO_INCLUDE_DIR=$HOME/Documents/avs/third-party/portaudio/include \  -DCMAKE_BUILD_TYPE=DEBUG

[ 95%] Linking CXX shared library libLibSampleApp.dylib
ld: warning: ignoring file /Users/xiaoheng/Documents/avs/third-party/portaudio/lib/.libs/libportaudio.a, building for macOS-x86_64 but attempting to link with file built for macOS-x86_64
Undefined symbols for architecture x86_64:
"_Pa_CloseStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_GetDefaultInputDevice", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_Initialize", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_OpenDefaultStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_OpenStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_StartStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::startStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_StopStream", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::stopStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
"_Pa_Terminate", referenced from:
alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [SampleApp/src/libLibSampleApp.dylib] Error 1
make[2]: *** [SampleApp/src/CMakeFiles/LibSampleApp.dir/all] Error 2
make[1]: *** [SampleApp/src/CMakeFiles/SampleApp.dir/rule] Error 2
make: *** [SampleApp] Error 2

libportaudio.2.dylib        libportaudio.a              libportaudio.exp            libportaudio.lai
➜  .libs lipo -info libportaudio.a
Non-fat file: libportaudio.a is architecture: x86_64
What is the expected behavior?

What behavior are you observing?

Provide the steps to reproduce the issue, if applicable:

Tell us about your environment:

What version of the AVS Device SDK are you using?
  <1.26.0>

Tell us what hardware you're using:

[x] Desktop / Laptop. MacBook Pro(intel)
[ ] Raspberry Pi
[ ] Other - tell us more:

Tell us about your OS (Type & version):

[ ] Linux
[x] MacOS   12.3.1
[ ] Raspbian Stretch
[ ] Raspbian Jessy
[ ] Other - tell us more:

Hi,
Can you please link against libportaudio.dylib inside .libs instead?
Additionally, can you please try building with the latest version of PortAudio found here?
http://files.portaudio.com/download.html
It should be pa_stable_v190700_20210406.tgz.

I have build with pa_stable_v190700_20210406.tgz,  the issue is same.

I am facing the same issue as well. Here is the gist of the issue :
[ 96%] Linking CXX shared library libDefaultClient.dylib
[ 96%] Built target DefaultClient
[ 96%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/ConsolePrinter.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/CustomConnectionObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/CustomMessageObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/InteractionManager.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/ExternalCapabilitiesBuilder.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/LocaleAssetsManager.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/KeywordObserver.cpp.o
[ 97%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/GuiRenderer.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/UserInputManager.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/MagentaAppExecutor.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/UIManager.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleApplicationComponent.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleApplication.cpp.o
[ 98%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/SampleEqualizerModeController.cpp.o
[100%] Building CXX object MagentaApp/src/CMakeFiles/LibSampleApp.dir/PortAudioMicrophoneWrapper.cpp.o
[100%] Linking CXX shared library libLibSampleApp.dylib
Undefined symbols for architecture arm64:
  "_Pa_CloseStream", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_GetDefaultInputDevice", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_Initialize", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_OpenDefaultStream", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_OpenStream", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::initialize() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_StartStream", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::startStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_StopStream", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::stopStreamingMicrophoneData() in PortAudioMicrophoneWrapper.cpp.o
  "_Pa_Terminate", referenced from:
      alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::~PortAudioMicrophoneWrapper() in PortAudioMicrophoneWrapper.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [MagentaApp/src/libLibSampleApp.dylib] Error 1
make[2]: *** [MagentaApp/src/CMakeFiles/LibSampleApp.dir/all] Error 2
make[1]: *** [MagentaApp/src/CMakeFiles/SampleApp.dir/rule] Error 2

There are updated instructions regarding installing PortAudio dependencies, that can be found here:
https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/mac-os.html
Would it be possible to give those a try and report back whether or not they are successful?

Hello @xhlinux,
Due to the inactivity of this ticket, this ticket will be closed. Please feel free to re-open the ticket if you have more questions or feel that your question has not been answered fully.


test fixes and CR changes for #43

test fixes and CR changes for #43

Changes Unknown when pulling dfa9ea2cd53f2c008a0226346a4e9435c84abefa on test-fixes into ** on master**.

Changes Unknown when pulling dfa9ea2cd53f2c008a0226346a4e9435c84abefa on test-fixes into ** on master**.

Changes Unknown when pulling dfa9ea2cd53f2c008a0226346a4e9435c84abefa on test-fixes into ** on master**.

Changes Unknown when pulling dfa9ea2cd53f2c008a0226346a4e9435c84abefa on test-fixes into ** on master**.


[third_party] Add catapult as submodule

This commit adds catapult as submodule to use trace2html.
ONE-vscode-DCO-1.0-Signed-off-by: Dayoung Lee<EMAIL_ADDRESS>

Add catapult as a submodule
Why?
I tried to import only the related catapult directories. It exceeded 3000+ lines changes, as can be seen in this PR
For extensibility, it could be better to import the project as a submodule.

Originally posted by @dayo09 in https://github.com/Samsung/ONE-vscode/issues/1611#issuecomment-1668839894

git submodule update --init --recursive
./third_party/catapult/tracing/bin/trace2html res/samples/traces/sample.timeline.json

@dayo09 , have you checked the license for the cataplut project?
If you want to introduce an external module, it is better to create a separate issue for it, check and organize all matters including the license, and proceed with PR only after taking appropriate measures.

@jyoungyun , my other concern is when deploying. Actually, this tool should be distributed and used. What kind of package structure will it have then?

@lemmaa @jyoungyun I have created the issue to talk about it. :-D


Dyson AM07

Hey guys, I just wanted to share my code to control my Dyson. The fan function seems to want to use %'s but as you might know the actual dyson only supports incremental changes. So I'm using the PAUSE and Send Multiple Hex functions to control the dyson.
One question maybe for @lprhodes. Does Siri support oscillate mode?  You can tell Siri to activate it by telling her to turn on "swing mode" for the "Dyson fan". You will need to learn the IR command for it.
You'll add it to the config.json like that
"swingToggle": "260048000...",
Let me know if that works for you.

Nice work-around @samsonrosen, thanks for providing!

@samsonrosen hello, I come across your config here, tried to apply the same json on Broadlink RM4C Pro, seems only "on" signal is working.
is everything still working for you?

Same here with a RM 4 Mini. Also tried learning from the Dyson remote in the app which also leads to very erratic results: Sometimes it seems to work fine, sometimes not at all. Not sure if it's the RM 4 or the Dyson…

Here are that are on off code that are working for me (most of the time):
                        "on": "260048004817192f19171917183019171d131917191719171917191719171917192f192f19000cc84918192f19171917192f1917191718181917191719171917181818181830183018000d050000000000000000000000000000",
                        "off": "260048004917192f19171a16192f1818181818181917181818181917181818181818191718000cc9481918301818181817301818181818181917191718181818181819171818181818000d050000000000000000000000000000",

Hi all, after a lot of searching on the internet for information on getting a Dyson AM07 working with a broadlink RM4 Mini and after a lot of trial and error, got a piece of code working for the following functions: "on", "off", "oscillating" and "speeds 1 to 10".
Learning IR codes on the broadlink only resulted in the "on" button working for me. Guess this is a similar experience as others seemingly caused by rolling frequencies (tried 10+ times the on/off button for example and none of the frequencies were matching).
Thanks to @jazz-o-mat for sharing his code on this forum. The frequencies are for an AM06 but worked on my AM07 also as the AM06, AM07 and AM08 seem to be similar.
Just to re-iterate what is already mentioned in above posts: given the incremental speed change setup of the dyson every speedstep always goes back to the lowest speed first and then adds the number of steps to get to the desired speed. Also have tested a right duration of 'pause', 'interval' and amount of 'sendcount' to ensure proper functioning of all speeds (from and to), because I noticed that the fan sometimes seemed to struggle keeping up with receiving a larger number of IR commands, particularly at higher speeds. Lastly, a '0.1' interval seemed to short and resulted in skipping, a minimum of 0.2 was required for mine.
Hope this helps for people still looking into this in 2024. Cheers.
{
            "name": "Dyson",
            "type": "fan",
            "host": "XXXX",
            "hideRotationDirection": true,
            "stepSize": 10,
            "data": {
                "on": [
                    {
                        "pause": 0.3,
                        "data": "260024004a1b19341a1a191b19331a1a191a191a191c191b191b191b191a1a191a1a193319000d0500000000"
                    },
                    {
                        "pause": 0.3,
                        "data": "260048004a1b1934191b191b19331a1a191a191a1935191b1934191b19331a1a1933191a19000cc94a1b1934191b191a1a33191b191a191a1935191b1934191a1a33191b1933191a19000d05"
                    }
                ],
                "off": "260024004a1b19341a1a191b19331a1a191a191a191c191b191b191b191a1a191a1a193319000d0500000000",
                "swingToggle": "260048004a1b1934191b191b19331a1a191a191a1935191b1934191b19331a1a1933191a19000cc94a1b1934191b191a1a33191b191a191a1935191b1934191a1a33191b1933191a19000d05",
                "fanSpeed10": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.6
                    }
                ],
                "fanSpeed20": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.6
                    },
                    {
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "pause": 0.6
                    }
                ],
                "fanSpeed30": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.6
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 2,
                        "pause": 0.6
                    }
                ],
                "fanSpeed40": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.6
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 3,
                        "pause": 0.6
                    }
                ],
                "fanSpeed50": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.6
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 4,
                        "pause": 0.6
                    }
                ],
                "fanSpeed60": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.9
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 5,
                        "pause": 0.6
                    }
                ],
                "fanSpeed70": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 11,
                        "pause": 0.9
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 6,
                        "pause": 0.6
                    }
                ],
                "fanSpeed80": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 12,
                        "pause": 1.2
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 7,
                        "pause": 2
                    }
                ],
                "fanSpeed90": [
                    {
                        "interval": 0.2,
                        "data": "260048004a1a1a331a1a1a1a1934191a191a191a193519341a331a33193419331a191a3319000d024a1b1934191b191a1a33191b191a191a193519341934193419331a33191a193319000d05",
                        "sendCount": 12,
                        "pause": 1.2
                    },
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 8,
                        "pause": 0.6
                    }
                ],
                "fanSpeed100": [
                    {
                        "interval": 0.3,
                        "data": "260048004a1b1835191b191a1a33191a1b19191a191c1835181c1835181b19341834191a19000cc4481c1a331a1a1a1a1934181b191a1a191a1b1934191b1934191b18341934191a18000d05",
                        "sendCount": 9,
                        "pause": 0.6
                    }
                ]
            }

@rahufoxmulder just letting you know im super appreciative of this code.
I've found the remote for the AM07 to be god awful unless you're within about 4ft of the fan.
I just copy pasted your code and it's flawless. This is after days and days of trying to do it myself.
Again, thank you.


[release-1.9] listener: match rebalancer to listener IP family type

cc @nrjpoddar @ycai-aspen
See https://github.com/envoyproxy/envoy/pull/17262.
This PR will enable virtual outbound listeners to use the proper type based on the wildcard type associated with the socket's listener. Useful for IPv4/IPv6 environments. This feature is present in Envoy 1.19 and is turned on by default. For the purposes of this PR it has to be enabled by the user explicitly.
Risk: Low.

cc @lambdai You approved the original Envoy PR. We need this to be able to support dual stack. We are hoping to get this in so we can start working on porting dual stack to open source (this won't be backported to Istio 1.9). But with these changes we are able to start verification of our work as we begin to open source them in Istio 1.12.


Replace XPath evaluator

Replace with this one: https://github.com/medic/openrosa-xpath-evaluator/ (will likely move to enketo github account)
Track here:  https://github.com/medic/cht-core/issues/6196
Advantages:

Better performance
Better license
Supports missing functions, e.g. digest()

Hi there!
Is there any foreseeable timeline for this?
There is a feature in it that I have been missing so bad for so long...
Cheers!

There is a feature in it that I have been missing so bad for so long...
Are you referring to the digest() function?

Is there any foreseeable timeline for this?
Nothing concrete, but I can tell you this is our highest priority at the moment. A bug needs to be fixed first.

Indeed, I can't wait for that digest function.
Thanks for the pointer. I don't understand everything in the referred conversation, but does it mean the bug with selected-count() not working with a space-separated values string will also be fixed? I would love this too as I am constantly making wonky things to workaround this problem.

@Freedim that count-selected() bug doesn't really seem worth fixing. The bug referred to is for this usage: count-selected('a b'). It is does not occur for `count-selected(${some-node}) where some-node has value "a b".  I cannot think of any use case for the former.
Maybe you've discovered a different bug with count-selected?

Great news!
Thanks a lot!

Great news!
Thanks a lot!


[Java] Implement a strategy to return variable width buffer count for StringView in TypeLayout

Describe the enhancement requested
At the moment in the StringView implementation,  we are only returning a value considering the inline Strings and discard long Strings. This functionality needs to be improved with corresponding test cases.
Component(s)
Java

Usage of TypeLayout.getTypeBufferCount

VectorUnloader → appendNodes : used to validate the field buffer size against the defined size in the layout
ValidateVectorBufferVisitor → validateVectorComon → (this method is used to validate most vector types. Where it uses the field`s buffer size against the layouts defined buffer count.
StructVectorLoader → loadBuffers used to get the number of buffers to give the initial capacity to the list
StructVectorUnloader → appendNodes : used to validate the field buffer size against the defined size in the layout
VectorLoader → loadBuffers : used to get the number of buffers to give the initial capacity to the list
ValidateVectorBufferVisitor → validateVectorCommon : used to validate the field buffer size against the defined size in the layout

The value set for the visitor here is a fixed value (number of buffers), but for StringView, the number of buffers are 2 + K and we can determine the value of K only by getting the vector.dataBuffers.size() which is not accessible in the visitor here.
I can think of three ways of solving this.
Method 1
Check whether the number of buffers are 2 <= such that setting the getTypeBufferCount to 2 and do the validation. And in each scenario where we do the validation.
And when a list is formulated by iterating through buffers, we could do it until the iterator gives null and populate the list only if the type is Utf8View or BinaryView.
Method 2
We state validation is not supported, but update the list until iterator gives null.
Method 3
We write a special case for StringView such that we get FieldVector and cast it to BaseVariableWidthViewVector and get the dataBuffers and get the size. And then we can do the validation and initialize the list capacity.

cc @lidavidm

Either:

deprecate TypeLayout and replace it with a version that also requires the vector/RecordBatch instance
update uses of TypeLayout depending on the individual context, since we need to handle variadicBufferCounts now anyways

deprecate TypeLayout and replace it with a version that also requires the vector/RecordBatch instance

I feel like this would be better for the longer term.

Closed by a unified task https://github.com/apache/arrow/pull/41732


library might be in limbo state after updating an older copy

Let's assuming following scenario: a user occasionally update the LIBXSMM source tree via "git pull". That means the following is happening "git pull && make", then 4 months nothing and then again "git pull && make". I have received over the last month to reports that features (which changed the frontend) are not available in the new build. A "make realclean && make" seems to fix the problem.

I will try once more for reproducing the issue over the course of the next days (before closing this issue). However, I committed 73a9eb6 which may already resolve the problem.

Closing for now as there was some action taken. If it occurs again, a reproducer would be great.


Avoid spurious error log for Client.Stop closed connections

Co-authored-by: phanidevavarapu
This is a continuation of closed PR https://github.com/open-telemetry/opamp-go/pull/173. Fixes #163

@srikanthccv @tigrannajaryan I've drafted some changes that I believe may solve the same issue without ignoring the net.ErrClosed error: https://github.com/open-telemetry/opamp-go/pull/205. Please take a look at let me know what your thoughts are.

Closing since there are other pull requests to gracefully close the connection.


Avoid repeated calls to ConnectorMetadata#getTableProperties()

CI failed -- https://github.com/prestosql/presto/issues/3861


Cursed Finger changes the requirements and MAX rewards for Lucky/Chain to Infinity

0 CpS, fresh save. Requirements are 0 and MAX rewards are 13 and 7/6 respectively, as they should be.

With Cursed Finger active. Requirements and MAX rewards change to Infinity.

It seems this issue is the same as #156, the only difference being Chromium-based browsers handle "Infinity" when dividing by zero, whereas other browsers keep the good ol' "NaN".
As the stats shown when CpS == 0 when beginning a new game are "0" (as seen in the first screenshot), I suppose the best we can do is showing "0" everywhere instead of "Infinity" / "NaN" during Cursed finger?

Yeah, that seem the best approach and actually correct.


[Bug]: Cannot open a new pane

Bug Description
A new pane is hidden
Relevant Screenshot
This is in default theme:

This is in Shimmering Focus:

To Reproduce

Open a new pane
Only one pane shows

Obsidian Version
0.14.9
Installer Version
0.14.6
Font Size
15
Which editor are you using?

[X] New Editor
[ ] Legacy Editor

In which mode(s) does the problem occur? (if applicable)

[ ] Source (Edit)
[ ] Reading (Preview)
[X] Live Preview

Which operating system?

[ ] macOS
[ ] Linux
[X] Windows
[ ] iOS
[ ] Android

Plugin-Specific Problems

[X] I took note of the specific instructions regarding those plugins.

Checklist

[X] I updated to the latest version of the theme (Settings → Appearance → Themes - Manage → Update).
[X] I made sure that the issue is related to this theme by checking that the problem does not occur with the default theme.
[X] In case I am missing an UI element, I have checked that it cannot be re-enabled with the Style Settings plugin.
[X] If the bug occured after updating the theme, I read the last couple of entries in the changelog to make sure the bug is not an intentional change. (In that case, there will most likely be a style setting to turn it off again.)

I came here to mention something similar. I thought it was that the theme's most current update was interacting with the Sliding Panes (Andy's Mode) plugin because suddenly the panes take up my entire monitor, instead of just half.
But I think the issue is rather that with the update the pane can't be split anymore.
@Liong1976 in the meantime you could use the Sliding Panes plugin. You still can't see 2 panes at the same time, but maybe it's easier to swap back and forth :)
Thanks!

Thanks, @ReaderGuy42 for the advice

thanks, issue is fixed

Thanks, Chris!

Thanks :)


Auto-heal NAT Instances

We should auto-heal our nat instances. Also, we should probably move NAT to it's own module and support gateways and instances interchangeably so we can re-use across our modules.
# Restart dead bastions and alert
resource "aws_cloudwatch_metric_alarm" "bastion" {
  alarm_name          = "${module.label.id}-status-check-failed"
  comparison_operator = "GreaterThanOrEqualToThreshold"
  evaluation_periods  = "5"
  metric_name         = "StatusCheckFailed_Instance"
  namespace           = "AWS/EC2"
  period              = "60"
  statistic           = "Maximum"
  threshold           = "1"

  dimensions {
    InstanceId = "${aws_instance.nat_instance.id}"
  }

  alarm_actions = [
    "arn:aws:swf:${var.aws_region}:${local.aws_account_id}:action/actions/AWS_EC2.InstanceId.Reboot/1.0",
  ]
}

@osterman NAT Instances are deprecated and do not support NAT64. I am therefore not inclined to add additional support for them. Can we close this, or do you want to pursue it further?

The only reason to create NAT Instances instead of using NAT Gateways is to save money, currently on the order of $20/month. It is not worth the time and effort to further enhance this module's NAT Instance support beyond what is added in #159. Cloud Posse can create a separate NAT Instance module if there is demand for it, but it seems unlikely to me that the expense of supporting NAT Instances would not outweigh the cost savings they bring.
Our recommended cost-saving solution going forward is to use a single NAT Gateway rather than one per region. For a typical installation of 3 regions, that is approximately budget neutral (one NAT Gateway costs about the same as 3 t3.micro NAT instances), costing a total of about US $30/month.
For better NAT instance support, people can use an alternate module such as https://github.com/int128/terraform-aws-nat-instance (we have not vetted it, just noticed it) to create NAT instances and easily connect them to the private subnets.
module "dynamic_subnets" {
  source  = "cloudposse/dynamic-subnets/aws"
  version = "2.0.0"

  nat_gateway_enabled  = false
  nat_instance_enabled = false
  # etc . . .
}

resource "aws_route" "private" {
  count = length(module.dynamic_subnets.private_route_table_ids)

  route_table_id         = module.dynamic_subnets.private_route_table_ids[count.index]
  destination_cidr_block = "<IP_ADDRESS>/0"
  network_interface_id   = element(local.nat_instances.*.primary_network_interface_id, count.index)
}


Discord rune info not !Vis wax

Hello there, the discord rune info not isn't showing the vis wax updates. It says "the new combo isn't out yet"
First time having this issue, it's been happening for about 3-4 days now.
Thanks

Howdy!
We are aware of this issue and will be working on a fix ASAP.


Fixes Issues with Nested Modules Cmdlets not Found

Manually listed all cmdlets in Nested Modules in the psd1 CmdletsToExport property

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

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Update Core Install - Millennium

JIRA issue created by: rcook
Originally opened: 2012-07-09 03:05 PM
There is some Millennium and Dummy stuff http://code.google.com/p/xcncip2toolkit/wiki/CoreInstallation .
The “Millennium example here” needs to be replaced with actual, working Millennium examples. Also Symphony & Voyager examples should be added.

JIRA User<EMAIL_ADDRESS>JIRA Timestamp: 2012-07-25 11:17 AM
Done - updated all documents


Missing documentation for adding a database

The blog post about Futuswarm mentions that adding an RDS database is possible, but there is nothing in the docs (e.g., the Quick Start) about it.

Quick Start amended with a database entry.


Does ChatGPT work better than text003

Great work! Seems you are using gpt-3.5-turbo by default.
imo, to use ChatGPT can be more tricky to engineer, and might be empirically worse than text003.
My implementation is like
from langchain.llms.openai import OpenAI
from langchain.chat_models import ChatOpenAI

        model_name = 'gpt-3.5-turbo'
        if model_name.startswith('gpt-3.5-turbo'):
            self.llm = ChatOpenAI(temperature=0,
                              model_name=model_name,
                              )
        else:
            self.llm = OpenAI(temperature=0,
                              model_name=model_name,
                            )
        self.memory = ConversationBufferMemory(memory_key="chat_history", output_key='output')

It would be interesting if we see what's going on with ChatGPT.
References:
ChatGPT's API model, gpt-3.5-turbo, doesn't appear to work for summarization tasks · Issue #1643 · hwchase17/langchain
https://github.com/hwchase17/langchain/issues/1643
[Question] are you using ChatGPT or actually GPT3? · Issue #113 · microsoft/visual-chatgpt
https://github.com/microsoft/visual-chatgpt/issues/113

Thanks for the suggestion! Tbh I was quite confused why sometimes people use text-davinci-003 when OpenAI says gpt-3.5-turbo is what behind ChatGPT.
 Your implementation looks great!

If you use a conversational agent, gpt-3.5-turbo will respond Yes. to the prompt Do I need to use a tool? This response is wrong because it needs to be like \nYes\nAction: Answer Question About The Image\nAction Input: image/167c74fc.png, What is in the motorcyclist's mouth? so it can be parsed by langchain. text-davinci-003 got the correct response to parse.


locale is not set on macOS

I'm using alacritty 0.3.3 on macOS Mojave 10.14.6 installed via Homebrew Cask.
When launching Alacritty, the locale is not set. This happens with fish and /bin/bash.
locale in alacritty:
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

locale in Terminal.app:
LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL=

This happens with my custom alacritty.yml (see below), but also with the default alacritty.yml
alacritty.yml

# Configuration for Alacritty, the GPU enhanced terminal emulator.

# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
  # TERM variable
  #
  # This value is used to set the `$TERM` environment variable for
  # each instance of Alacritty. If it is not present, alacritty will
  # check the local terminfo database and use `alacritty` if it is
  # available, otherwise `xterm-256color` is used.
  #TERM: xterm-256color

window:
  # Window dimensions (changes require restart)
  #
  # Specified in number of columns/lines, not pixels.
  # If both are `0`, this setting is ignored.
  dimensions:
    columns: 0
    lines: 0

  # Window position (changes require restart)
  #
  # Specified in number of pixels.
  # If the position is not set, the window manager will handle the placement.
  #position:
  #  x: 0
  #  y: 0

  # Window padding (changes require restart)
  #
  # Blank space added around the window in pixels. This padding is scaled
  # by DPI and the specified value is always added at both opposing sides.
  padding:
    x: 0
    y: 0

  # Spread additional padding evenly around the terminal content.
  dynamic_padding: false

  # Window decorations
  #
  # Values for `decorations`:
  #     - full: Borders and title bar
  #     - none: Neither borders nor title bar
  #
  # Values for `decorations` (macOS only):
  #     - transparent: Title bar, transparent background and title bar buttons
  #     - buttonless: Title bar, transparent background, but no title bar buttons
  decorations: buttonless

  # Startup Mode (changes require restart)
  #
  # Values for `startup_mode`:
  #   - Windowed
  #   - Maximized
  #   - Fullscreen
  #
  # Values for `startup_mode` (macOS only):
  #   - SimpleFullscreen
  startup_mode: Maximized

  # Window title
  #title: Alacritty

  # Window class (Linux only):
  #class: Alacritty

scrolling:
  # Maximum number of lines in the scrollback buffer.
  # Specifying '0' will disable scrolling.
  history: 0

  # Number of lines the viewport will move for every line scrolled when
  # scrollback is enabled (history > 0).
  multiplier: 3

  # Faux Scrolling
  #
  # The `faux_multiplier` setting controls the number of lines the terminal
  # should scroll when the alternate screen buffer is active. This is used
  # to allow mouse scrolling for applications like `man`.
  #
  # Specifying `0` will disable faux scrolling.
  faux_multiplier: 3

  # Scroll to the bottom when new text is written to the terminal.
  auto_scroll: false

# Spaces per Tab (changes require restart)
#
# This setting defines the width of a tab in cells.
#
# Some applications, like Emacs, rely on knowing about the width of a tab.
# To prevent unexpected behavior in these applications, it's also required to
# change the `it` value in terminfo when altering this setting.
tabspaces: 8

# Font configuration (changes require restart)
font:
  # Normal (roman) font face
  normal:
    # Font family
    #
    # Default:
    #   - (macOS) Menlo
    #   - (Linux) monospace
    #   - (Windows) Consolas
    family: Iosevka Term

    # The `style` can be specified to pick a specific face.
    style: Regular

  # Bold font face
  bold:
    # Font family
    #
    # If the bold family is not specified, it will fall back to the
    # value specified for the normal font.
    family: Iosevka

    # The `style` can be specified to pick a specific face.
    style: Bold

  # Italic font face
  italic:
    # Font family
    #
    # If the italic family is not specified, it will fall back to the
    # value specified for the normal font.
    family: Iosevka

    # The `style` can be specified to pick a specific face.
    style: Italic

  # Point size
  size: 13.0

  # Offset is the extra space around each character. `offset.y` can be thought of
  # as modifying the line spacing, and `offset.x` as modifying the letter spacing.
  offset:
    x: 0
    y: 0

  # Glyph offset determines the locations of the glyphs within their cells with
  # the default being at the bottom. Increasing `x` moves the glyph to the right,
  # increasing `y` moves the glyph upwards.
  glyph_offset:
    x: 0
    y: 0

  # Thin stroke font rendering (macOS only)
  #
  # Thin strokes are suitable for retina displays, but for non-retina screens
  # it is recommended to set `use_thin_strokes` to `false`
  #
  # macOS >= 10.14.x:
  #
  # If the font quality on non-retina display looks bad then set
  # `use_thin_strokes` to `true` and enable font smoothing by running the
  # following command:
  #   `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
  #
  # This is a global setting and will require a log out or restart to take
  # effect.
  use_thin_strokes: true

# If `true`, bold text is drawn using the bright color variants.
draw_bold_text_with_bright_colors: true

# Colors (Dracula)
colors:
  # Default colors
  primary:
    background: '0x282a36'
    foreground: '0xf8f8f2'

    # Bright and dim foreground colors
    #
    # The dimmed foreground color is calculated automatically if it is not present.
    # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
    # is `false`, the normal foreground color will be used.
    #dim_foreground: '0x9a9a9a'
    #bright_foreground: '0xffffff'

  # Cursor colors
  #
  # Colors which should be used to draw the terminal cursor. If these are unset,
  # the cursor color will be the inverse of the cell color.
  cursor:
    text: '0x44475a'
    cursor: '0xf8f8f2'

  # Normal colors
  normal:
    black:   '0x000000'
    red:     '0xff5555'
    green:   '0x50fa7b'
    yellow:  '0xf1fa8c'
    blue:    '0xbd93f9'
    magenta: '0xff79c6'
    cyan:    '0x8be9fd'
    white:   '0xbfbfbf'

  # Bright colors
  bright:
    black:   '0x4d4d4d'
    red:     '0xff6e67'
    green:   '0x5af78e'
    yellow:  '0xf4f99d'
    blue:    '0xcaa9fa'
    magenta: '0xff92d0'
    cyan:    '0x9aedfe'
    white:   '0xe6e6e6'

  # Dim colors
  #
  # If the dim colors are not set, they will be calculated automatically based
  # on the `normal` colors.
  dim:
    black:   '0x14151b'
    red:     '0xff2222'
    green:   '0x1ef956'
    yellow:  '0xebf85b'
    blue:    '0x4d5b86'
    magenta: '0xff46b0'
    cyan:    '0x59dffc'
    white:   '0xe6e6d1'

  # Indexed Colors
  #
  # The indexed colors include all colors from 16 to 256.
  # When these are not set, they're filled with sensible defaults.
  #
  # Example:
  #   `- { index: 16, color: '0xff00ff' }`
  #
  indexed_colors: []

# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Values for `animation`:
#   - Ease
#   - EaseOut
#   - EaseOutSine
#   - EaseOutQuad
#   - EaseOutCubic
#   - EaseOutQuart
#   - EaseOutQuint
#   - EaseOutExpo
#   - EaseOutCirc
#   - Linear
#
# Specifying a `duration` of `0` will disable the visual bell.
visual_bell:
  animation: EaseOutExpo
  duration: 0
  color: '0xffffff'

# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
background_opacity: 1.0

# Mouse bindings
#
# Available fields:
#   - mouse
#   - action
#   - mods (optional)
#
# Values for `mouse`:
#   - Middle
#   - Left
#   - Right
#   - Numeric identifier such as `5`
#
# All available `mods` and `action` values are documented in the key binding
# section.
mouse_bindings:
  - { mouse: Middle, action: PasteSelection }

mouse:
  # Click settings
  #
  # The `double_click` and `triple_click` settings control the time
  # alacritty should wait for accepting multiple clicks as one double
  # or triple click.
  double_click: { threshold: 300 }
  triple_click: { threshold: 300 }

  # If this is `true`, the cursor is temporarily hidden when typing.
  hide_when_typing: false

  url:
    # URL launcher
    #
    # This program is executed when clicking on a text which is recognized as a URL.
    # The URL is always added to the command as the last parameter.
    #
    # When set to `None`, URL launching will be disabled completely.
    #
    # Default:
    #   - (macOS) open
    #   - (Linux) xdg-open
    #   - (Windows) explorer
    #launcher:
    #  program: xdg-open
    #  args: []

    # URL modifiers
    #
    # These are the modifiers that need to be held down for opening URLs when clicking
    # on them. The available modifiers are documented in the key binding section.
    modifiers: None

selection:
  semantic_escape_chars: ",‚îÇ`|:\"' ()[]{}<>"

  # When set to `true`, selected text will be copied to the primary clipboard.
  save_to_clipboard: false

# Allow terminal applications to change Alacritty's window title.
dynamic_title: true

cursor:
  # Cursor style
  #
  # Values for `style`:
  #   - ‚ñá Block
  #   - _ Underline
  #   - | Beam
  style: Block

  # If this is `true`, the cursor will be rendered as a hollow box when the
  # window is not focused.
  unfocused_hollow: true

# Live config reload (changes require restart)
live_config_reload: true

# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g. `/bin/fish`.
# Entries in `shell.args` are passed unmodified as arguments to the shell.
#
# Default:
#   - (macOS) /bin/bash --login
#   - (Linux) user login shell
#   - (Windows) powershell
shell:
  program: /bin/bash
  args:
   - --login

# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
working_directory: None

# Windows 10 ConPTY backend (Windows only)
#
# This will enable better color support and may resolve other issues,
# however this API and its implementation is still young and so is
# disabled by default, as stability may not be as good as the winpty
# backend.
#
# Alacritty will fall back to the WinPTY automatically if the ConPTY
# backend cannot be initialized.
enable_experimental_conpty_backend: false

# Send ESC (\x1b) before characters when alt is pressed.
alt_send_esc: true

debug:
  # Display the time it takes to redraw each frame.
  render_timer: false

  # Keep the log file after quitting Alacritty.
  persistent_logging: false

  # Log level
  #
  # Values for `log_level`:
  #   - None
  #   - Error
  #   - Warn
  #   - Info
  #   - Debug
  #   - Trace
  log_level: Warn

  # Print all received window events.
  print_events: false

  # Record all characters and escape sequences as test data.
  ref_test: false

# Key bindings
#
# Key bindings are specified as a list of objects. Each binding will specify a
# key and modifiers required to trigger it, terminal modes where the binding is
# applicable, and what should be done when the key binding fires. It can either
# send a byte sequence to the running application (`chars`), execute a
# predefined action (`action`) or fork and execute a specified command plus
# arguments (`command`).
#
# Bindings are always filled by default, but will be replaced when a new binding
# with the same triggers is defined. To unset a default binding, it can be
# mapped to the `None` action.
#
# Example:
#   `- { key: V, mods: Control|Shift, action: Paste }`
#
# Available fields:
#   - key
#   - mods (optional)
#   - chars | action | command (exactly one required)
#   - mode (optional)
#
# Values for `key`:
#   - `A` -> `Z`
#   - `F1` -> `F12`
#   - `Key1` -> `Key0`
#
#   A full list with available key codes can be found here:
#   https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
#
#   Instead of using the name of the keys, the `key` field also supports using
#   the scancode of the desired key. Scancodes have to be specified as a
#   decimal number.
#   This command will allow you to display the hex scancodes for certain keys:
#     `showkey --scancodes`
#
# Values for `mods`:
#   - Command
#   - Control
#   - Option
#   - Super
#   - Shift
#   - Alt
#
#   Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
#   Whitespace and capitalization is relevant and must match the example.
#
# Values for `chars`:
#   The `chars` field writes the specified string to the terminal. This makes
#   it possible to pass escape sequences.
#   To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
#   the command `showkey -a` outside of tmux.
#   Note that applications use terminfo to map escape sequences back to
#   keys. It is therefore required to update the terminfo when
#   changing an escape sequence.
#
# Values for `action`:
#   - Paste
#   - PasteSelection
#   - Copy
#   - IncreaseFontSize
#   - DecreaseFontSize
#   - ResetFontSize
#   - ScrollPageUp
#   - ScrollPageDown
#   - ScrollLineUp
#   - ScrollLineDown
#   - ScrollToTop
#   - ScrollToBottom
#   - ClearHistory
#   - Hide
#   - Quit
#   - ClearLogNotice
#   - SpawnNewInstance
#   - ToggleFullscreen
#   - None
#
# Values for `action` (macOS only):
#   - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
#
# Values for `command`:
#   The `command` field must be a map containing a `program` string and
#   an `args` array of command line parameter strings.
#
#   Example:
#       `command: { program: "alacritty", args: ["-e", "vttest"] }`
#
# Values for `mode`:
#   - ~AppCursor
#   - AppCursor
#   - ~AppKeypad
#   - AppKeypad
key_bindings:
  # (Windows/Linux only)
  #- { key: V,        mods: Control|Shift, action: Paste            }
  #- { key: C,        mods: Control|Shift, action: Copy             }
  #- { key: Insert,   mods: Shift,         action: PasteSelection   }
  #- { key: Key0,     mods: Control,       action: ResetFontSize    }
  #- { key: Equals,   mods: Control,       action: IncreaseFontSize }
  #- { key: Add,      mods: Control,       action: IncreaseFontSize }
  #- { key: Subtract, mods: Control,       action: DecreaseFontSize }
  #- { key: Minus,    mods: Control,       action: DecreaseFontSize }
  #- { key: Return,   mods: Alt,           action: ToggleFullscreen }

  # (macOS only)
  #- { key: Key0,   mods: Command,         action: ResetFontSize    }
  #- { key: Equals, mods: Command,         action: IncreaseFontSize }
  #- { key: Add,    mods: Command,         action: IncreaseFontSize }
  #- { key: Minus,  mods: Command,         action: DecreaseFontSize }
  #- { key: K,      mods: Command,         action: ClearHistory     }
  #- { key: K,      mods: Command,         chars: "\x0c"            }
  - { key: V,      mods: Command,         action: Paste            }
  - { key: C,      mods: Command,         action: Copy             }
  #- { key: H,      mods: Command,         action: Hide             }
  - { key: Q,      mods: Command,         action: Quit             }
  #- { key: W,      mods: Command,         action: Quit             }
  # - { key: F,      mods: Command|Control, action: ToggleFullscreen }

  - { key: Paste,                   action: Paste                            }
  - { key: Copy,                    action: Copy                             }
  - { key: L,        mods: Control, action: ClearLogNotice                   }
  - { key: L,        mods: Control, chars: "\x0c"                            }
  - { key: Home,     mods: Alt,     chars: "\x1b[1;3H"                       }
  - { key: Home,                    chars: "\x1bOH",        mode: AppCursor  }
  - { key: Home,                    chars: "\x1b[H",        mode: ~AppCursor }
  - { key: End,      mods: Alt,     chars: "\x1b[1;3F"                       }
  - { key: End,                     chars: "\x1bOF",        mode: AppCursor  }
  - { key: End,                     chars: "\x1b[F",        mode: ~AppCursor }
  - { key: PageUp,   mods: Shift,   action: ScrollPageUp,   mode: ~Alt       }
  - { key: PageUp,   mods: Shift,   chars: "\x1b[5;2~",     mode: Alt        }
  - { key: PageUp,   mods: Control, chars: "\x1b[5;5~"                       }
  - { key: PageUp,   mods: Alt,     chars: "\x1b[5;3~"                       }
  - { key: PageUp,                  chars: "\x1b[5~"                         }
  - { key: PageDown, mods: Shift,   action: ScrollPageDown, mode: ~Alt       }
  - { key: PageDown, mods: Shift,   chars: "\x1b[6;2~",     mode: Alt        }
  - { key: PageDown, mods: Control, chars: "\x1b[6;5~"                       }
  - { key: PageDown, mods: Alt,     chars: "\x1b[6;3~"                       }
  - { key: PageDown,                chars: "\x1b[6~"                         }
  - { key: Tab,      mods: Shift,   chars: "\x1b[Z"                          }
  - { key: Back,                    chars: "\x7f"                            }
  - { key: Back,     mods: Alt,     chars: "\x1b\x7f"                        }
  - { key: Insert,                  chars: "\x1b[2~"                         }
  - { key: Delete,                  chars: "\x1b[3~"                         }
  - { key: Left,     mods: Shift,   chars: "\x1b[1;2D"                       }
  - { key: Left,     mods: Control, chars: "\x1b[1;5D"                       }
  - { key: Left,     mods: Alt,     chars: "\x1b[1;3D"                       }
  - { key: Left,                    chars: "\x1b[D",        mode: ~AppCursor }
  - { key: Left,                    chars: "\x1bOD",        mode: AppCursor  }
  - { key: Right,    mods: Shift,   chars: "\x1b[1;2C"                       }
  - { key: Right,    mods: Control, chars: "\x1b[1;5C"                       }
  - { key: Right,    mods: Alt,     chars: "\x1b[1;3C"                       }
  - { key: Right,                   chars: "\x1b[C",        mode: ~AppCursor }
  - { key: Right,                   chars: "\x1bOC",        mode: AppCursor  }
  - { key: Up,       mods: Shift,   chars: "\x1b[1;2A"                       }
  - { key: Up,       mods: Control, chars: "\x1b[1;5A"                       }
  - { key: Up,       mods: Alt,     chars: "\x1b[1;3A"                       }
  - { key: Up,                      chars: "\x1b[A",        mode: ~AppCursor }
  - { key: Up,                      chars: "\x1bOA",        mode: AppCursor  }
  - { key: Down,     mods: Shift,   chars: "\x1b[1;2B"                       }
  - { key: Down,     mods: Control, chars: "\x1b[1;5B"                       }
  - { key: Down,     mods: Alt,     chars: "\x1b[1;3B"                       }
  - { key: Down,                    chars: "\x1b[B",        mode: ~AppCursor }
  - { key: Down,                    chars: "\x1bOB",        mode: AppCursor  }
  - { key: F1,                      chars: "\x1bOP"                          }
  - { key: F2,                      chars: "\x1bOQ"                          }
  - { key: F3,                      chars: "\x1bOR"                          }
  - { key: F4,                      chars: "\x1bOS"                          }
  - { key: F5,                      chars: "\x1b[15~"                        }
  - { key: F6,                      chars: "\x1b[17~"                        }
  - { key: F7,                      chars: "\x1b[18~"                        }
  - { key: F8,                      chars: "\x1b[19~"                        }
  - { key: F9,                      chars: "\x1b[20~"                        }
  - { key: F10,                     chars: "\x1b[21~"                        }
  - { key: F11,                     chars: "\x1b[23~"                        }
  - { key: F12,                     chars: "\x1b[24~"                        }
  - { key: F1,       mods: Shift,   chars: "\x1b[1;2P"                       }
  - { key: F2,       mods: Shift,   chars: "\x1b[1;2Q"                       }
  - { key: F3,       mods: Shift,   chars: "\x1b[1;2R"                       }
  - { key: F4,       mods: Shift,   chars: "\x1b[1;2S"                       }
  - { key: F5,       mods: Shift,   chars: "\x1b[15;2~"                      }
  - { key: F6,       mods: Shift,   chars: "\x1b[17;2~"                      }
  - { key: F7,       mods: Shift,   chars: "\x1b[18;2~"                      }
  - { key: F8,       mods: Shift,   chars: "\x1b[19;2~"                      }
  - { key: F9,       mods: Shift,   chars: "\x1b[20;2~"                      }
  - { key: F10,      mods: Shift,   chars: "\x1b[21;2~"                      }
  - { key: F11,      mods: Shift,   chars: "\x1b[23;2~"                      }
  - { key: F12,      mods: Shift,   chars: "\x1b[24;2~"                      }
  - { key: F1,       mods: Control, chars: "\x1b[1;5P"                       }
  - { key: F2,       mods: Control, chars: "\x1b[1;5Q"                       }
  - { key: F3,       mods: Control, chars: "\x1b[1;5R"                       }
  - { key: F4,       mods: Control, chars: "\x1b[1;5S"                       }
  - { key: F5,       mods: Control, chars: "\x1b[15;5~"                      }
  - { key: F6,       mods: Control, chars: "\x1b[17;5~"                      }
  - { key: F7,       mods: Control, chars: "\x1b[18;5~"                      }
  - { key: F8,       mods: Control, chars: "\x1b[19;5~"                      }
  - { key: F9,       mods: Control, chars: "\x1b[20;5~"                      }
  - { key: F10,      mods: Control, chars: "\x1b[21;5~"                      }
  - { key: F11,      mods: Control, chars: "\x1b[23;5~"                      }
  - { key: F12,      mods: Control, chars: "\x1b[24;5~"                      }
  - { key: F1,       mods: Alt,     chars: "\x1b[1;6P"                       }
  - { key: F2,       mods: Alt,     chars: "\x1b[1;6Q"                       }
  - { key: F3,       mods: Alt,     chars: "\x1b[1;6R"                       }
  - { key: F4,       mods: Alt,     chars: "\x1b[1;6S"                       }
  - { key: F5,       mods: Alt,     chars: "\x1b[15;6~"                      }
  - { key: F6,       mods: Alt,     chars: "\x1b[17;6~"                      }
  - { key: F7,       mods: Alt,     chars: "\x1b[18;6~"                      }
  - { key: F8,       mods: Alt,     chars: "\x1b[19;6~"                      }
  - { key: F9,       mods: Alt,     chars: "\x1b[20;6~"                      }
  - { key: F10,      mods: Alt,     chars: "\x1b[21;6~"                      }
  - { key: F11,      mods: Alt,     chars: "\x1b[23;6~"                      }
  - { key: F12,      mods: Alt,     chars: "\x1b[24;6~"                      }
  - { key: F1,       mods: Super,   chars: "\x1b[1;3P"                       }
  - { key: F2,       mods: Super,   chars: "\x1b[1;3Q"                       }
  - { key: F3,       mods: Super,   chars: "\x1b[1;3R"                       }
  - { key: F4,       mods: Super,   chars: "\x1b[1;3S"                       }
  - { key: F5,       mods: Super,   chars: "\x1b[15;3~"                      }
  - { key: F6,       mods: Super,   chars: "\x1b[17;3~"                      }
  - { key: F7,       mods: Super,   chars: "\x1b[18;3~"                      }
  - { key: F8,       mods: Super,   chars: "\x1b[19;3~"                      }
  - { key: F9,       mods: Super,   chars: "\x1b[20;3~"                      }
  - { key: F10,      mods: Super,   chars: "\x1b[21;3~"                      }
  - { key: F11,      mods: Super,   chars: "\x1b[23;3~"                      }
  - { key: F12,      mods: Super,   chars: "\x1b[24;3~"                      }
  - { key: NumpadEnter,             chars: "\n"                              }

Are you launching login shells? This is necessary on macOS to get the correct locale.

I had this in my alacritty.yml (see original issue) to make sure I was using stock bash with --login:
shell:
  program: /bin/bash
  args:
   - --login

Didn't make a difference though.

Does this work if you have no shell specified in Alacritty at all? It should automatically launch your default login shell.
Otherwise this might also be worth a shot:
shell:
  program: login
  args: ["-fp", "USERNAMEHERE"]

Nope, my "default" alacritty.yml doesn't have the shell entry at all and doesn't set the locale too. login also doesn't work.

@Strayer was it a default locale when you've launched a Terminal.app or you've set it in the past somewhere (iirc this is not a default locale for macOS, it should be all C and one entry with UTF-8)? We're not setting locale on macOS for whatever reason on startup, it's true, so you should probably put it in alacritty.yml.
duplicate of this one #2566

Doesn't look like a duplicate of #2566 to me, since no tmux is used. In #2566 the shell itself seems to work, however it does not seem to work for Strayer.

I didn't configure anything explicitly in Terminal.app. iTerm2.app behaves like Terminal.app, but I can't remember if I maybe some time ago set the locale manually there, my iTerm2 config is rather old. kitty sets this with the default config:
LANG=
LC_COLLATE="C"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

We're not setting locale on macOS for whatever reason on startup

Another note, this is incorrect. We do sen the locale on startup on macOS.

Sidenote: Just to be sure I just compiled the current master branch and it has the same problem.

@chrisduerr read the issue I've linked from the beginning until your report to winit about locale problems on startup, tmux part is secondary there, since someone asked about it.

fwiw the output from kitty seems like a default macOS locale.

Reading through the beginning of the issue that does indeed seem to be a duplicate. However I don't quite understand why I've reported this to winit, since it seems completely unrelated to the issue.


FR for within-time-switch: Configurable properties for output

In addition to the existing way of passing the ingoing message to the node's outputs it would be great to have configurable properties for within-time and out-of-time.
Ideally dropdowns for text/number/boolean/{} but for the start simple text would be ok. As an example, that way lights could be controlled with "turn_on""turn_off" text.

seems reasonable

I'm only going to build in a configurable payload.
To have all the properties customizable would go beyond the configuration dialog and would no longer be understandable.

available from 2.0.0 beta-3


Peer review by Yi Tang

Summary:
The study "Factors Influencing Early Childhood Comprehension of American English" examines various predictors of language comprehension in young American English learners, utilizing Bayesian linear regression model. By analyzing the impact of factors like caregiver education, word production, and birth order, the study provides insights into how early childhood environments influence language development, which is critical for designing effective educational interventions.

Strong positive points:
The paper effectively utilizes a detailed dataset from the Worldbank database, focusing on developmental, demographic, and environmental factors to analyze early childhood language comprehension.
The whole paper is looking nice and organized well. Data visualization is pretty nice.
Findings on the influence of caregiver education and birth order offer actionable insights that could guide educational policy and early childhood teaching strategies.

Critical improvements needed:
The representation of data on racial and socioeconomic diversity could be improved to reflect a broader and more inclusive sample of the population.
Model details part need to be improved.
The paper could benefit from a clearer explanation of the negative coefficients found in the model, such as those for 'birth order' and some levels of 'caregiver education.' Understanding why these factors correlate negatively with comprehension could provide deeper insights into the dynamics of early language development.

Suggestions for improvement:
Expanding the dataset to include a more diverse range of socioeconomic statuses and ethnic backgrounds could provide a more comprehensive understanding of the factors influencing language comprehension.
I also have the same problems when doing my research, the graph of Trace Plot should be organized clear in last part.
Incorporating non-linear model techniques might capture the complex interactions between predictors more effectively than linear models.

Evaluation:
R/Python cited (1/1 pts)

Data cited (1/1 pts)
Class paper (1/1 pts)
LLM documentation (1/1 pts)
Title (2/2 pts)
Author, date, and repo (2/2 pts)
Abstract (4/4 pts)
Introduction (4/4 pts)
Estimand (1/1 pts)
Data (10/10 pts)
Comprehensive data but need to give more details of data in your data section, such as preview of your data.
Measurement (4/4 pts)
Good Measurement but include too much data explanation.
Model (8/10 pts)
Trace Plot need to be improved
Results (6/10 pts)
Results can include more graphs, tables or others.
Discussion (10/10 pts)
Prose (6/6 pts)
Cross-references (1/1 pts)
Captions (2/2 pts)
Graphs/tables/etc (4/4 pts)
Surveys, sampling, and observational data appendix (10/10 pts)
Referencing (4/4 pts)
Commits (2/2 pts)
Sketches (0/2 pts)
No sketch yet.
Simulation (4/4 pts)
Tests (4/4 pts)
Parquet (1/1 pts)
Reproducible workflow (4/4 pts)
Enhancements (3/4 pts)
Can refer to rubric to get a better enhancement.
Miscellaneous (2/3 pts)
Almost perfect.
6. Estimated overall mark:
101 out of 112.
7. Any other comments:
Nice trying!! Hope to see the finished paper:)

Thank you very much for your thoughtful feedback. I appreciate your suggestions, particularly regarding expanding the dataset for better diversity and providing a clearer explanation of the negative coefficients. I will also work on improving the Trace Plot and considering non-linear models for a deeper analysis.


russian langage

I have installed some langages but I can't install russian langage, please help me.

Hi @phil276
Russian language was available in the installer, however I had to remove it since it wasn't possible for me to maintain it. Russian isn't as well available in the software for the moment.
Currently available in the full software: https://github.com/pH7Software/pH7-Internationalization#available-languages
You can easily translate it into Russian https://ph7cms.com/doc/en/how-to-translate-to-another-language
Then, if you are feeling generous, you can submit it by email or as a Pull Request to https://github.com/pH7Software/pH7-Internationalization repo.
Hope this helps!
Have fun!


Automated cherry pick of #2075: nat create delete restful api finished

Cherry pick of #2075 on release/2.11.
#2075: nat create delete restful api finished

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@19b511b). Click here to learn what that means.
The diff coverage is 3.88%.

@@              Coverage Diff               @@
##             release/2.11   #2113   +/-   ##
==============================================
  Coverage                ?   7.15%
==============================================
  Files                   ?     445
  Lines                   ?   69627
  Branches                ?       0
==============================================
  Hits                    ?    4985
  Misses                  ?   64230
  Partials                ?     412

Flag
Coverage Δ

#aFlag
7.15% <3.88%> (?)

Impacted Files
Coverage Δ

pkg/compute/models/cloudsync.go
0% <0%> (ø)

pkg/compute/models/natgateways.go
3.91% <0%> (ø)

pkg/compute/models/purge.go
0% <0%> (ø)

pkg/compute/models/natstable.go
4.86% <5%> (ø)

pkg/compute/models/natdtable.go
5.26% <5%> (ø)

Continue to review full report at Codecov.

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

/lgtm

/approve


Fixing constraint issues

To fix constraint issues (messages in console), you should make following changes:
lazy private var htmlCell: PSHTMLCell = { [weak self] in
    var cell = self?.tableView.dequeueReusableCell(withIdentifier: "HTMLCell") as! PSHTMLCell
    cell.htmlView.delegate = self
    cell.contentView.autoresizingMask = .flexibleHeight
    return cell
    }()

set cell's contentView's autoresizingMask to flexibleHeight in example where cell is instantiated.
and in PSHTMLView.swift, before activating webviewHeightConstraint, set it's priority to 999:
public var webView: WKWebView! {
didSet {
addSubview(webView)
webView.translatesAutoresizingMaskIntoConstraints = false
webView.leadingAnchor.constraint(equalTo: leadingAnchor).isActive = true
webView.trailingAnchor.constraint(equalTo: trailingAnchor).isActive = true
webView.topAnchor.constraint(equalTo: topAnchor).isActive = true
webView.bottomAnchor.constraint(equalTo: bottomAnchor).isActive = true
webViewHeightConstraint = webView.heightAnchor.constraint(equalToConstant: self.bounds.height)
webViewHeightConstraint.priority = UILayoutPriority(rawValue: 999)
webViewHeightConstraint.isActive = true
webView.scrollView.isScrollEnabled = false
webView.allowsBackForwardNavigationGestures = false
webView.contentMode = .scaleToFill
webView.navigationDelegate = self
webView.uiDelegate = self
webView.scrollView.delaysContentTouches = false
webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal
webView.scrollView.delegate = self
}
}
After this, there will be no more messages about breaking constraints. These breaking constraints won't affect to the user experience in any way, but in general, when I am working with something, I rather have it without errors/warnings if possible at any cost :)
Good work by the way, I made something similar and got a few good tips from your work.

I am still getting these warnings


sample packed exe for eazdevirt

Hi,
I see you made improvement for eazdevirt https://github.com/HoLLy-HaCKeR/eazdevirt now I want to try to make it compatible with latest eaz, do you have sample unpackme that compatible with your modified eazdevirt?

I've used this on the game osu!. I'm not sure about the exact update.

it produce error maybe it not use same version of eaz but thanks.

sorry to ask again about eazdevirt, do you know how to identify instruction type from dictionary?
for example this.method_50 is instruction for Stfld (Is_Stfld) but how do I now about it?
private Dictionary<int, Class71.Class75> method_219()
{
  return new Dictionary<int, Class71.Class75>(256)
  {
    {
      this.class34_0.class67_186.method_1(),
      new Class71.Class75(this.class34_0.class67_186, new Class71.Delegate1(this.method_50))
    },

Doesn't ring a bell. I suggest you start renaming symbol names in your effort to reverse engineer it.

can you look this thread and thanks.

No, this is a GitHub issue, not a support forum.


Add base interfaces

Codecov Report

Merging #3 (5988dbd) into master (e1af63f) will not change coverage.
The diff coverage is 75.00%.

@@           Coverage Diff           @@
##           master       #3   +/-   ##
=======================================
  Coverage   65.75%   65.75%
=======================================
  Files          30       30
  Lines         549      549
=======================================
  Hits          361      361
  Misses        132      132
  Partials       56       56

Impacted Files
Coverage Δ

adapter.go
0.00% <ø> (ø)

handler.go
0.00% <ø> (ø)

pool.go
74.41% <66.66%> (ø)

client.go
66.66% <100.00%> (ø)

Continue to review full report at Codecov.

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


[SEO] Change default SEO image to swedish logo for sweden

@EliseAndresen Will help me :)

Canva file


Three years on, is there a new way to achieve stability?

I don't think so, as #![feature(proc_macro_span)] is still not stabilized. If you see another way to get this working, a PR is welcome.


add Botan crypto lib

Please add Botan Software Library to the table: https://github.com/randombit/botan
It supports XMSS, Dilithium, Kyber and McEliece.
Composite Certificates are WiP
Thanks!

Added


Could you provide the download link of pretrained model which reproduce the accuray in the paper?

Thanks !

Hi,
thank you for your interest in our model! I have now released the pretrained model weights for NTU RGB+D 60 and NTU RGB+D 120. Please find them at link.
Best regards,
Yuxuan

Hello! Could those weights be used with the NW-UCLA dataset? When I try evaluating the provided weights with it I get a size mismatch error.
Thank you!


Update Cost of living announcement

Just change from title to lower as requested by Content Designers.
Trello
⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

@AgaDufrat thanks for spotting. No this is intended - where we talk about the Official Bill it's ok. But I think the intention with this change is in the context of talking about fraudulent schemes I think Content Designers want to be less confusing.


⚠ Bofrost.de has degraded performance

In 1da8928, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1049 ms

Resolved: Bofrost.de performance has improved in 5f82ed4 after 6 minutes.


Knowledge - Ingestion fails with run exceeded maximum time of 10m0s

Steps to reproduce the problem:

Create an agent and ingest files from cry.org

Notice that few files always fail with run exceeded maximum time of 10m0s error.

Errors from api:
  {
      "id": "9578ff1f2106481aca9ea5b8a516d525d526828c7d7f9a1c6d7deb396a2ac17e",
      "created": "2024-12-06T18:19:42Z",
      "revision": "1000219",
      "type": "knowledgefile",
      "fileName": "cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf",
      "state": "error",
      "error": "run exceeded maximum time of 10m0s",
      "agentID": "a1r56wf",
      "knowledgeSetID": "kst1-a1r56wf",
      "knowledgeSourceID": "ks14qcxb",
      "approved": true,
      "url": "https://cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf",
      "updatedAt": "2024-12-06 18:19:41.523404021 +0000 UTC m=+479.441304881",
      "checksum": "ffb27c1c21b2185c65a3a8e3bf6d900586c260e28220f5997433720cfae9bdfd",
      "lastIngestionStartTime": "2024-12-06T18:41:07Z",
      "lastIngestionEndTime": "2024-12-06T18:51:08Z",
      "lastRunIDs": [
        "r1qzsq7"
      ],
      "sizeInBytes": 120785432
    },

Debug logs - https://test.otto8.ai/api/runs/r1qzsq7/debug
{
  "frames": {
    "1733540312": {
      "chatResponseCached": false,
      "currentAgent": {

      },
      "displayText": "Running Knowledge Loading from /otto8-tools/knowledge/load.gpt",
      "end": "0001-01-01T00:00:00Z",
      "id": "1733540312",
      "input": "{\"input\":\"cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf\",\"output\":\".conversion/cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf.json\"}",
      "inputContext": null,
      "llmRequest": {
        "command": [
          "/bin/sh",
          "-c",
          "exec ${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool load --flows-file=blueprint:otto --flow=ottoload \"ws://${INPUT}\" \"ws://${OUTPUT}\""
        ],
        "input": "{\"input\":\"cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf\",\"output\":\".conversion/cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf.json\"}"
      },
      "llmResponse": null,
      "output": null,
      "start": "2024-12-06T18:41:08.114821118Z",
      "tool": {
        "arguments": {
          "properties": {
            "Input": {
              "description": "Input File",
              "type": "string"
            },
            "Output": {
              "description": "Output File",
              "type": "string"
            },
            "know_load_metadata": {
              "description": "Comma-delimited key=value pairs to be added to the metadata of the loaded document.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "credentials": [
          "github.com/gptscript-ai/credentials/model-provider"
        ],
        "description": "Load a document, convert it to Knowledge JSON Format and store it to a file.",
        "id": "/otto8-tools/knowledge/load.gpt:Knowledge Loading",
        "instructions": "#!${GPTSCRIPT_TOOL_DIR}/bin/gptscript-go-tool load --flows-file=blueprint:otto --flow=ottoload \"ws://${INPUT}\" \"ws://${OUTPUT}\"",
        "internalPrompt": null,
        "localTools": {
          "knowledge loading": "/otto8-tools/knowledge/load.gpt:Knowledge Loading"
        },
        "modelName": "llm",
        "name": "Knowledge Loading",
        "source": {
          "lineNo": 1,
          "location": "/otto8-tools/knowledge/load.gpt"
        },
        "toolMapping": {
          "github.com/gptscript-ai/credentials/model-provider": [
            {
              "reference": "github.com/gptscript-ai/credentials/model-provider",
              "toolID": "https://raw.githubusercontent.com/gptscript-ai/credentials/bd959c8f57a499835b927453645f94bf47973774/model-provider/tool.gpt:GPTScript Model Provider Credential"
            }
          ]
        },
        "workingDir": "/otto8-tools/knowledge"
      },
      "toolResults": 0,
      "type": "callChat",
      "usage": {

      }
    },
    "1733540313": {
      "chatResponseCached": false,
      "currentAgent": {

      },
      "displayText": "",
      "end": "2024-12-06T18:41:08.127994946Z",
      "id": "1733540313",
      "input": "",
      "inputContext": null,
      "llmRequest": {
        "command": [
          "sys.model.provider.credential"
        ],
        "input": ""
      },
      "llmResponse": {
        "err": null,
        "fullOutput": "",
        "output": "{\"env\":{\"OPENAI_API_KEY\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBZ2VudElEIjoiIiwiUnVuSUQiOiJyMXF6c3E3IiwiU2NvcGUiOiJkZWZhdWx0IiwiVGhyZWFkSUQiOiJ0MS1rczE0cWN4YiIsIldvcmtmbG93SUQiOiIiLCJXb3JrZmxvd1N0ZXBJRCI6IiJ9.-5I-Qej-JNWq_PTF5qReNAZcToqL6bmyaal6K9Xdimw\",\"OPENAI_BASE_URL\":\"https://test.otto8.ai/api/llm-proxy\"},\"ephemeral\":true}"
      },
      "output": [
        {
          "content": "",
          "subCalls": null
        }
      ],
      "parentID": "1733540312",
      "start": "2024-12-06T18:41:08.12761213Z",
      "tool": {
        "arguments": {
          "type": "object"
        },
        "description": "A credential tool to set the OPENAI_API_KEY and OPENAI_BASE_URL to give access to the default model provider",
        "id": "sys.model.provider.credential",
        "instructions": "#!sys.model.provider.credential",
        "internalPrompt": null,
        "modelName": "llm",
        "name": "sys.model.provider.credential",
        "source": {

        }
      },
      "toolCategory": "credential",
      "toolResults": 0,
      "type": "callFinish",
      "usage": {

      }
    }
  },
  "spec": {
    "synchronous": true,
    "threadName": "t1-ks14qcxb",
    "input": "{\"input\":\"cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf\",\"output\":\".conversion/cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf.json\"}",
    "env": [
      "OPENAI_MODEL=vision"
    ],
    "tool": "\"knowledge-load\"",
    "defaultModel": "llm",
    "timeout": "0s"
  },
  "status": {
    "state": "error",
    "output": "",
    "endTime": "2024-12-06T18:51:08Z",
    "error": "run encountered an error: failed to read events: run aborted with error output: "
  }
}

Agents that show this problem:
https://test.otto8.ai/admin/agents/a1r56wf
https://test.otto8.ai/admin/agents/a1jp4qj

Encountered this issue today when ingesting cry.org again today -
https://test.acornlabs.com/api/agents/a1cjg85/knowledge-sources/ks19j2zp/knowledge-files
   {
      "id": "a75417d721b7184548f5b5c86298f64bc1200f1622836705958de0dcb86434b6",
      "created": "2024-12-17T19:21:08Z",
      "revision": "1479626",
      "type": "knowledgefile",
      "fileName": "cry.org/downloads/safety-and-protection/childescents-in-india-cry.pdf",
      "state": "error",
      "error": "run exceeded maximum time of 10m0s",
      "agentID": "a1cjg85",
      "knowledgeSetID": "kst1-a1cjg85",
      "knowledgeSourceID": "ks19j2zp",
      "approved": true,
      "url": "https://cry.org/downloads/safety-and-protection/childescents-in-india-cry.pdf",
      "updatedAt": "2024-12-17 19:21:07.744514037 +0000 UTC m=+369.805109743",
      "checksum": "007df5d449230d1e215ca44dd6405913e959ab83069136d96944c437621570a3",
      "lastIngestionStartTime": "2024-12-17T19:56:40Z",
      "lastIngestionEndTime": "2024-12-17T20:06:40Z",
      "lastRunIDs": [
        "r1lqd2v"
      ],
      "sizeInBytes": 87190625
    },
    {
      "id": "f1fafd2f772cd4e0889917ed8219edb620256bca90a0fb454f0fc20d334dc61d",
      "created": "2024-12-17T19:19:52Z",
      "revision": "1479744",
      "type": "knowledgefile",
      "fileName": "cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf",
      "state": "error",
      "error": "run exceeded maximum time of 10m0s",
      "agentID": "a1cjg85",
      "knowledgeSetID": "kst1-a1cjg85",
      "knowledgeSourceID": "ks19j2zp",
      "approved": true,
      "url": "https://cry.org/downloads/health-and-nutrition/Study-to-understand-the-stigma-and-shame-around-menstruation.pdf",
      "updatedAt": "2024-12-17 19:19:50.699041579 +0000 UTC m=+292.759637285",
      "checksum": "ffb27c1c21b2185c65a3a8e3bf6d900586c260e28220f5997433720cfae9bdfd",
      "lastIngestionStartTime": "2024-12-17T20:01:25Z",
      "lastIngestionEndTime": "2024-12-17T20:11:26Z",
      "lastRunIDs": [
        "r1vm8hs"
      ],
      "sizeInBytes": 120785432
    }
  ]


Restore CMakeLists.txt and clean its soft link for clean build.

In previous change, it missed the debian/CMakeLists.txt，restore and add it into git. Finnally, remove the soft link file for cleaning build(with ‘-tc’).

thanks, I have updated to https://salsa.debian.org/xmake-team/tbox/-/tree/master/debian


[FIX][CI] hotfix check_grad perf regression

see #8579
Lifted the interpreter executor evaluation out of a hot loop in check_grad. Additionally, modified the interpreter executor to only create one Interpreter per expression evaluation (rather than each time the evaluated expression closure is invoked). Also fixed a bug that was in some code for grouped_conv2d on ARM CPU.
cc @tqchen

it turns out the problem goes a bit deeper with the Interpreter executor, please wait to merge until we settle on a complete solution

cc @Wheest author of #6137 regarding the fix I added for grouped_conv2d default config on ARM cpu, please check that it's correct

@altanh your change might have triggered other errors. Let us skip the interepreter in the gradient checkers and focus on running VM instead

@altanh your change might have triggered other errors. Let us skip the interepreter in the gradient checkers and focus on running VM instead

I saw the errors, I'm trying one more quick fix and if it doesn't work I will open an alternative PR which disables the interpreter in check_grad

This is merged now. Thanks @altanh, @tqchen, @junrushao1994, @mbrookhart and @jroesch!

Thanks @altanh, the ARM grouped conv change LGTM.  How did you discover it, if it wasn't caught by the tests in CI?

Thanks @altanh, the ARM grouped conv change LGTM. How did you discover it, if it wasn't caught by the tests in CI?

Good question... I was debugging the test locally and encountered the error with a basic pytest invocation. Perhaps the ARM test wasn't being run, or the default config wasn't being used on CI? Definitely weird