Modifying Final PPO Parameters for Sequence Identification

First I would like to say I'm very excited about this, as it's something I've been looking for a while now. I really appreciate how thoroughly you explained every step through your notebooks.
I've set up the first few steps and have started fine-tuning BERT on a Sequence classification task.
However, what I'm trying to do is apply this concept towards an entailment task, targeting protein sequences.
For example, I have my data set up as:
CACT GTGG ACCA TATG,ACTA AGAC CACT GTGG,0,
AGAC CACT GTGG ACCA,CACT GTGG ACCA TATG,1,
Where 1 is entailment, and 0 is not entailment. How would I modify the parameters for PPO to recognize this, and during the fine-tuning of GPT-2, would I simply drop the labels and join the sequences, both for 0/1 so that there's randomized data?
Also, since all the data is a max sequence length of 18/36 characters, would it be better to optimize the model parameters for that as well, or use the default?
Thank you!

Hi @trisongz
Glad you find the library useful. Let's see if I understand your objective correctly:

You have a dataset with protein sequences and you would like GPT-2 to generate realistic sequences.
You have trained BERT to classify whether two subsequences are compatible.

Now your question is how to setup the PPO training step? Before running PPO I would fine-tune (or train from scratch) GPT-2 on your dataset with the language modeling objective. Check out the training script from Hugging Face.
Then I would probably start by using the first subsequence (18 characters) as the query and then let GPT-2 respond for 18 characters. Although GPT-2 uses BPE encodings and not character level encodings, so the actual number might differ. Then I would pass query/response pairs to BERT for the prediction and use its output as a reward (I used the unnormalised logits, but you can also try to use the class predictions 0/1).
Regarding the other PPO parameters I didn't change them much from the original implementation except the batch size for memory reason. I would start there and adjust them later if it does not work. You also want to keep an eye on the KL-divergence (logged as objective/kl) to make sure the output distribution stays close to your initial data distribution.

Hi @lvwerra thanks for the advice!
Yes, you're correct. I had actually started training GPT-2 from scratch with a custom tokenizer on the dataset prior to seeing this comment so I'm glad I am on the right track.
I also switched over to using RoBERTa as the classifier to test as well, which is currently at
‘mcc’: 0.9997714069569512,
‘tp’: 308736, ‘tn’: 164108,
‘fp’: 49,
‘fn’: 0
‘acc’: 0.9998963824797575
‘eval_loss’: 0.00044921892891853013

after 50k steps, although I am concerned that's a potential result of me not shuffling the csv data prior to training the model, as I wrote the csv file sequentially from the raw dataset. Is there a way you suggest to easily shuffle the csv file prior to the training step? I used your extremely helpful train_test_split function for eval and train data.
For this specific task, since it is sequence based, do you think a Masked LM would perform better at generation than GPT-2 since unlike human written text, there's likely sequence pairs that repeat?
So far what I currently have
BERT/RoBERTa Classifier:
Dataset structure
GTGG ACCA TATG GCCA, ACCA TATG GCCA TAAT, 1
ATCA GGAA GGCA AGAG, AAGT ACAC ATCA GGAA, 0
------------------------------
The Predictions below should result in 1
GTGG ACCA TATG GCCA -> ACCA TATG GCCA TAAT: [1]
GCCA TAAT CAAA AAGT -> TAAT CAAA AAGT ACAC: [1]
------------------------------
The Predictions below should result in 0
ATCA GGAA GGCA AGAG -> AAGT ACAC ATCA GGAA: [0]
CAAA AAGT ACAC ATCA -> GCCA TAAT CAAA AAGT: [0]

For GPT-2 LM:
Single line by line text file of only true (1) sequences
GTGG ACCA TATG GCCA ACCA TATG GCCA TAAT
GCCA TAAT CAAA AAGT TAAT CAAA AAGT ACAC
Does this look correct so far?
Thank you for the tips!

‘acc’: 0.9998
That seems suspiciously high. either your task is trivial or there is some leakage in your dataset. Maybe entries exist more than once and are therefore in both train and test split. train_test_split should shuffle the dataset already. I would definitely investigate that further.

I have not much experience with such sequences so I don't know if MLM would work better. Also if training GPT-2 from scratch  makes sense probably depends the size of the dataset and resources you have available. I guess you could try the simple, pretrained approach and if that does not work out consider moving to MLM or training GPT-2 from scratch.
For the GPT-2 LM that looks fine to me. You could also consider adding the EOS token at the end of each line (see here for a snippet how I processed the IMDB dataset).
Good luck.

I'm at part 4 now where I'm running the RL environment, and looking through your comments. I also updated GPT-2 to train with a EOS token. I messed up a few things originally, but I think I'm on the right track. Since I created a custom tokenizer for GPT-2, each sequence of 4 letters is 1 token for I/o.
Currently I have my txt_in_len as well as txt_out_len set to 4, to match what BERT expects to see for sequence pair classification.
However, I realized after the scores returned that I hadn't updated the reward mechanism to 0/1 so the scores are a mess. (This is prior to updating the txt lengths properly to 4x4).

Could you point me to how I would be able to switch up the rewards based on the Classifier output? I was looking around here:
def compute_rewards(self, scores, logprobs, ref_logprobs):
        """Compute per token rewards from scores and KL-penalty."""
        kl = logprobs - ref_logprobs
        non_score_reward = -self.kl_ctl.value * kl
        rewards = non_score_reward.clone().detach()
        rewards[:, -1] += scores
        return rewards, non_score_reward, self.kl_ctl.value

But wasn't entirely sure

You should normalise the scores before running the PPTrainer.step.  The outputs you get from the BERT model are logits. So you would need to apply Softmax to the outputs and then find the max probability
probs = F.softmax(bert_outputs, dim=-1)
max_id = torch.argmax(probs, dim=-1)

max_id corresponds to the output index with the largest probability. If position 0 in your outputs corresponds to "not entailed" and position 1 to "entailed" that should be what you are looking for.

I'm still relatively new to Torch, so I apologize for silly questions.
Would it be here that you add that step before appending it to rewards?
    #### tokenize text for sentiment analysis
    t = time.time()
    texts = [q + r for q,r in zip(game_data['query'], game_data['response'])]
    sentiment_inputs, attention_masks = build_bert_batch_from_txt(texts, sentiment_tokenizer, device)
    timing['time/build_input_sentiment'] = time.time()-t

    #### get sentiment score
    t = time.time()
    rewards = []
    for i in range(int(config['batch_size']/fbs)):
        res = sentiment_model.forward(sentiment_inputs[i*fbs:(i+1)*fbs],
                                      attention_masks[i*fbs:(i+1)*fbs])[0][:, 1].detach()

        probs = F.softmax(res, dim=-1)
        max_id = torch.argmax(probs, dim=-1)
        rewards.append(max_id)
        #rewards.append(res)

    rewards = torch.cat(rewards)
    timing['time/get_sentiment_preds'] = time.time()-t

    #### Run PPO training
    t = time.time()
    stats = ppo_trainer.step(query_tensors, response_tensors, rewards)
    timing['time/optimization'] = time.time()-t

That looks about right. You need to remove the logit slicing in line:
res = sentiment_model.forward(sentiment_inputs[i*fbs:(i+1)*fbs],
                                      attention_masks[i*fbs:(i+1)*fbs])[0].detach()

Since [:, 1] slices out the logits for the positive sentiment in my example. Since you want to create discrete rewards you will need both positive and negative logits for the softmax layer.

I think I'm getting closer. I had to do one additional step and transform max_id to max_id.float(). However, the outputs are all showing rewards as 0.0 so far - wanted to confirm.
Result of res step

        [ 5.5575, -6.0447],
        [ 5.5397, -6.0370],
        [ 5.5577, -6.0430],
        [ 5.5556, -6.0427],
        [ 5.5585, -6.0432],
        [ 5.5494, -6.0396],
        [ 5.5576, -6.0438],
        [ 5.5544, -6.0420],
        [ 5.5584, -6.0439],
        [ 5.5490, -6.0390],
        [ 5.5601, -6.0438],
        [ 5.5527, -6.0437],
        [ 5.5541, -6.0416],
        [ 5.5583, -6.0435],
        [ 5.5514, -6.0416],
        [ 5.5590, -6.0440],
        [ 5.5556, -6.0430],
        [ 5.5468, -6.0402],
        [ 5.5564, -6.0439],
        [ 5.5545, -6.0405],
        [ 5.5537, -6.0446],
        [ 5.5563, -6.0434],
        [ 5.5566, -6.0431],
        [ 5.5564, -6.0429],
        [ 5.5527, -6.0419],
        [ 5.5535, -6.0425],
        [ 5.5531, -6.0433],
        [ 5.5546, -6.0427],
        [ 5.5518, -6.0417],
        [ 5.5573, -6.0431],
        [ 5.5567, -6.0428]], device='cuda:0')

result of probs
tensor([[9.9999e-01, 9.2180e-06],
        [9.9999e-01, 9.1457e-06],
        [9.9999e-01, 9.3818e-06],
        [9.9999e-01, 9.1595e-06],
        [9.9999e-01, 9.1816e-06],
        [9.9999e-01, 9.1508e-06],
        [9.9999e-01, 9.2678e-06],
        [9.9999e-01, 9.1529e-06],
        [9.9999e-01, 9.1989e-06],
        [9.9999e-01, 9.1447e-06],
        [9.9999e-01, 9.2768e-06],
        [9.9999e-01, 9.1304e-06],
        [9.9999e-01, 9.1988e-06],
        [9.9999e-01, 9.2063e-06],
        [9.9999e-01, 9.1496e-06],
        [9.9999e-01, 9.2305e-06],
        [9.9999e-01, 9.1391e-06],
        [9.9999e-01, 9.1788e-06],
        [9.9999e-01, 9.2861e-06],
        [9.9999e-01, 9.1639e-06],
        [9.9999e-01, 9.2114e-06],
        [9.9999e-01, 9.1817e-06],
        [9.9999e-01, 9.1681e-06],
        [9.9999e-01, 9.1684e-06],
        [9.9999e-01, 9.1717e-06],
        [9.9999e-01, 9.2159e-06],
        [9.9999e-01, 9.2032e-06],
        [9.9999e-01, 9.1985e-06],
        [9.9999e-01, 9.1905e-06],
        [9.9999e-01, 9.2262e-06],
        [9.9999e-01, 9.1625e-06],
        [9.9999e-01, 9.1699e-06]], device='cuda:0')

result of max_id (non-float)
tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0], device='cuda:0')

result of max_id.float()
tensor([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0.], device='cuda:0')

As a sanity check, I ran the post-training step to see the results, with modifying the rewards to match with the above.
#### sentiment analysis of query/response pairs before/after
texts = [q + r for q,r in zip(game_data['query'], game_data['response (before)'])]
sentiment_inputs, attention_masks = build_bert_batch_from_txt(texts, sentiment_tokenizer, device)
#rewards = sentiment_model.forward(sentiment_inputs, attention_masks)[0][:, 1].detach()
res = sentiment_model.forward(sentiment_inputs, attention_masks)[0].detach()
probs = F.softmax(res, dim=-1)
max_id = torch.argmax(probs, dim=-1)
max_id = max_id.float()
rewards = max_id
game_data['rewards (before)'] = rewards.cpu().numpy()

texts = [q + r for q,r in zip(game_data['query'], game_data['response (after)'])]
sentiment_inputs, attention_masks = build_bert_batch_from_txt(texts, sentiment_tokenizer, device)
#rewards = sentiment_model.forward(sentiment_inputs, attention_masks)[0][:, 1].detach()
res = sentiment_model.forward(sentiment_inputs, attention_masks)[0].detach()
probs = F.softmax(res, dim=-1)
max_id = torch.argmax(probs, dim=-1)
max_id = max_id.float()
rewards = max_id
game_data['rewards (after)'] = rewards.cpu().numpy()

Does this look right to you so far? I'm also not sure whether the classifier is issuing 0 as a result of not seeing all 8 tokens, as it's trained on 4/4 sequence pairs.
When I run
text_a = 'AGAC CACT GTGG ACCA'
text_b = 'CACT GTGG ACCA TATG'
output = sentiment_model.forward(sentiment_tokenizer.encode([text_a, text_b], return_tensors="pt"))
output
output[0][0, 1]

I get
tensor(0.2771, grad_fn=<SelectBackward>)
Whereas with
text = 'CACT GTGG ACCA TATG'
output = sentiment_model.forward(sentiment_tokenizer.encode(text, return_tensors="pt"))
output
output[0][0, 1]

It shows
tensor(-6.0448, grad_fn=<SelectBackward>)

Indeed, it seems like the LM is not generating good sequences at the beginning. There are several things you could try:

Further fine-tune GPT2 on the language modeling task
Play with the language generation (you could try greedy changing the sampling temperature)
Use the logits as reward function (like in my example), since they provide a continuous reward signal. In your case it only ever gets a reward when the probability for 1 is larger than that for 0. If you take the raw logits it gets a reward even if it's only getting closer.
Try to simplify the task by reducing the number of generated characters. Maybe try 12 query characters vs. 4 response characters.

 I am sure there could be other problems and solutions.

I am closing this issue for now. If you have further questions just contact me.


add DarQ and Hydrostellaire & fix typos

I try it on my OnePlus 12  Android 14 , not bad. Still works.


Reconfigure automatic early releases

Currently, we skip release for PRs merged by the mergify bot. It is not enough as mergify can't merge changes into .github dir.
When I merge such changes myself, it causes a redundant release that just spoils Maven Central, so I stop the build.
I would like to be able to cut an early release when needed (e.g. when we want to test a new feature), but to skip it for upgrades in workflows.
I don't know how, though :) Any ideas?

I wonder if we could have a manual trigger on the workflow that allows us to trigger a snapshot or proper release?

Yes, we can

I'll try to make the last phase runnable only wheb manually invoked

Ahh, I remembered. I wanted to do this, but it's not supported in the current version of sbt-github-actions. There's a long-lasting PR https://github.com/djspiewak/sbt-github-actions/pull/65 that is still not merged. We need only one feature: run ci on the workflow_dispatch trigger.

It would be great if the sbt-github-actions supported something like Kustomize to interleve bits of custom YAML


User won't be able to deallocate if the asset is later added to purgatory

User won't be able to deallocate if the asset is later added to purgatory. We should provide assets in purgatory in nftinfo csv and mark them.
@AnaLoznianu:
What happens if I curate a certain data asset that is later put to purgatory? will the asset still be visible on the df web? Can I remove my allocation?

I wonder if we should reflect this in the FE somehow?
Candidate solutions:
A) Assets in purgatory should perhaps have an icon/highlight to let the user know that asset is no longer viable
B) Instead of having assets from purgatory inside nftinfo.csv, have a purgatory.csv or let's get the info on FE directly from there. Let user know they have assets in purgatory, and create a "Reset Allocations" button that enables them to reset it to 100% and start again.
C) Same as B. But only sets the Allocations on the purgatory items to 0, and regains that allocation % to distribute again.

Me and Trizin voted for Cand B.
I have proposed we implement it as part of an update to the explorer.
This is discussed further in ticket => https://github.com/oceanprotocol/df-web/issues/297

I would vote for Cand C, but I would still like to have all assets inside nftInfo instead of having another endpoint to get those assets.

Yes, that should be enough as long as we also have the allocations for those assets from subgraph

Please add your planning poker estimate with Zenhub @KatunaNorbert

Please add your planning poker estimate with Zenhub @trizin


AHCI support

Currently ToaruOS only supports reading off of IDE drives. However, most modern computers (and Virtualbox) use AHCI mode on the SATA controllers. The system boots fine when the drive's attached in IDE mode but fails to boot in AHCI (SATA) mode.

@graphitemaster Were you talking about AHCI stuff in IRC before, or was that mostly about APIC?


Duplicate method Error on RNMixpanel.m file

Xcode is complaining about duplicate methods:
RCT_EXPORT_METHOD(addPushDeviceToken:(NSData *)deviceToken) {
    [mixpanel.people addPushDeviceToken:deviceToken];
}

and
// addPushDeviceToken
RCT_EXPORT_METHOD(addPushDeviceToken:(NSString *)pushDeviceToken) {
  [mixpanel.people addPushDeviceToken:pushDeviceToken];
}

which one should we keep?

Got the same error.

Same error here

There's already a fix in master: https://github.com/davodesign84/react-native-mixpanel/commit/0511c0cc683c552eeeac125f70088f22afe6647a
I've just done it locally until a version bump.


Lots of silly Element tsc issues

Right now tsc locally is producing
app/components/style_guide.tsx:130:19 - error TS2322: Type 'Element' is not assignable to type 'ReactNode'.

130                   <Tooltip.Root>
                      ~~~~~~~~~~~~~~
131                     <ToolbarTrigger>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
133                     </ToolbarTrigger>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
134                   </Tooltip.Root>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

And similar issues across the codebase. Nothing seems to help it. This is a known issue but none of the obvious fixes have worked so far:

https://stackoverflow.com/questions/76898372/getting-type-element-is-not-assignable-to-type-reactnode-when-creating-a
https://sentry.io/answers/type-is-not-assignable-to-type-reactnode/

Fixed in a77fd501bd9d267258e236b56926714546753c86


[vcpkg] fail archived port install when decompression fails

Running a full rebuild test on https://dev.azure.com/vcpkg/public/_build/results?buildId=4353


feat: add Indonesian translations

Description

add Indonesian  translations

Checklist:

[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you linted your code locally prior to submission?
[x] Have you successfully ran app with your changes locally?

Since the GitHub Action was a bit faulty yesterday, the package script I adjusted was wrong, and the CI check could not pass. I will force merge this pull request.


Don't provide IO when it's not set

This makes sure that runc does not get any valid IO for the pipe.  Some
builds and other containers will be stuck if they inspect stdin
expecially and its a pipe but not connected to any user input.
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Codecov Report

Merging #2618 into master will decrease coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #2618      +/-   ##
==========================================
- Coverage   44.07%   44.05%   -0.03%
==========================================
  Files          94       94
  Lines       10232    10238       +6
==========================================
  Hits         4510     4510
- Misses       5002     5008       +6
  Partials      720      720

Flag
Coverage Δ

#linux
47.77% <0%> (-0.04%)
:arrow_down:

#windows
40.72% <ø> (ø)
:arrow_up:

Impacted Files
Coverage Δ

cio/io.go
31.11% <0%> (-2.23%)
:arrow_down:

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 6ca8355...906acb1. Read the comment docs.

LGTM


pbTests: Test script fixes

Additional fixes to :

stop testJDK.sh finding the debug-image thats produced when building JDKs

Allow testJDKWin.sh to find built JDKs other than JDK8

Latest commit ensures JDK8 is built with JDK8 on Windows. When running the build with JDK_BOOT_DIR set to jdk7, it attempts to run Gradle with it, causing Gradle to fail.
https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/452/OS=Win2012,label=infra-vagrant-1/console

What version of gradle dropped 7 support and do we need to execute gradle as part of our boot strapping?

Normally JAVA_HOME is set to 8 (or it's in the PATH by default) and we just set the JDK boot dir to the boot one, which should be 7. We don't want to change JDK8 to bootstrap with 8 - it's not what we do in the production builds, and so it would be wrong to do that here.

Okay, I'll put it back and just ensure JAVA_HOME is jdk8

Can you do a VPC run to ensure this is ok @Willsparker ?

https://ci.adoptopenjdk.net/view/Tooling/job/VagrantPlaybookCheck/456/
I'll do a jdk8 run now too


Migrating from Microsoft.WindowsAppSDK.1.0.0-experimental1 to Microsoft.WindowsAppSDK.1.0.0 crashes (UWP) app

Describe the bug
Attaching a zip file with both good and bad vcxproj in a solution
test.zip
Good -> uses Microsoft.WindowsAppSDK.1.0.0-experimental1 Runs fine (Empty WebView2)
Bad -> Uses Microsoft.WindowsAppSDK.1.0.0 .
Crashes with the following message
WinUI: Error creating an UWP Window. Creating an UWP window is not allowed.'.
Steps to reproduce the bug
Open the solution run good or bad
Expected behavior
Both good and bad run successfully
Screenshots
No response
NuGet package version
1.0.0
Packaging type
Packaged (MSIX)
Windows version
Windows 11 version 21H2 (22000)
IDE
Visual Studio 2022-preview
Additional context
The difference between Good and bad is simply a different SDK version and app runtimes
Bad:
Microsoft.WindowsAppRuntime.1.0_0.319.455.0_x64__8wekyb3d8bbwe
Good:
Microsoft.WindowsAppSDK.1.0-experimental1_0.218.840.0_x64__8wekyb3d8bbwe

test.zip

FWIW preview1 is "bad" as well
Only the experimental1 seems to work and it works flawless

UWP isn't supported as a target for 1.0.0

Given it works on experimental, I'm assuming

It has artificially been turned off (perhaps because it's not release ready, though functional)
There's a roadmap to get that enabled

Are these correct ?
Is there a way I can use the non-experimental package and turn it on locally ?
The experimental sdk seems to be a few months behind the released one and doesnt seem to be unified

Also Whats even more mind boggling is that it actually works when i run it from visual studio even though I clearly hit a "Fail-fast-exception".
The window just blinks and shows my webview.
its when I run it without debugger that the whole thing blows up.
So I'm assuming there's a way to not-artificially blow up

@ankurverma85 It's not artificially failing. And there is no way to make this scenario work with preview/1.0 bits. It's just not supported.

I want to believe you but I do have it working in-fact

WindowsAppSDK 1.0.0 it works if I continue past in the debugger
With WindowsAppSDK 1.0.0-experimental1 it simply works.

Which is why i attached the zip file because I'm curious about the delta.
I understand it might not be officially supported now and I'm curious when it might be become officially available.
The link you posted does not clearly state that

@ankurverma85 UWP support is not coming; it's not on the roadmap. The overall migration strategy can be found at https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/overall-migration-strategy.
I understand that's frustrating for some to hear. If you hit any particular gotchas (e.g. missing controls, APIs), do create an issue!

Interesting ... Thanks for the information
What I really actually only need is WebView2 in an UWP ? and Ideally i'd like to not create separate apps for other micrososft devices (non-desktop)
So, is this SDK along with WinUI3 only on desktop?
What about Xbox, Hololens or any other devices?
My understanding of both WinUI effort and ProjectReunion was that WinUI3 supercedes all that and so WebView2 is going to be available (along with all the other controls on UWP too, so we create one-app for all microsoft devices.
Did that vision get lost along the way or did I read too much into what it actually was ?

Perhaps the right question (so we dont get lost in the jargons like winui, winrt, desktop, win10, uwp, msix, appx etc ) is :
As a (c++) store developer I have these options available for submitting a package:

And so far the only way to create a single binary that runs across all (in C++) is to go the winrt Windows.Ui.Xaml route with UWP
And my understanding was that WinUI3 replaces Windows.UI.xaml with microsoft.ui.xaml and allow for WebView2 and other awesome controls and then eventually let you create a single binary that runs across all platforms ?
Is that not the goal ?
And if it is when is that planned ?

@ankurverma85 Your questions have really opened my eyes to how poorly the documentation describes what Windows App SDK is. Sorry about the confusion.
The quick and plain English version is: Windows App SDK is a collection of APIs, frameworks, and tools to help you build desktop apps targeting Windows 11 and earlier (back to Windows 10 version 1809, in most cases). It doesn't currently target other devices such as HoloLens, Xbox, Mobile, etc.
To touch on your comments / answer your questions:

And so far the only way to create a single binary that runs across all (in C++) is to go the winrt Windows.Ui.Xaml route with UWP

Yep.

And my understanding was that WinUI3 replaces Windows.UI.xaml with microsoft.ui.xaml and allow for WebView2 and other awesome controls and then eventually let you create a single binary that runs across all platforms? Is that not the goal? And if it is when is that planned?

WebView2 is actually working on/has support for WinUI 2 (UWP) and WinUI 3 (WinAppSdk)!
WinUI 2 is still actively supported for UWP/Xamarin.Forms and is still a viable solution if you're trying to target desktop and non-desktop (e.g. Hub, HoloLens, Xbox). WinUI 3 is the next generation of the WinUI framework that currently only targets desktop apps. (Whether it's truly a replacement for WinUI 2 has yet to be seen.)
I'm not aware of any plans for WinAppSDK or WinUI 3 to support other platforms. And I don't believe any such work is in any plans for the next few years to come. Looping in @andrewleader for more official words.
Hope that helps clarify a little bit.

Yes. It does. Thanks a lot for the answers
I'm starting to realize I assumed winui3 is the next version and an evolution of winui2
And got probably excited by the fact that the experimental sdk actually worked as per my flawed understanding.
Thanks again for clarifying

Thanks Rafael for helping clarify!
@ankurverma85 since you said what you really only need is WebView2, I would suggest looking into the WebView2 preview for WinUI 2 as Rafael linked to! And as Rafael mentioned, we currently don't have any plans to support other platforms than Desktop with WinUI 3.
Also, to set some expectations for Experimental features, Experimental features may be removed at any point in time, if something's experimental, that's not a guarantee it's going to ship. Once a feature is promoted to a Preview release, that's when it's very certain the feature will ship and the API surface is probably mostly stable.
Closing this issue. Sorry for the confusion, let us know if you have any further questions!


Segmentation fault (core dumped)

I'm getting a core dumped fault on ubuntu 14.04 when I run the command
CMT$ python run.py challenge.mp4
challenge.mp4 is located in the CMT directory.
Any help with that is appreciated

Can you post the full stack trace to help debug? And proper steps to reproduce the bug?

Thank you for your quick response and for helping out. This is all what I'm getting
Segmentation fault (core dumped)
I've tested it in python 2 and 3, didn't work.


Small text

Hi,
Is that normal that the text is very small?

I reinstalled with an older version and the text was bigger, but I want the new version for new features...

Do you have global scaling applied? Because the titlebar on your picture seems to be bigger than the default.
The fonts were changed in a recent release, after a discussion in #61, and the theme now uses the official font families and sizes for Windows 11 UI, based on Microsoft's documentation. It also now uses points instead of pixels to specify the font size. In theory there shouldn't be any difference in font size in the newer version, at most it should be more adaptable to higher resolutions, and it indeed doesn't change on my Plasma desktop (I have never tested this theme on Windows, sorry).
I'll have to look into this on a Windows VM.

Hi @rbende,
Thank you for your response!
I don’t have global scaling applied... I tried with version 2.1 and the text was normal. I don’t know why 😅... I’m on a win11 Laptop and I didn’t changed the resolution.


[ALLUXIO-3282] Ignore ufs paths containing '?' (#7783)

https://alluxio.atlassian.net/browse/ALLUXIO-3282
Cherry-picked from https://github.com/Alluxio/alluxio/pull/7783

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/223/
Test PASSed.


fix(pybsm): update arguments to PybsmPerturber

New version of nrtk broke old sensor scenerio parameter factory we had.
Move yaml_transforms under nrtk_transforms_available check.

We should do some cleanup indeed but not all the way like you did.


code question

In 56 line of layesr.py, using repeat_interleave() function .But this function was introduced in pytorch 1.1.And if you use pytorch1.1, you should modify the compute_test() function which in 105 line of train.py. Replace data[0] with item()

thanks！！


disable alerting during a certain timewindow (eg no alerting during weekends)

We are monitoring different environment, production alerts should be sent all the time, but other environment should only send alerts during weekdays ( eg. not after friday 5pm till monday 9am )
I'm looking for a solution where per rule a (one or more) non-alerting timewindow's) could be define, does this exist ?

look
https://github.com/0xSeb/elastalert_hour_range

aggregation
https://elastalert.readthedocs.io/en/latest/ruletypes.html#aggregation

Yelp/elastalert is no longer maintained. Please use jertel elastalert. Questions to the discussion below
https://github.com/jertel/elastalert/discussions


Resolve clang-tidy warning about end of non-void functions

All functions which should return non-void value and have a chance
to do not do it was change. Most of them can not reach if...else
but some of them call other fuction which is void.

Check changes by file.


LiftComponent refactor

Extract code below into LiftData private class to refactor
    /**
     * Move in X axis.
     */
    var isHorizontal = false

    /**
     * Move in Y axis.
     */
    var isVertical = false

    var isGoingUp = false
    var isGoingRight = true

    var speedX = 0.0
    var speedY = 0.0

    var distanceX = 0.0
    var distanceY = 0.0

    var durationX: Duration = Duration.ZERO
    var durationY: Duration = Duration.ZERO

    private lateinit var timerX: LocalTimer
    private lateinit var timerY: LocalTimer

@AlmasB
Hello :)
Do you mind If I try to resolve this issue?

Sure, go for it! Let me know if it's clear what needs to be done because I
don't quite remember what the issue is
On Fri, 4 Oct 2019, 9:49 am Niklas Schultz<EMAIL_ADDRESS>wrote:

@AlmasB https://github.com/AlmasB
Hello :)
Do you mind If I try to resolve this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/AlmasB/FXGL/issues/657?email_source=notifications&email_token=AA3NT5VVOP5GQD3YBRLL6LTQM37P5A5CNFSM4IPHC3N2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAK7K6Q#issuecomment-538310010,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3NT5UINSPWMKZ3K6QU7JDQM37P5ANCNFSM4IPHC3NQ
.


Integration with M30 suddenly stopped working

Describe the bug
My cloud connection to M30 suddenly stopped working. All devices and entities are unavailable. I have tried removing the device in HA and re-adding but it does not find any devices when configured.
To Reproduce
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots/Logs
The Lennox System with id [d85534f0-2a02-42fe-8e06-7b2d257a49b0] is not connected to the Lennox Cloud. Cloud Status [offline]. Please check your thermostats internet connection and retry.
Version

Home Assistant: 2024.7.3
This Integration: 2024.6.1

**Integration Configuration **

Cloud or Local Connection: Cloud
Inverter or Sensor Diagnostics Enabled:

Additional context
The iComfort app still works, so the device is connected to the cloud

I have the same issue with my M30 too.
My version was 2024.5.5 and this morning it's just stop working
I try to upgrade to 2024.7.3 and reinstall the integration 2024.6.1 but still not working

Same deal here.
Just bought a house with a M30 preinstalled. No more access...
Crowdstrike maybe?

With the 3 of you reporting the same issue. There must be a problem with the Lennox cloud.  They do run on Microsoft Azure. I'll run a test with my S30 reconnecting it to the cloud to see if that works.
Everyone has the same error message?  Anything else in the logs?

Let's turn on message logging, follow the instruction here:
https://github.com/PeteRager/lennoxs30/tree/master#reporting-bugs
Enable the logging, restart HA, let it run for 5 minutes, upload the log file.
The other item to try is changing the APP ID in the integration config.  You should be using the default one.
mapp079372367644467046827001
Try changing the last 4 digits to something else.  Delete the message log, Restart HA, post that log.

home-assistant.log
s30_local.log
Enabled debug logs as instructed.
No change to APP ID.

home-assistant.log s30_local.log
Enabled debug logs as instructed. No change to APP ID.

Thank you,  the logs shows that your thermostat is connected to the cloud.  We are also able to login and subscribe to the topics.  However, we are not receiving any subscription replies from Lennox. The subscriptions are tied to the app_id. I would try changing the App ID and see if that fixes.

I removed my instance and re-added using APPID mapp079372367644467046821234.
home-assistant.log
s30_local_newAPPID.log
No device or entities are created.
Sorry for taking a while, I just moved in this new house. Lots of stuff to unpack :)

config_entry-lennoxs30-01J39F8RFQBGZV2GAZPFP9J0HP.json
If it could be relevant...

It is behaving the same.  Either something is broken in the Lennox cloud or they changed the API.
Are you able to use the Lennox app to control when not connected to your local WIFI?  What version of the App is installed?
I'll have some time this upcoming week to test.

Ok lol, I just deleted and re-created my instance with the default APPID and everything is suddenly working again!
To answer your question:
Seemingly, I never lost the ability to control the M30 thermostat through my phone.
I've been using Android "iComfort" app version 3.92.014 these past few days (moved in this house a week ago).

Sounds like Lennox fixed the problem.  There is nothing the integration stashes between runs.
The app has the ability to talk directly to the thermostat when on the same network - at least for the S30 and E30 that have local control.  The REST API we use for cloud communication is the same one as they use in the app (or at least is used to be).  Are you able to see if there are any open network ports on your thermostat?

Unfortunately, nmap shows no open port
# nmap -p- <IP_ADDRESS>
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-07-21 09:55 EDT
Nmap scan report for <IP_ADDRESS>
Host is up (0.016s latency).
All 65535 scanned ports on <IP_ADDRESS> are in ignored states.
Not shown: 65535 closed tcp ports (reset)
MAC Address: 80:C9:55:xx:xx:xx (Redpine Signals)

Nmap done: 1 IP address (1 host up) scanned in 47.30 seconds

It started working again for me today after removing and adding the integration.

Start back working also for me today.
Look like crowdstrike issue

Thanks for checking.  Looks like still no local connection.
We should be able to close this issue, if it comes back we can open a new one.

Fine with that!
Thanks for the support @PeteRager

Thanks for checking. Looks like still no local connection.
We should be able to close this issue, if it comes back we can open a new one.

I still have this issue.  I can access thru the app and the website but nothing in HA.


[Tizen] Drop the Shared process model

This change drops the Shared process model. The app id is
obtained from the execution binary path (i.e. symbolic link).
The 'xwalk-launcher' and 'xwalkctl' utils are not build any more.
Dbus service files are not installed from the Crosswalk rpm file.
The code clean-up is not yet complete.
BUG=XWALK-3203

@pozdnyakov I tried to open a url with xwalk as follows:
$ xwalk http://google.com
It doesn't launch a webview.
It seems to be removed url handling in ApplicationSystemTizen::LaunchFromCommandLine.
Could you check this?


The Thing System claims that BlueZ requires 4.100 and 4.100

Quoting from http://thethingsystem.com/dev/Bootstrapping-the-Raspberry-Pi.html :
The noble library library is tested with BlueZ 4.100 and 4.101.
Is this still true?

@RussNelson good question, there's no need to build BlueZ from source when using the latest version of noble. I would recommend using whatever version of BlueZ that is available with the OS'es distribution/package manger.


Add ability to render to the host element if no Shadow DOM support is available.

It might be best to render to the host element if no Shadow DOM support is available. This just means that composing elements that have a render() function into other elements will cause errors with Incremental DOM.
If we do end up doing this, we should think about warning to the console. If not, we should throw an error requiring Shadow DOM support.

This has been implemented without warning, currently. If we think there should be warning support we should add this at a later point.

When you say "shadow DOM support", does that include polyfilled support?

yes


pass the copy of functions when modified since they are mutable

now z3_contrainsts and z3_functions are stored separately - the problem arises when saving - hence conversion back to z3 expression would be nice


Move has-changes Github Action to is own repo

See #3288
Signed-off-by: Antonin Bas<EMAIL_ADDRESS>

Codecov Report

Merging #3372 (12d204c) into main (06d3b14) will decrease coverage by 12.80%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main    #3372       +/-   ##
===========================================
- Coverage   54.94%   42.14%   -12.81%
===========================================
  Files         268      200       -68
  Lines       26753    24178     -2575
===========================================
- Hits        14699    10189     -4510
- Misses      10353    12929     +2576
+ Partials     1701     1060      -641

Flag
Coverage Δ

kind-e2e-tests
?

unit-tests
42.14% <ø> (-0.04%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/ovs/openflow/default.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/util/runtime/runtime.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/openflow/groups.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/agent/nodeportlocal/k8s/annotations.go
0.00% <0.00%> (-100.00%)
:arrow_down:

pkg/ovs/openflow/logs.go
9.52% <0.00%> (-90.48%)
:arrow_down:

pkg/apis/controlplane/register.go
0.00% <0.00%> (-90.00%)
:arrow_down:

pkg/agent/client.go
0.00% <0.00%> (-77.42%)
:arrow_down:

pkg/ovs/ovsconfig/ovs_client_linux.go
0.00% <0.00%> (-76.93%)
:arrow_down:

pkg/flowaggregator/certificate.go
0.00% <0.00%> (-76.58%)
:arrow_down:

pkg/agent/nodeportlocal/npl_agent_init.go
0.00% <0.00%> (-66.67%)
:arrow_down:

... and 159 more

/skip-all

s/to is own repo/to its own repo/


[Asana] ... Cannot create a task when "Project" field is populated

Extension
https://www.raycast.com/raycast/asana
Description
When trying to create a task where the "Project" field is populated, nothing happens. There is no error code. Pressing command+return does nothing. Clicking "Create task" does nothing.
Only when you keep "Project" field blank can a task be created.
Steps To Reproduce

In Create Task environment
Populate the task fields
Add a project to the project field
Press "Create task"

Current Behaviour
No response
Expected Behaviour
No response

So after taking a look, it seems like it's not specific to Asana's source code. For some reason, adding storeValue to a Form.TagPicker item makes it impossible to submit the form. Maybe it's linked to the latest Raycast release (v1.45).
I'm asking that to the Raycast team and will let you know.

The team will take a look at it next Monday. Sorry for the inconvenience 🙇♂

it should be fixed in v1.45.1


Copilot Chat: CC: Document import scenario tests

This is a follow-up task for this PR: https://github.com/microsoft/semantic-kernel/pull/1491

Closing since we don't plan on adding new features to CC


Add php apache-mod non zts versions

thanks @pawelchcki . The only ones which fail are from goland which are non related to my PR. Should I merge?


[BP-1.12][FLINK-21008][coordination] Register ClusterEntrypoint#closeAsync as shutdown hook for the cleanup

Backport #15396 to release-1.12.

Manually merged via f541f9da2ccb7c07bc349fe32c8c8ded75cac4aa.


Make SHAMap::fetchNodeFromDB const

When fetchNodeFromDB discovers a missing node in the database it
must reset the ledger sequence to 0.  By treating this as a logically
const operation, even though not physically const, many other member
functions can be made const, including compare.
With a single const_cast in SHAMap::fetchNodeFromDB, I'm able to make 36 SHAMap member
functions const, including SHAMap::compare.
@seelabs   @vinniefalco

:+1:

I considered mutable, but that implies SHAMap::setLedgerSeq should be const as well, and that is really logically not const.  However if you still strongly prefer mutable, I can make that change.

@HowardHinnant I see your point. No I don't feel that strongly about it. Although SHAMap's treatment of the ledger sequence could use improvement. It doesn't really belong in the class.

@vinniefalco That was a quick hack that needs to be cleaned up at some point. The way the missing node handler is invoked is definitely in need of a cleanup.

@JoelKatz Yes, exactly. The more of this I see, the more I am convinced that SHAMap would benefit from a refactoring that separates the pure container aspects from the logic that fetches missing nodes.

@seelabs: this looks pretty trivial, if we can get your eye we can mark it ready to go...

:+1:


fetch error

get error while fetching ...i had add proxy to the terminal  or vscode， it seems it doesn't work? ....

It seem like your having trouble 🤣

Been there... Are you developing in mainland?

I don't know if this is a network issue. Even if I use VPN, it won't work.  Who can help me

// 安装依赖
npm install node-fetch https-proxy-agent

// 修改代码   http://<IP_ADDRESS>:7890为你的代理地址
import fetch from 'node-fetch';
import {HttpsProxyAgent} from 'https-proxy-agent';

const resp = await fetch("https://api.openai.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
  },
  body: JSON.stringify(body),
  agent: new HttpsProxyAgent('http://<IP_ADDRESS>:7890')
});

// 安装依赖
npm install node-fetch https-proxy-agent

// 修改代码   http://<IP_ADDRESS>:7890为你的代理地址
import fetch from 'node-fetch';
import {HttpsProxyAgent} from 'https-proxy-agent';

const resp = await fetch("https://api.openai.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
  },
  body: JSON.stringify(body),
  agent: new HttpsProxyAgent('http://<IP_ADDRESS>:7890')
});

感谢！！解决了

// 安装依赖
npm install node-fetch https-proxy-agent

// 修改代码   http://<IP_ADDRESS>:7890为你的代理地址
import fetch from 'node-fetch';
import {HttpsProxyAgent} from 'https-proxy-agent';

const resp = await fetch("https://api.openai.com/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
  },
  body: JSON.stringify(body),
  agent: new HttpsProxyAgent('http://<IP_ADDRESS>:7890')
});

谢谢！！解决了
我是个js小白，请问”// 修改代码“这一部分的代码添加在哪里啊，或者说是修改哪个文件呀？


2019-09-23 DNC 3.0.0 GA

Updates to project file and yml files

Thank you for doing it again @MarkStega !


Instrument basic application error handling

Description
Linked to Issue: #58
Create an Error Page and an Error Boundary for the application. The Error Boundary is set up to wrap around all contents of the application <body> tag.
Additionally, 500 errors from the server in the streaming of the rendered application will redirect to the new Error Page with a 500 http status code. Redirects coming from React Router on server render will cause the server to respond with a redirect.
Changes

Create a page pages/ErrorPage/index.tsx
Create error boundary app/ErrorBoundary/index.tsx
Update app/dataRoutes/index.ts to route /error to pages/ErrorPage
Create utility app/dataRoutes/withErrorBoundary.tsx

Wrap app routes except for /error in app/dataRoutes/index.tsx in error boundaries

Update server/appHandler.tsx

Detect data router redirects, if they exist send a redirect response
If the handler query returns an http Response object (cannot be used to create a router) send a 500 redirect to /error
Refactor method of detecting a 404 router response

Array.find() exits early if a match is found, while Array.reduce() does not.
Suppy a onShellError option to renderToPipeableStream call - if triggered this will redirect the response to the /error route

Steps to QA

Pull down and switch to this branch
Update a page (ex: /pages/Home) to throw an error on render

Build and run the app, navigate to the changed page in the browser and ensure the server logs an error, and the page redirects to /error
Use links on the webpage to navigate away from and then to the page with error (client-side routing), ensure the error page renders even though the route is not /error

Error should be logged to browser console

We should create documentation about the app/ErrorBoundary Error Boundary and the app/dataRoutes/withErrorBoundary utility

@chichiwang Issue #67 created to track the creation of documentation


[Don't merge. FC] Marriage Abroad ticket 15

:warning: This is currently deployed for preview and is being checked by FCO, so do not merge please.
This is a massive ticket. However, each commit has been reviewed and merged into this branch via the standard pull request procedure. Summary of changes:
PART ONE: Same-sex marriages in Australia
PART TWO: Opposite and same-sex marriages in Belgium
PART THREE: Opposite sex marriages in Estonia
PART FOUR: Opposite and same-sex marriages in Colombia
PART FIVE: Opposite sex marriages in Greece
PART SIX: Opposite sex marriages in Kuwait
PART SEVEN: Opposite and same-sex marriages in Macao
PART EIGHT: Opposite sex marriages in Egypt
PART NINE: Opposite and same-sex marriages in Norway
PART TEN: Opposite and same-sex marriages in Montenegro
PART ELEVEN: Opposite sex marriages in Democratic Republic of Congo
PART TWELVE: Opposite sex marriages in Laos
PART THIRTEEN: Opposite sex marriages in Kazakhstan and Kyrgyzstan
PART FOURTEEN: Opposite sex marriages in Russia
PART FIFTEEN: Opposite sex marriages in China
PART SIXTEEN: Opposite and same-sex marriages in Mongolia
PART SEVENTEEN: Appointment links - opposite sex marriages in all other CNI countries
PART EIGHTEEN: Appointment links - opposite sex marriages in affirmation/affidavit countries
PART NINETEEN: CNI countries – customers no longer need a full birth certificate or naturalisation certificate as supporting documents
PART TWENTY: Consular same-sex marriage in the Seychelles
PART TWENTY-ONE: New Zealand same-sex marriages - incorrect advice
PART TWENTY-TWO: Custom outcome for marriages in Hong kong
PART TWENTY-THREE: removal of UK residency question and exceptional outcomes for Channel Islands and Isle of Man residents
PART TWENTY-FOUR Philippines - supporting documents

Are you looking for feedback on this pull request, @tadast? Or are you happy that each change has been reviewed independently?

It feels a bit dangerous having this hanging around as a pull request with that tempting BIG GREEN BUTTON. Unless you are soliciting comments, I wonder if it's enough just to have the remote branch i.e. close this PR...

I'm not expecting any feedback on individual changes, but feedback on overall approach and workflow is welcome.
Perhaps the only thing I'd do differently next time is try to generate regression HTML for each small PR, although that would incur a speed penalty. Perhaps I will try this workflow when addressing FC feedback. There shouldn't bee too many changes.
I know regression tests were not originally designed for use-cases like this, but if you're curious I can give you some feedback about it next time you're in the office.
I'll close this PR until all feedback that comes from fact check is addressed.


Deeper Grasshopper integration

For its usage inside Grasshopper, we should provide components that can be easily wired together instead of basing exclusively on the fact that our Python code is compatible with IronPython.
An incomplete list of GH components that would make to have:

[ ] Utilities

[ ] Unload modules

[ ] Robots

[ ] Load robot (from disk)
[ ] Configuration

[ ] ROS

[ ] Connect to ROS
[ ] Topic subscription
[ ] Service call
[ ] Load robot (from ROS)

[ ] MoveIt integration

[ ] IK
[ ] FK
[ ] Cartesian planning
[ ] Kinematic planning

[ ] Geometry

[ ] Mesh (Rhino to COMPAS Mesh)

This is -to a large extent- done, even thou some components are still in progress, but the mechanism to add them is established and a good set of initial components is already on compas_fab.


RBAC with ARM

Hi, how would I go about to add a my App Service Identity to the Read role of Configuration Store?
My current ARM looks like below (does not work and can't find any documentation on how this suppose to work.
    {
      "apiVersion": "2015-08-01",
      "name": "[parameters('apiAppName')]",
      "type": "Microsoft.Web/sites",
      "location": "[resourceGroup().location]",
      "identity": {
        "type": "SystemAssigned"
      },
      "tags": {},
      "dependsOn": [
      ],
      "properties": {...},
      "resources": [...]
    },
	{
      "name": "[parameters('configurationStore')]",
      "type": "Microsoft.AppConfiguration/configurationStores/providers/roleAssignments",
      "apiVersion": "2019-02-01-preview",
      "location": "[resourceGroup().location]",
      "tags": {},
      "properties": {}
    },
	{
      "name": "[concat(parameters('apiAppName'), '/Microsoft.Authorization/', parameters('roleNameGuid'))]",
      "type": "Microsoft.Authorization/roleAssignments",
      "apiVersion": "2018-09-01-preview",
      "properties": {
        "roleDefinitionId": "Reader",
        "principalId": "[resourceId('Microsoft.Web/sites', parameters('apiAppName')).identity.principalId]",
        "scope": "[resourceGroup().Id]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Web/Sites/', parameters('apiAppName'))]",
        "[resourceId('Microsoft.AppConfiguration/configurationStores/', parameters('configurationStore'))]"
      ]
    }

@ArvidNyden it should work if you grant your App Service Contributor role to the AppConfig store. This is because the relevant API in AppConfig service has access to both readonly and readwrite connection strings. I know this can be confusing. We are looking into an improvement on this in the future.

I get it to work with Read role if I do it in the portal. Its the ARM thats not working.

It shouldn't work with the Reader role due to the reason I mentioned earlier. Do you mind to double-check? Did you get a chance to try the Contributor role in your ARM template and see if it works?

@ArvidNyden I am closing this issue. Please let me know if this works for you or you have more updates.


Error message "git_not_found"

I'm getting this message (git_not_found) from Godot 3.1.1 on Ubuntu 18.04.
Also, the static func tr(key): is getting the error message:
Function signature doesn't match the parrent. Parrent signature is: 'String tr(String)'.

Me too =(
Manjaro Linux

*** Output Console ***

git_not_found

Same here.
Same output in console as above.
Environment:

Godot 3.1.1
Win 7 Ultimate 64 bit SP1

I created a Pull-Request. You can download it on my fork if you want. For me it works now :)
Godot 3.1.1


Add docs on gzip vs deflate

In gzip-hpp we support:

compressing data using gzip coding
decompressing data that has been gzip coded or deflate coded
detecting if data has been gzip coded or deflate coded

The difference between the two codings is important but small: gzip has a CRC header. I'm creating this ticket so that our docs can:

Make sure we get our terms right
Link to https://tools.ietf.org/html/rfc7230#section-4.2 for details (so we don't need to go into to much detail)

@GretaCB - can you do a pass at the docs and code comments to figure out where best to link to https://tools.ietf.org/html/rfc7230#section-4.2?
I found that ietf doc via https://nodejs.org/api/zlib.html#zlib_compressing_http_requests_and_responses.

I took a look at the docs this morning after merging the werror PR, and I wanna do a quick pass over. I'll include this as well.

Sounds good. https://github.com/ebiggers/libdeflate#deflate-vs-zlib-vs-gzip is another reference explaining the differences in terms.


Expose an API to get and set URL queryParams.

 Issue by arunoda
Thursday Aug 11, 2016 at 06:22 GMT
Originally opened as https://github.com/storybooks/storybook-ui/issues/25

With that, addons can use it as a data store (or a way to save preferences).

 Comment by mnmtanish
Friday Sep 02, 2016 at 08:23 GMT

I think we can close this issue

 Comment by ndelangen
Wednesday Mar 15, 2017 at 08:39 GMT

This exists

It was added in storybook-addons


Add Interactable event via script

Describe the problem
It would be useful to add events to interactables via script. Imagine cases in which we add the script at runtime.
Describe the solution you'd like
It would be great a simple way to do that (still I can't find out how). Ok, maybe not same as OnClick event that is completely exposed, but something easy to implement.
Describe alternatives you've considered
Use a global listener instead of interactable script
Additional context
Same for interactable receiver script, and so on.

@fcagnetta , hello! Can you elaborate on what you mean by "add events"? Do you mean just subscribe to the OnClick Unity event inside Interactable.cs and thus be able to assign actions at runtime when a user selects the Interactable? If so, this is possible.
var interactable = myGameObject.AddComponent<Interactable>(); interactable .OnClick.AddListener(YourFunction);

Hi Troy, sorry I try to explain better:
If you programmatically add Interactable component to an object, and then you want to add a listener for OnClick event and for OnFocus (on and off) event, and X other event you may need, how can you do that? OnClick event is automatically provided so you can just add a listener to it, but what about the others?
In the inspector you can just click add event and choose among a list of events, then you drag the script on which the method you want to call resides onto.
How to script this?
Thanks

Ah I see now. I know in Unity inspector it says "Add event", but to be all on the same page, you mean add InteractableEvent objects dynamically. The "Add event" in the inspector I am pretty sure just represent InteractableEvent objects. The property we want is Interactable.Events and I believe if added correctly this could work. But the InteractableEvent creation isn't super obvious. For example, protected SetupEvent() in Interactable gets called on Awake so you would have to link in those pieces yourself?
@killerantz can you help with better guidance?

Meanwhile I would like to add a bit of code of a use case for the OnClick() event registration:
Interactable interactable = gameObject.AddComponent<Interactable>();
interactable.IsGlobal = true;
interactable.OnClick.AddListener(() => SomeGuy.Instance.HelloWorld());

I get a null exception when Interactable.cs runs SetupStates() (line 272)
StateManager = States.SetupLogic(); - States is null. Maybe a call to GetStates() is needed instead of using States as is.

A good way to do this is implement the IInteractableHandler interface and call the Interactable.AddHandler(IInteractableHandler handler) method. This will call two events methods and track all the state changes currently being set in Interactable.
        public virtual void OnStateChange(InteractableStates state, Interactable source)
        {
            print(source.HasFocus);
            // the state has changed, do something new
            /*
            bool hasDown = state.GetState(InteractableStates.InteractableStateEnum.Pressed).Value > 0;

            bool focused = state.GetState(InteractableStates.InteractableStateEnum.Focus).Value > 0;

            bool isDisabled = state.GetState(InteractableStates.InteractableStateEnum.Disabled).Value > 0;

            bool hasInteractive = state.GetState(InteractableStates.InteractableStateEnum.Interactive).Value > 0;

            bool hasObservation = state.GetState(InteractableStates.InteractableStateEnum.Observation).Value > 0;

            bool hasObservationTargeted = state.GetState(InteractableStates.InteractableStateEnum.ObservationTargeted).Value > 0;

            bool isTargeted = state.GetState(InteractableStates.InteractableStateEnum.Targeted).Value > 0;

            bool isToggled = state.GetState(InteractableStates.InteractableStateEnum.Toggled).Value > 0;

            bool isVisited = state.GetState(InteractableStates.InteractableStateEnum.Visited).Value > 0;

            bool isDefault = state.GetState(InteractableStates.InteractableStateEnum.Default).Value > 0;

            bool hasGesture = state.GetState(InteractableStates.InteractableStateEnum.Gesture).Value > 0;

            bool hasGestureMax = state.GetState(InteractableStates.InteractableStateEnum.GestureMax).Value > 0;

            bool hasCollistion = state.GetState(InteractableStates.InteractableStateEnum.Collision).Value > 0;

            bool hasCollistion = state.GetState(InteractableStates.InteractableStateEnum.VoiceCommand).Value > 0;

            bool hasCustom = state.GetState(InteractableStates.InteractableStateEnum.Custom).Value > 0;
            */
        }

        /// <inheritdoc />
        public virtual void OnVoiceCommand(InteractableStates state, Interactable source, string command, int index = 0, int length = 1)
        {
            // Voice Command Happened
        }

        /// <inheritdoc />
        public virtual void OnClick(InteractableStates state, Interactable source, IMixedRealityPointer pointer = null)
        {
            // Click Happened
        }

Another option is to have a component that monitors Interactable.HasFocus or Interactable.HasPress on update. Since we could be trying to tack any combination of states to detect the pattern we care about, we didn't set up all the state changes as events, but an OnStateChanged event may be helpful.

At the moment, I workarounded this with a script which implement a couple of interfaces, including IMixedRealityInputHandler and its "sisters", and programmatically attached to the gameobjects I need to interact with.

Meanwhile I would like to add a bit of code of a use case for the OnClick() event registration:
Interactable interactable = gameObject.AddComponent<Interactable>();
interactable.IsGlobal = true;
interactable.OnClick.AddListener(() => SomeGuy.Instance.HelloWorld());

I get a null exception when Interactable.cs runs SetupStates() (line 272)
StateManager = States.SetupLogic(); - States is null. Maybe a call to GetStates() is needed instead of using States as is.

I've just verified that adding OnClick event handler to dynamically instantiated interactable actually works in the GA release, added a test for this. Yay!

Fixed


Issue switching to any realm besides NA

Using parameters, every time i try to log on to EU or AS, it will say this account is locked due to suspicious activity. I have to go and get security code for email. I dont have MFA on any of these accounts. Have no issues running them on NA server. Did I miss something?

I've not personally experienced this, although I have heard of others bring up this issue.
Have you tried launching from BNet to each of those regions?
Are you using a VPN?

Yes i tried launching in each region from bnet and it works, but as soon as I try in loader i get same error. It will only show offline and if you click online you get that notice about being locked. I am not using VPN. Using Windows 11. It won't even let me connect to them using tokens either

Hey there.
There shouldn't be any difference from launching via script with Token vs launching via Battlenet as they both use the same method of authentication. I would only expect issues with the token method if the PW has been changed or if MFA has been enabled/disabled as these actions may render the token invalid (requiring it to be setup again).
Have you had much luck in the last few days? This issue seems to resolve itself from others that have mentioned it to me.

nope no luck, I even left them in EU for a few hours to see if that was the issue, but it always goes into offline mode on EU or Asia. Works perfectly fine on NA.

What happens when you try connecting with shortcuts to EU (instructions here).
Note that this method will not work with KR as it's still down.
If you still have issues, perhaps try resetting your password.

it does the same thing, goes into offline mode if i try connecting to EU. Works just fine using NA. I don't know if im doing something wrong or my pc just hates me.

That's really odd. I won't be able to help you though sorry as the issue lies with your accounts.
Maybe try resetting your password (as I think that email suggests) and if issues persist, contact Blizzard for support on why your account keeps getting marked as suspicious.
Obviously if you've used a VPN to authenticate at any point, connect from various locations or have given your account credentials out to someone else, this will cause these issues.

only thing i can think of is im using a new computer on these accounts but have played on all of them already before using this loader

I know this issue is annoying for you but I'm going to close this issue off as it's not something that I or this script can assist with further.
I would suggest resetting your passwords, only logging in from one network location and from one computer.
I'm not sure how well tokens will work if reused on another computer so I would redo that too.
If issues persist, you could look at deleting your user config files (in the saved game folder) and start fresh.
Another thing to try is deleting cookie.bin.
If none of that helps, you may be best to go to Blizzard forums to troubleshoot why your account keeps nagging you.

@rushing01 Did you ever get this resolved? Having the same thing happen to my 3 accounts and it's infuriating...

Do your passwords have any special characters in it? If so maybe try one without asterix "*", comma ",", dash "-" or question mark "?".

Hey thanks for responding,
No, nothing like that just a-z 0-9.
Would constantly get this error if I switched regions whilst logged in via -username and -password arguments to d2r.exe

I ended up avoiding this issue but via the use of web tokens and the registry but what was here was a little too fancy for my purposes so I stared from scratch https://gist.github.com/Skillossus/e65aacb6388fa570e2df86611441cad5


Add back ToolsVersion/xmlns to VB projects

This lets these projects be opened on VS 2017 RTM without the selector VSIX to be installed. When the selector is installed, it will be opened in CPS.
There are still some caveats (for example, source files don't show in the VB projects) with this approach that I'll plan on documenting on the Getting Started.md.

tag @dotnet/project-system


SSL cert is invalid for cdn.winget.microsoft.com

Brief description of your issue
Hello,
It seems to me the SSL cert is invalid for cdn.winget.microsoft.com. As a side effect, this causes winget upgrade to return error such as Failed in attempting to update the source: winget.

winget version: v1.6.3482

Steps to reproduce
Access https://cdn.winget.microsoft.com/cache from browser or cli.
cli - powershell
> invoke-webrequest -UseBasicParsing -Uri https://cdn.winget.microsoft.com -verbose pwsh
VERBOSE: Requested HTTP/1.1 GET with 0-byte payload
Invoke-WebRequest: The remote certificate is invalid according to the validation procedure: RemoteCertificateNameMismatch, RemoteCertificateChainErrors

Expected behavior
The url is accessible without error.
Actual behavior
Getting certificate error. Screenshot shows the error:

Environment
Windows Package Manager v1.6.3482
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.3007
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.0

Winget Directories
-------------------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

From a different computer, the SSL cert was returned correctly. So this may be an issue with CDN not fully refreshed. To help with troubleshooting, here is the browser request id (to https://cdn.winget.microsoft.com/cache) that returned invalid the SSL cert in earlier screenshot.
RequestId:10307c21-f01e-002a-46db-4bdc22000000

Are you sure that there is no HTTP intercept (ex. Fiddler), DNS redirect (hosts file), or other MITM, intentional or otherwise?  This seems like an issue specific to the one machine at this time.

Thank you @JohnMcPMS, it does look like machine specific. I'll check on my side.


Added google analytics tracking code to head of index.html

This bit of code adds two scripts to the top of the head tag; both are necessary for user tracking with Google Analytics.
Issue

Just wanted to mention that there is already a block of code with Google Analytics in the footer, with a space to add the tracking id. So you might want to add your ID there instead.

The code looks good after reviewing it line by line. Though where we have something to consider as a team is the fact we have this pull request and another pull request that both addresses google analytics. Both are done differently. I found this information on google and found it might be beneficial to helping when it comes to how we discuss the two different requests. I'm curious about what others think is the best way to go when it comes to tracking?

I say we use the newer tracking script provided by Google just to be on the safe side, rather than the script that was already included in this repository.

As far as multiple tracking codes or scripts, it shouldn't be a problem from what I am reading in the documentation. The spec does suggest to place Google Analytics scripts as close to the top of your head tag as possible. Moving your analytics script to the top might be worth considering. We will end up with different contributors to this site monitoring different activity if we go this route. I'm cool with that if ya'll  are.


Resolve "Provide update functionality"

Closes #26

Codecov Report
Patch coverage: 100.00% and no project coverage change

Comparison is base (eb2d7e1) 100.00% compared to head (7b013f8) 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #31   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            6         7    +1
  Lines          111       160   +49
=========================================
+ Hits           111       160   +49

Impacted Files
Coverage Δ

cmd/update.go
100.00% <100.00%> (ø)

util/manual.go
100.00% <100.00%> (ø)

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

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


Sound when you buy

the sound when you buy a card didn t work!

Fixed the issue with the latest version


Command registration to RenderBundleEncoder not captured

Hi, I am developing a Web3D library and just working on WebGPU support.
In my library, drawing is always done using the render bundle.
But, the current WebGPU Inspector does not seem to capture the registration of commands to the RenderBundleEncoder (such as setBindGroups and draw).
Is it possible to improve the Inspector so that the registration of commands to the RenderBundleEncoder is also captured?

One option would be to capture frame 0 (or whichever frame you're creating the render bundles in). You can change the Capture from Immediate to Frame.
That will be tough to capture render bundles so they're available from any frame capture, but I'll try to figure it out.
Normally it doesn't capture commands until you request the capture, but by the time you're capturing the frame, the render bundle has already been created. To generally capture render bundles, it would always have to capture commands that are part of a render bundle. I can probably do that, possibly with an option.
The other challenge I'll have to figure out is the UI. The Frame Capture lays out the commands in the frame, but I'll need to figure out a good way to lay out the commands in a render buffer. Is it a collapsed group under the execute command? Is is something in the inspection of the execute command? Is it something in the inspection of the RenderBundle object? I'll have to play around with it, figure out something that works with the UI and doesn't clutter too much. RenderBundles could potentially be quite large.
So yeah, definitely want to do this, it'll take a bit to figure out.

One option would be to capture frame 0 (or whichever frame you're creating the render bundles in). You can change the Capture from Immediate to Frame.

The screenshot above was captured with the code in the library modified to disable the RenderBundle cache and register commands to the RenderBundleEncoder every frame.
Nevertheless, the command registration to the RenderBundleEncoder does not appear to be captured.

So yeah, definitely want to do this, it'll take a bit to figure out.
Thank you very much. I understand that this is probably a hard task. If experimental ones are implemented, I can report some kind of usage feedback.

I started on this, but still have a ways to go. It will at least capture the RenderBundle objects for inspection now, but not its command contents. Inspecting a RenderBundle object in the inspector panel will display the descriptor the RenderBundleEncoder was created with. The current changes have been pushed to git.
Still have a ways to go, but the family is telling me to get off the computer :-).

Thank you for your prompt response. But please take it easy and spend time with your family😌

I tried the latest inspector and confirmed that the addition of commands to the RenderBundleEncoder has been traced. Thank you! It’s very useful!
And while I understand that this is only an interim response, I have noticed one thing.

Creating a RenderBundleEncoder and adding commands to a RenderBundleEncoder should be operations unrelated to RenderPass, but they are currently in and out of the RenderPass frame in the UI. How to display the RenderBundleEncoder on the UI seems to be an issue in the future.

I'll work on improving the command grouping with render bundles. Command grouping is a really hard problem with WebGPU.

I'm running out of colors...

Started playing around with displaying the commands that get executed by executeBundles. This attempt puts the commands in the command inspection.
These changes are in the render_bundle branch.

It is great to be able to trace the contents of executeBundles.
However, in the current version (<PHONE_NUMBER>3183e7227ace5237b5393f8aa3baa9 ) the behaviour of the UI seems a bit unstable. Even if you open the accordion for each item on the right-hand side, it may immediately close by itself.

Anyway, many libraries will be using RenderBundle to speed up the rendering, so this feature addition is very good news.

The "immediately close by itself" is probably because there are still some buffers being read over (the "Loading images" status line), and there's a bug where it refreshes the GUI as the buffers are read in. But there's probably a better way to present the UI for them, I don't really like the current implementation, it was just the easiest to check if I was capturing the bundle commands correctly.  Maybe as a collapsible group in the command list itself, like a shadow DOM sort of thing... I'm still playing around with it.
I wish I could use render bundles in the Unity WebGPU driver I develop, but the driver is too low level and I can't really use them. Maybe one day I'll figure out how fit them in, but since WebGPU is the only one with that concept (besides GL's display lists), the concept doesn't really fit into a cross platform engine very well.

Playing around with the UI some more. Moved the expanded renderBundle commands into the command list, collapsed by default. You can click on the + on the executeBundles command and it will expand out the render bundle commands that are executed by it. Selecting a command in the render bundle will show the inspection info for that command.

I have tried the latest version and it is working very nice.
Thank you very much!

The recent changes have been released to the chrome store version now.

Thank you. As for me, I think the purpose of this Issue has been fulfilled and you can close it at any time


WIP signed commit

This looks great, what is missing here ? I can do it myself with a bit of direction, is the last missing bit I need to have a perfect cocogitto for me :smile:

Hello @tglman, unfortunately this is far from being ready.
Last time I looked into this I was not really happy with the current state of gpgme bindings.
The main issue with it is the requirement to install development lib  :

These crates require the gpgme library and its development files

I want to avoid relying on dev libs. Fortunately there is an emerging alternative called sequoia-pgp which provide a native rust OpenPGP implementation.
I did have not looked into it since, but is seems to have matured a lot.
Because we won't be using gpgme bindings, you will probably want to ignore this PoC implementation and restart from scratch.
To get started, you probably want to read the following :

Git-Tools-Signing-Your-Work
sequoia guide
https://github.com/rust-lang/git2-rs/issues/507

When you feel confident with the implementation just create a commit_signed function without modifying the current cocogitto commit API. We should get a simple test passing before thinking about integrating this.
It could look something like this :
    #[sealed_test]
    fn create_signed_commit_ok() -> Result<()> {
        init_builtin_logger();
        // Arrange
        run_cmd!(
            git init;
            git config --local user.name Tom;
            git config --local user.email<EMAIL_ADDRESS>            // Not sure this is needed since we will use sequoia
            git config --local gpg.program /usr/bin/gpg
            // Will need some additional test setup to get the key available
            // Ideally we would add a test key to a temporary keystore, don't know if that is possible
            git config --local user.signingkey A6B167E1
            git config --local commit.gpgsign true
            echo changes > file;
            git add .;
        )?;

        let repo = Repository::open(".")?;

        // Act
        let oid = repo.create_commit_signed("feat: a signed commit");

        // Assert
        let expected_log_content = run_fun!(git log --pretty="format:%h %G? %aN  %s" -1)?;
        assert_that!(oid).is_ok();
        assert_that!(expected_log_content).contains("G Paul Delafosse  feat: a signed commit");
        Ok(())
    }

Once we have the test passing, it will just be a matter of integrating with the current API.
Intuitively I would try to stick close to git cli and add a coco -S flag.
Also reading the git config to enable signing on every commit would be nice.
We probably don't want to re-expose git config in cog.toml since it would lead to situation where commit made with coco would be automatically signed and git commit would not (and vice versa).
Last but not least we need to read the signing key passphrase in a secure manner (i.e not writing it to the user shell history).
Let me know if you still want to pick this, I will be happy to help you if needed.

replaced with #192


Name suggests it’s like length

The name “codepoints” to me suggests it returns the number of code points in the string, like length does. Might there be another similar name that suggests it’s an iterator?

Why do you think it suggest such a thing? The name codePoints doesn’t have this connotation to me. If it were a getter (i.e. string.codePoints;) then I’d see the confusion, but it’s a method (i.e. string.codePoints();) which to me suggests it doesn’t just return a number.

Would you expect array.values() to return the number of values in the array?

That’s a fair point; the getter definitely has more of that connotation to me than the method.
This isn’t that big a deal, i just wanted to bring it up :-)


add request poll keyboard type

Thanks! Schema is already updated to the latest version (note that it also has been extracted to separate gem)


What is the workaround for migrating 1-2 database from Azure SQL Managed Instance To Azure SQL Database

Can you tell me the workaroud for migrating 2 databases from Azure SQL Managed Instance to Azure SQL Database, we cannot use Transactional Replication since out target database needs to be in RW mode always.

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

ID: 28ca1f7f-5a34-0f23-10ce-3ff24c76db97
Version Independent ID: 5c4a22c4-78fc-911d-9fa0-8dfab1653b6e
Content: Azure SQL Database Managed Instance Overview
Content Source: articles/sql-database/sql-database-managed-instance.md
Service: sql-database
GitHub Login: @bonova
Microsoft Alias: bonova

@Anmolgan81 Yes. Managed Instance can act either as Publisher or as Subscriber. I need to also correct my earlier comment about Azure SQL Database single instance. It has Publisher and Subscriber capabilities.

@MashaMSFT for awareness

@Anmolgan81 This document provides details on all the full replication capabilities between Managed Instance and Single Instance: Configure replication in an Azure SQL Database managed instance database. No workaround required.
We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


Add location option to GoogleApi.BigQuery.V2.Api.Jobs.bigquery_jobs_query/4

I've fixed the GoogleApi.BigQuery.V2.Api.Jobs.bigquery_jobs_query/4 because of lack of the location param users can input.
According to this document, users should specify the location when they use a server located in countries without the US and EU.
But, the current bigquery_jobs_query/4 doesn't allow the location param. So, for example, when users use the server located in asia-northeast1, the all queries always fail with the below error, since lack of this location param users can give as arguments:
Not found: Dataset ` your database name` was not found in location US\

In this patch, I've made this function allow the location param.
I'm glad if you confirm this PR. And, if you have any questions or concerns, please let me know.
Thank you.

@googlebot I signed it!

Sorry to bother you.
I've found that we have to pass the location param to not bigquery_jobs_query/4 but GoogleApi.BigQuery.V2.Model.QueryRequest struct data like the below:
    GoogleApi.BigQuery.V2.Api.Jobs.bigquery_jobs_query(
      conn,
      @project_id,
      [
        body: %GoogleApi.BigQuery.V2.Model.QueryRequest{
          location: "asia-northeast1",
          query: "your query"
        }
      ]
    )

I don't have to fix this function. So, I close this PR.
Thank you.


Integration tests are not run because clickhouse-server does not start in testcontainers

Describe the bug
Actually it is not a bug, it is an issue with integration tests.
According to CONTIBUTING.md the integration tests use testcontainers to run clickhouse-server.
When I try to run the integration tests they are failed with error
2024-01-25 16:10:14:046 +0100 [main] ERROR clickhouse/clickhouse-server:latest - Could not start container java.lang.IllegalStateException: Wait strategy failed. Container exited with code 70

The actual problem is that clickhouse-server does not start inside docker and fails with error:
2024.01.25 14:15:40.021419 [ 20 ] {} <Error> RaftInstance: got exception: open: Address family not supported by protocol [system:97] on port 9234
2024.01.25 14:15:40.021583 [ 20 ] {} <Error> void DB::KeeperDispatcher::initialize(const Poco::Util::AbstractConfiguration &, bool, bool, const MultiVersion<Macros>::Version &): Code: 568. DB::Exception: Cannot create interserver listener on port 9234. (RAFT_ERROR), Stack trace (when copying this message, always include the lines below):

This happens because clickhouse-keeper starts in ipv6 mode by default, but in docker ipv6 is disabled by default.
Also it's not obvious from the contribution guide that ipv6 support is required to run integration tests.
According to this issue  ipv6 can be disabled for clickhouse keeper with option keeper_server.enable_ipv6=false
My question:
Does it make sense to change clickhouse-keeper configuration for integration tests and disable ipv6?   I can prepare pull request for it if there are no reasons to keep the current behavior.
Steps to reproduce

Run integration tests: mvn clean verify - ipv6 should be disabled in docker (by default)

Expected behavior
Integration tests are run

@mbaksheev
Can you provide the the machine specs to reproduce?

@mzitnik
HP HP EliteBook 850 G8 Notebook PC
CPU: 11th Gen Intel® Core™ i7-1165G7 @ 2.80GHz × 8
--------------------------------------------------------------
OS: Ubuntu 22.04.3 LTS 6.5.0-14-generic
--------------------------------------------------------------
Docker version 24.0.7, build afdd53b
--------------------------------------------------------------
Java which one is set in ~/.m2/toolchains.xml:
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing)

I'm not sure what kind of specs you would like to see, please let me know if need to provide something more

@mzitnik
I found that ipv6 is disabled on my laptop (because of corporate network reasons) and I have no option to enable it (again because of corporate network reasons).
What do you thin it is possible to have ipv6 disabled by default like I proposed in PR #1533 since it is more universal approach?


sfml 2.6 : Unable to find native library sfml-activity-d

Hello,
Thank you for this template project,
I am trying to follow your guide with SFML 2.6
Build passed but on execution I have a fatal error :
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.you.example.debug/android.app.NativeActivity}: java.lang.IllegalArgumentException: Unable to find native library sfml-activity-d
Because I use SFML 2.6, I changed the CMakeLists.txt a bit by the following :
cmake_minimum_required(VERSION 3.22)

project(Example)

set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -u ANativeActivity_onCreate")

set(CMAKE_MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)

set(PATH_TO_SFML ${ANDROID_NDK}/sources/third_party/sfml)

set(SFML_DIR ${PATH_TO_SFML}/lib/${ANDROID_ABI}/cmake/SFML)
message(STATUS ${SFML_DIR})
find_package(SFML 2.6 COMPONENTS system window graphics REQUIRED)

set(PATH_TO_SOURCES src/main/cpp)
add_library(example SHARED
        ${PATH_TO_SOURCES}/main.cpp
        )

target_compile_features(example PUBLIC cxx_std_20)

add_library(openal SHARED IMPORTED)
set_target_properties(openal PROPERTIES IMPORTED_LOCATION_RELEASE ${PATH_TO_SFML}/extlibs/lib/${ANDROID_ABI}/libopenal.so)
set_target_properties(openal PROPERTIES IMPORTED_LOCATION_DEBUG ${PATH_TO_SFML}/extlibs/lib/${ANDROID_ABI}/libopenal.so)

target_link_libraries(example
        log
        android
        sfml-system
        sfml-window
        sfml-graphics
        sfml-activity
        -Wl,--whole-archive sfml-main -Wl,--no-whole-archive
        openal
        EGL
        GLESv1_CM
        )

Everything on the SFML compilation went good. All .so files are here.
I don't understand why sfml-activity-d is not found, do you have an idea ?

Thank you for the quick answer.
Yes libsfml-activity-d.so is packed into the apk :

Nothing differs from your project environment but sfml version to 2.6 and NDK version to 25.2.9519653
Here is the build.gradle
plugins {
    id 'com.android.application'
}

android {
    defaultConfig {
        applicationId "com.you.example"
        versionCode 1
        versionName "1.0"

        externalNativeBuild {
            cmake {
                cppFlags ""
                arguments "-DANDROID_STL=c++_shared"
                abiFilters 'armeabi-v7a'
            }
        }
        targetSdk 33
        minSdk 22
    }

    splits {
        abi {
            enable true
            reset()
            include "armeabi-v7a"
            universalApk true
        }
    }

    buildTypes {
        release {
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
            externalNativeBuild {
                cmake {
                    cppFlags "-O2"
                }
            }
        }
        debug {
            externalNativeBuild {
                cmake {
                    cppFlags ""
                }
            }
            versionNameSuffix "-d"
            applicationIdSuffix '.debug'
        }
    }
    externalNativeBuild {
        cmake {
            path file('CMakeLists.txt')
        }
    }
    buildToolsVersion '33.0.0'
    ndkVersion '25.2.9519653'
    compileSdk 33
    namespace 'com.you.example'
}

dependencies {
    implementation 'androidx.appcompat:appcompat:1.5.1'
}

I put the project folder in attachments, and the apk.
project.zip

I use my own smartphone to test, it is a xiaomi redmi 8. I have already managed to have a sfml 2.5 app working, but I didn't use a cmakelists.txt file but the Application.mk stuff. I would like to use your method with cmake as I am accustomed with cmake.
I didn't try with  armeabi-v8 yet, I'm going to try it out


No instructions to use BuildStream from master

See original issue on GitLab
In GitLab by [Gitlab user @tristanvb] on Aug 31, 2019, 12:22
Summary
As also outlined at https://gitlab.com/BuildGrid/buildbox/buildbox-common/issues/15 (seems that buildbox-common and buildbox-casd are also lacking documentation on how to obtain dependencies and install), since the recent move to buildbox-casd, it is no longer clear how to run BuildStream master on your host, or even how to run tox locally to run the tests.
Steps to reproduce
Be a user or developer and update your branch to master, now try to do anything, like running BuildStream or the tests under tox.
What is the current bug behavior?
The tests break because there is no buildbox-casd in the PATH.
What is the expected correct behavior?
BuildStream works, or provides you with documentation to make it work (of course "just working" is often preferable if it can be managed).
Possible fixes
Amend the CONTRIBUTING.rst with a clear explanation of:

What dependencies you will need from your distro, e.g. the grpc C++ stuff
What dependencies you will need to build and install manually, e.g. buildbox-common and buildbox-casd projects
Links to documentation on how to install the required dependencies
Probably some documentation about what branch of the buildbox projects should be used
Would be nice to have some recommendation about using a local user specific install prefix for these, like ${HOME}/.local

In GitLab by [Gitlab user @tpollard] on Sep 5, 2019, 15:59
There's definitely some comments in tox.ini that she be put into contributing, like how to run the source tests

In GitLab by [Gitlab user @BenjaminSchubert] on Sep 9, 2019, 09:13
We have the instructions on the BuildStream website: https://buildstream.build/buildbox_install.html
Would it be worth pointing to there instead of duplicating the aprts that are already there?
Can be found from: https://buildstream.build/source_install.html#installing_dependencies

In GitLab by [Gitlab user @traveltissues] on Nov 12, 2019, 10:47
[Gitlab user @BenjaminSchubert] I'd prefer not to duplicate when possible so I think we should just point to existing instructions

In GitLab by [Gitlab user @cs-shadow] on Aug 4, 2020, 22:19
mentioned in commit f8fd44ad4534e402af8206b9249029d6ea81e2be

In GitLab by [Gitlab user @cs-shadow] on Aug 4, 2020, 22:19
mentioned in merge request !2016

In GitLab by [Gitlab user @cs-shadow] on Aug 4, 2020, 22:20
I agree with what's been said above and now that the install docs have been moved back, it's even easier to link to these docs.
I have created !2016 to add such a link, please have a look.

In GitLab by [Gitlab user @cs-shadow] on Aug 7, 2020, 13:43
mentioned in commit 28c8f744c36cf8dd8e9746490b6b9a936611541a

In GitLab by [Gitlab user @cs-shadow] on Aug 10, 2020, 08:19
mentioned in commit 7dffdec0163983e0534e2e4d5f1bf97c543c3346

In GitLab by [Gitlab user @marge-bot123] on Aug 10, 2020, 09:33
mentioned in commit 9351fbda2dfeda27a420eeeb176aa70c70331b44


Add https://agentcooper.github.io/typescript-play/

I took the liberty of adding this playground as the first entry on the list, since it supports latest TS (2.8) and provides more compiler options than the original one.

Nice! Thank you @agentcooper


Provide TestHarness to make testing future / combinator implementations easier.

Depends on #597
This PR adds a new type: executor::TestHarness. This type is very similar to Spawn but is intended to be used from the context of tests. As such, it provides a slightly different API. While this functionality could be provided directly by Spawn, Spawn already has a fairly busy API surface and some of the capabilities of TestHarness doen't make as much sense when used in "real code".
This PR only provides the ability to wrap a Future for now, but at a later time, support for Stream and Sink can be added.
The idea would be for TestHarness<impl Stream> to provide:

impl Iterator
poll_next(&mut self) -> Poll<Option<Self::Item>, Self::Error>
wait_next_timeout(&mut self) -> Result<Option<Self::Item>, TimeoutError<Self::Error>>

And for TestHarness<impl Sink>:

try_send(&mut self, item: T::SinkItem) -> StartSend<T::SinkItem, T::SinkError>
send_timeout(&mut self, item: T::SinkItem) -> Result<(), SendTimeoutError<T::SinkItem, T::SinkError>>

Hm I'd imagine that if we want to make futures-based tests easier to write we could probably go farther? Maybe we could try to collect test-related helpers in a futures-test crate or something like that? (avoid exposing more surface area here)


ValueError in TextCategorizer.get_loss with multi class classification case

Python: 3.6.8
Spacy: 2.1.8
Spacy-pytorch-transformers: 0.2.0
Windows 10
Loaded Model: de_pytt_bertbasecased_lg
I am trying to adapt your sample to a multi class classification usecase with my own dataset, consisting of 42 classes.
As suggested, I am using:
textcat = nlp.create_pipe(
    "pytt_textcat", config={"architecture": "softmax_class_vector"}
)

and afterwards I am manually adding the classes with:
for label in list(range(0, 42)):
    textcat.add_label(str(label))

Since the sample heads to a binary classification, I had to modify the _preparte_partition method like this:
def _prepare_partition(text_label_tuples, *, preprocess=False):
    texts, labels = zip(*text_label_tuples)
    if preprocess:
        # Preprocessing can mask errors in our handling of noisy text, so
        # we don't want to do it by default
        texts = [preprocess_text(text) for text in texts]
    cats = [{str(i): 1.0 if i==y else 0.0 for i in range(42)} for y in labels]

    return texts, cats

such that I could follow your implementation. If I try to run the finetuning, the following errors occurs:
['sentencizer', 'pytt_wordpiecer', 'pytt_tok2vec']
Loaded model 'de_pytt_bertbasecased_lg'
Loading data...
Using 2557 training docs, 666 evaluation)
Training the model...
LOSS      P       R       F
Traceback (most recent call last):
File "new_converter.py", line 222, in
plac.call(main)
File "bert_spacy_venv\lib\site-packages\plac_core.py", line 328, in call
cmd, result = parser.consume(arglist)
File "bert_spacy_venv\lib\site-packages\plac_core.py", line 207, in consume
return cmd, self.func(*(args + varargs + extraopts), **kwargs)
File "new_converter.py", line 95, in main
nlp.update(texts, annotations, sgd=optimizer, drop=0.1, losses=losses)
File "bert_spacy_venv\lib\site-packages\spacy_pytorch_transformers\language.py", line 110, in update
component_cfg=component_cfg,
File "bert_spacy_venv\lib\site-packages\spacy\language.py", line 475, in update
proc.update(docs, golds, sgd=get_grads, losses=losses, **kwargs)
File "pipes.pyx", line 969, in spacy.pipeline.pipes.TextCategorizer.update
File "bert_spacy_venv\lib\site-packages\spacy_pytorch_transformers\pipeline\textcat.py", line 58, in get_loss
loss, d_scores = super().get_loss(docs, golds, scores)
File "pipes.pyx", line 997, in spacy.pipeline.pipes.TextCategorizer.get_loss
ValueError: operands could not be broadcast together with shapes (24,2) (24,42)
I have debugged my way through your implementation and I am really wondering where (24,2) might come from.
Maybe it's just a simple mistake I am making. Any help is appreciated!

I might be wrong, but I think there is a small bug in implementation of softmax_last_hiddent architecture in this line:
return chain(
        get_pytt_last_hidden, flatten_add_lengths, Pooling(mean_pool), Softmax(2, width)
    )

The Softmax(2, width) enforces the last layer to have 2 neurons, which means it does not respect the number of classes. I think it should be Softmax(nr_class, width) instead.
However, you are using softmax_class_vector architecture (which does not have the above problem in its implementation). I am not sure why this error happens with that architecture and why there is only 2 neurons in the last layer as shown in the error!

Just to leave an update: Currently the finetuning process works with using
textcat = nlp.create_pipe(
    "pytt_textcat", config={"architecture": "softmax_pooler_output"}
)

as an architecture. As soon as I am trying something else, the mentioned error occurs.

Thanks @mkaze --- fixed by #40


[TESTING ONLY] Misc/combine 8044 8046 8052

numba_smoketest_cpu_yaml_86

numba_smoketest_cpu_yaml_86

This is largely ok, a few failures:

ppc64le failing on all the AOT tests (numba.tests.test_pycc) with common issue ImportError: pycc_test_nrt.cpython<...>.so: undefined symbol: pthread_atfork. This is an improvement on not being able to build.
osx_arm64_py3.10_npy1.21 (test job simply didn't run, not sure why, rerunning it now).
linux_aarch64_py3.7_npy1.19 (test job didn't run, no log?!, rerunning it now).

* `osx_arm64_py3.10_npy1.21` (test job simply didn't run, not sure why, rerunning it now).

* `linux_aarch64_py3.7_npy1.19` (test job didn't run, no log?!, rerunning it now).

The re-runs passed.


libp2p-in-the-browser example: npm install problem

In downloaded the files in https://github.com/libp2p/js-libp2p/tree/master/examples/libp2p-in-the-browser
I get these errors during the installation of npm packages:
(base) marco@pc01:~/webMatters/vueMatters/libp2p-in-the-browser$ npm install
npm WARN deprecated<EMAIL_ADDRESS>core-js@<3 is no longer maintained and not
recommended for usage due to the number of issues. Please, upgrade your dependencies to the
actual version of core-js@3.
npm WARN deprecated<EMAIL_ADDRESS>Chokidar 2 will break on node v14+. Upgrade to chokidar
3 with 15x less dependencies.
npm WARN deprecated<EMAIL_ADDRESS>fsevents 1 will break on node v14+ and could be using
insecure binaries. Upgrade to fsevents 2.
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com
/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated<EMAIL_ADDRESS>Please see https://github.com/lydell/urix#deprecated
npm ERR! code ENOLOCAL
npm ERR! Could not install from "../.." as it does not contain a package.json file.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/marco/.npm/_logs/2020-06-11T16_01_35_213Z-debug.log
Other info:
Ubuntu 18.04..4 Desktop

Google Chrome: Version 83.0.4103.97 (Official Build) (64-bit)

node v14.3.0

packages already installed:

"libp2p": "^0.28.0",
"libp2p-bootstrap": "^0.11.0",
"libp2p-noise": "^1.1.1",
"libp2p-webrtc-star": "^0.18.4",
"libp2p-websockets": "^0.13.6"

The example assumes you are inside the js-libp2p repo locally. If you change https://github.com/libp2p/js-libp2p/blob/master/examples/libp2p-in-the-browser/package.json#L19 to "libp2p": "^0.28.0", it should fix the install error

Closing this due to lack of response, feel free to open a new issue if you're still having problemss.