Fixed DMS orientation of trace

Pull Request Test Coverage Report for Build 84

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 69.699%

Totals

Change from base Build 83:
0.0%

Covered Lines:
835

Relevant Lines:
1198

💛  - Coveralls


How to export HTML with inline styles instead of the quill classes

Thanks for filing an issue!
If at all possible, please provide a Codepen to demonstrate the problem you're having with React Quill. Here's a template to get you started.
FAQ
How do I access the wrapped Quill instance?
See the instance methods and API documentation.
Is there a bug in Quill?
Please refer to the Quill issues page.
React-Quill version

[ ] master
[ ] 0.4.1
[ ] 1.0.0-beta-1
[ ] 1.0.0-beta-2
[ ] 1.0.0-beta-3
[ ] 1.0.0-beta-4
[ ] 1.0.0-beta-5
[ ] 1.0.0-rc-1
[ ] 1.0.0-rc-2
[ ] 1.0.0-rc-3
[ ] 1.0.0
[ ] 1.1.0
[ ] Other (fork)

https://quilljs.com/playground/#class-vs-inline-style

Can you guys provide a code sandbox example of some basic use cases rather than asking the developers to figure out themselves?


Problem when trying to load in 4-bit

Hi,
I have pretrained a model from meta/llama2-13b using unsloth. When I try to load it using load_in_4bit = True I get an error. I'm trying to run this on a T4, thats why I want to use 4 bit.
This is the code:
%%capture
import torch
major_version, minor_version = torch.cuda.get_device_capability()
if major_version >= 8:
# Use this for new GPUs like Ampere, Hopper GPUs (RTX 30xx, RTX 40xx, A100, H100, L40)
!pip install "unsloth[colab_ampere] @ git+https://github.com/unslothai/unsloth.git"
else:
# Use this for older GPUs (V100, Tesla T4, RTX 20xx)
!pip install "unsloth[colab] @ git+https://github.com/unslothai/unsloth.git"
pass
from unsloth import FastLanguageModel
import torch
The fine-tuned model:
adapter_name = "geraldOslo/unsloth-llama-13b-radprot"
max_seq_length = 2048 # Adjust for longer context window
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.
HAS_BFLOAT16 = torch.cuda.is_bf16_supported()
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = adapter_name,
max_seq_length = max_seq_length,
dtype = dtype,
load_in_4bit = load_in_4bit,
device_map="auto",
)
And this is what happens:
/usr/local/lib/python3.10/dist-packages/unsloth/init.py:66: UserWarning: Running ldconfig /usr/lib64-nvidia to link CUDA.
warnings.warn(
adapter_config.json: 100%
657/657 [00:00<00:00, 38.4kB/s]
Unsloth: You passed in meta-llama/Llama-2-13b-hf and load_in_4bit = True.
We shall load unsloth/llama-2-13b-bnb-4bit for 4x faster loading.
config.json: 100%
1.09k/1.09k [00:00<00:00, 74.7kB/s]
==((====))==  Unsloth: Fast Llama patching release 2024.2
\   /|    GPU: Tesla T4. Max memory: 14.748 GB. Platform = Linux.
O^O/ _/ \    Pytorch: 2.1.0+cu121. CUDA = 7.5. CUDA Toolkit = 12.1.
\        /    Bfloat16 = FALSE. Xformers = 0.0.22.post7. FA = False.
"-____-"     Free Apache license: http://github.com/unslothai/unsloth
You passed quantization_config to from_pretrained but the model you're loading already has a quantization_config attribute. The quantization_config attribute will be overwritten with the one you passed to from_pretrained.
model.safetensors.index.json: 100%
165k/165k [00:00<00:00, 732kB/s]
Downloading shards: 100%
2/2 [05:39<00:00, 159.11s/it]
model-00001-of-00002.safetensors: 100%
5.00G/5.00G [03:50<00:00, 22.4MB/s]
model-00002-of-00002.safetensors: 100%
2.20G/2.20G [01:47<00:00, 18.3MB/s]
Loading checkpoint shards: 100%
2/2 [00:02<00:00, 1.32s/it]
Some weights of the model checkpoint at unsloth/llama-2-13b-bnb-4bit were not used when initializing LlamaForCausalLM: ['model.layers.28.mlp.gate_proj.weight.absmax', 'model.layers.28.mlp.gate_proj.weight.nested_absmax', 'model.layers.28.mlp.gate_proj.weight.nested_quant_map', 'model.layers.28.mlp.gate_proj.weight.quant_map', 'model.layers.28.mlp.gate_proj.weight.quant_state.bitsandbytes__nf4']

This IS expected if you are initializing LlamaForCausalLM from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
This IS NOT expected if you are initializing LlamaForCausalLM from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
generation_config.json: 100%
183/183 [00:00<00:00, 14.5kB/s]

ValueError                                Traceback (most recent call last)
 in <cell line: 12>()
10 HAS_BFLOAT16 = torch.cuda.is_bf16_supported()
11
---> 12 model, tokenizer = FastLanguageModel.from_pretrained(
13   model_name = adapter_name,
14   max_seq_length = max_seq_length,
8 frames
/usr/local/lib/python3.10/dist-packages/accelerate/utils/modeling.py in set_module_tensor_to_device(module, tensor_name, device, value, dtype, fp16_statistics)
304
305     if old_value.device == torch.device("meta") and device not in ["meta", torch.device("meta")] and value is None:
--> 306         raise ValueError(f"{tensor_name} is on the meta device, we need a value to put in on {device}.")
307
308     if value is not None:
ValueError: weight is on the meta device, we need a value to put in on 0.
Any suggestions?

@geraldOslo Apologies known issue from my side - I'm currently working on a fix :))

@geraldOslo Ok done! It seems like it wasn't an Unsloth issue most likely, but some sort of safetensors bug when I upload it. It's now a 7GB file, so not split amongst a 5GB and 2GB file. But hopefully it works!

Thank you, but it is still not working, getting a new error now:
ImportError                               Traceback (most recent call last)
 in <cell line: 1>()
----> 1 from unsloth import FastLanguageModel
2 import torch
3
4 # The fine-tuned model:
5 adapter_name = "geraldOslo/unsloth-llama-13b-radprot"
3 frames
/usr/local/lib/python3.10/dist-packages/unsloth/models/llama.py in
21     CausalLMOutputWithPast,
22 )
---> 23 from transformers.modeling_attn_mask_utils import (
24     _prepare_4d_causal_attention_mask_for_sdpa,
25 )
ImportError: cannot import name '_prepare_4d_causal_attention_mask_for_sdpa' from 'transformers.modeling_attn_mask_utils' (/usr/local/lib/python3.10/dist-packages/transformers/modeling_attn_mask_utils.py)

NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.
If you want you can look at the notebook: https://colab.research.google.com/drive/1pNHtkOYxpLKEsN0dd1GdvUW6QJcjUxSH?usp=sharing
Thank you :-)

@geraldOslo Oh wait you might have to update transformers to 4.37

Thank you, that fixed the issue :-)

@geraldOslo Great!! :) Also thanks for the Kofi support (if that was you :)) Super duper appreciate it! :)


How to use this library to implement instagram like horizontal recyclerview inside one of the child item of vertical recycler view

Let me know if it is achievable using this library

Thanks for the consideration. That would be great.
Also is their any plans to update this library in exo player media 3 it seems it is dependent on media 2 exoplayer which is deprecated.
@alzoubiMohammed

Any updates ? @alzoubiMohammed

I believe you can use the library.
In the View Holder of the vertical layout you can add horizontal recycler view and use Snap Helper to determine the video you are looking at and pass it with the same technique as in the example.
I hope you got my point


[BACKLOG-11909] Sample transformation "General - Load images and store into database table.ktr" lost TableOutput step

Replaced "General - Load images and store into database table" transformation with the one attached by KC. Run to make sure new one works as expected.

Build Skipped
:white_check_mark: There was nothing to build. The changes are probably excluded by the build rules. If this is an error, please contact your system administrator.


Type checking against anonymous model types produces vague errors

When you use a decorator that has an anonymous object shape as one of its parameter types, the error produced by the compiler makes it very unclear what went wrong.  For example:
import "@typespec/http";
using TypeSpec.Http;

@route("foo", { shared: "foo" })
op go(): {};

Playground
The error returned is:
error invalid-argument: Argument '(anonymous model)' is not assignable to parameter of type '(anonymous model)'

It'd be nice if it could print out the expected shape at least so that the user has a lead on what they need to fix.

I think this is a sub issue in this bigger problem #1823

Closing as duplicate of #1823


Transportation works better than painting

Use Henrik Kniberg's illustration of iterative development instead of Jeff Patton's
Images taken from http://blog.crisp.se/2016/01/25/henrikkniberg/making-sense-of-mvp

Would love to get some review and feedback on this from @adamhjk, @juliandunn, and others before merging.

It's ok by me. Actually I think Patton has used this before too.


Changes 'Prefecting' to 'Prefetching'

Just a simple spelling change so people can cmd+f

Closing in favor of https://github.com/webpack/webpack.js.org/pull/2107, which was first.
I suggest look for previous PRs before submitting yours.

Thanks!


Broken link fix on ecosystem vendors page

This PR will fix the broken link raised in https://github.com/open-telemetry/opentelemetry.io/issues/3438

Thank you @nerudadhich !


None SELL price available for id

Hi i am trying to open SELL position for some assets its working fine, for example bitcoin. But some are throwing None SELL price available for id. For example CAN id: 6317 i can open sell position in etoro but with this API i`m getting None SELL price available for id 6317.
Im trying all variations with takeProfitRate and stopLossRate and without them, tls on of ...

add to the asset to the watchlist first, and then it should be fine.

I have the same problem even if the instrument has been added to the watchlist. The problem seems to be that the prices are not arriving to the PriceListener. If the expected prices refresh ratio is near real time then probably I'm having issues with the listeners. If not, then it's not clear what is the expected refresh ratio. Can you please clarify this behavior?


I couldnt customerize my ng-model

Hello,
I want to empty the block after I select/input value and push a button. But there is not ng-model which I can specify by myself. I dont understand 'ng-model="inputValue"'. Could you help me? Thanks.
Best

I believe the selection is stored in selected-item and not in ng-model.

Thank you @archcorsair, I empty the block by changing the viewValue of it. :)

Hi,
I am not able to get the value of selected-item in controller.


Switch to Node.js 10

Let's leave this last @jonrohan.

Alright, I changed to 10 since this works fine at least.


fixes to Javadoc

fallout from removal of type variable from PageRequest
removal of some uses of {@code } inside <pre>, which renders  extremely weirdly in IntelliJ
improve description of ordering in @OrderBy

Applied all suggestions.


fix: bug when the name of subcategory is empty

fixed a bug when the name of subcategory was empty in Discussions

@HamzaIsrar12 I changed where the topic name located. Check it please. Waiting for Moiz's confirmation...

@dixidroid Moiz has approved the usage of "Unnamed subcategory".  👍🏻


Add rule specific ignore options to configuration

Similar to #186, but rather than ignore files entirely, it should be possible to configure an ignore option on any rule.
One example might be that one may want to allow e.g. print calls in any package with a _test suffix, or file with a _test.rego suffix, but not anywhere else.

This was fixed in #200. Closing.


chore(bloom): added Hash benchmark

This adds an ability to replace hashing algorithms in the future and measure the impact.
For example, xxh3 w/ AVX2 is capable of 20.1 ns/op (12.0 GB/s) on medium sized keys, meanwhile the current perf is:
name                time/op
Hash/hasher-1-8       2.40ns ± 3%
Hash/hasher-3-8       3.31ns ± 2%
Hash/hasher-4-8       3.55ns ± 5%
Hash/hasher-7-8       4.79ns ± 2%
Hash/hasher-8-8       4.80ns ± 1%
Hash/hasher-16-8      7.17ns ± 3%
Hash/hasher-32-8      11.9ns ± 2%
Hash/hasher-256-8      102ns ± 5%
Hash/hasher-1024-8     427ns ± 3%
Hash/hasher-4096-8    1.68µs ± 1%

name                speed
Hash/hasher-1-8      417MB/s ± 3%
Hash/hasher-3-8      907MB/s ± 2%
Hash/hasher-4-8     1.13GB/s ± 5%
Hash/hasher-7-8     1.46GB/s ± 2%
Hash/hasher-8-8     1.67GB/s ± 1%
Hash/hasher-16-8    2.23GB/s ± 3%
Hash/hasher-32-8    2.70GB/s ± 2%
Hash/hasher-256-8   2.52GB/s ± 5%
Hash/hasher-1024-8  2.40GB/s ± 4%
Hash/hasher-4096-8  2.44GB/s ± 1%

This is a slightly improved version of dgraph-io/badger#1774

This change is

y/bloom_test.go, line 145 at r1 (raw file):
Previously, manishrjain (Manish R Jain) wrote…
Doubt you need runtime keepalive for this. acc is a basic data type.

Done.

done.


I'm having a fatal error

Type: Feature Request
I'm having a fatal error showing up on my screen. Earlier when I downloaded it I had an error showing GCC.EXE after I resolved it I'm having a fatal error.
VS Code version: Code 1.89.1 (dc96b837cf6bb4af9cd736aa3af08cf8279f7685, 2024-05-07T05:13:33.891Z)
OS version: Windows_NT x64 10.0.22631
Modes:

Can you provide a screen shot of the fatal error. Is it related to VS Code?
VS Code doesn't include gcc.exe so this might me unrelated to VS Code.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Evaluate std::log/log1p/log2 numerical difference.

🚀 The feature, motivation and pitch
Got numerical difference compared with CPU results. It is hard to say who is better on accuracy.
 # Mismatched elements: 7 / 1048576 (0.0%)
 # Greatest absolute difference: 0.4922053598013041 at index (765, 860) (up to 1e-07 allowed)
 # Greatest relative difference: 0.15330001655652495 at index (765, 860) (up to 1e-07 allowed)
"test_python_ref__refs_log2_xpu_complex128",

# Expected 0.00497517 but got 0.00497520063072443.
# Absolute difference: 3.063072442997111e-08 (up to 0.0 allowed)
# Relative difference: 6.156719153309558e-06 (up to 1e-06 allowed)
 "test_log1p_complex_xpu_complex64",

Alternatives
No response
Additional context
No response

Not a critical error. Low priority.


Respect the hover mode false - bugfix (#3181)

Fix for preventing the onProgress callback to be executed when hover mode is set to false in global options.

Looks good, @etimberg do you see any cases where not rendering when  hover.mode == false can be problematic?
@sasos90 would be great to update the documentation with that new hover.mode value, but also that animationDuration is ignored if hover.mode is false

I think this is good. I cannot think of a case where we need to render when there is no hover. Tooltips still work, right?

I agree. I will double check that tomorrow ok? I already tried to test it fully, but unfortunately I had other things to do. I am going to post the feedback in around 12 hours.

ok, thanks for checking @sasos90

Ok one thing that I found could be the problem:

onComplete callback for animation is still executed when hover mode is set to false. So if you are hovering the bar, while animating, the tooltips will be shown after animation is complete and they will remain on the screen even when hover is out.

So my question is, what should it do, when you have hover mode set on false, but tooltips enabled? Keep in mind, that I still want to onComplete be executed because I am adding the bar values manually on the canvas. That's a bit tricky now. These values on the bars should be put in the core somehow, so we can completely disable the execution of onProgress and onComplete callbacks when hover mode is set to false.
What is your opinion?

When hover mode is off but tooltips are on and not custom (html), I think we still have to render because the tooltip will need to draw. The unfortunate reality of the canvas is that we have to redraw the entire thing to erase something.
The alternate is having 2 canvases on top of each other and using a different canvas for the tooltip but that cannot easily be done right now

You right, not calling render() here causes issues with tooltips. An alternative solution would be me.render(hoverOptions === false? 0 : hoverOptions.animationDuration, true) but then why we would need hover.mode: false? You could simply use hover.animationDuration: 0 (see updated fiddle). Am I missing something?

hover.mode: false also doesn't change any elements (applying the hover styling). We can probably not render if hover.mode === false && tooltips.mode === false

Just noticed that there is already a way to disable tooltips: tooltips.enabled. To keep the API simple and consistent, I would not introduce another way to do that. If a new option is needed to disable hover style, it should be hover.enabled, right? I would also allow tooltips: false and hover: false as an enabled: false shortcut.
Agree that hover.enabled == false and tooltips.enabled == false``render() should skip rendering, however I don't think that it will solve @sasos90 issue since onComplete() will not be called.

Ok then we should perhaps leave it untouched and rather fix the automation of adding values to bars. You could use a callback for that if needed. Because clearly it won't work they way I need it, therefore I will just create my own version of these fixes just to prevent the processing in the background.

@sasos90 does hover { animationDuration: 0 } fix your flickering issue?

No, actually onComplete is then executed many times, so it is still called. Actually it is not flickering but onComplete is executed. But I think it is more of my personal problem of expecting some features to work which are not meant to be implemented that way. Perhaps the only solution to my issue is, changing the core to add bar values automatically (with option to disable it of course).

So "yes" it fixes the flickering issue, but "no", you are not happy with that solution - me neither :)
I think that the best way to implement your feature is to create a simple plugin and implement drawing in afterDatasetsDraw (draft example). I don't see any good reason to not draw for all frames during animation, especially if you make your code a bit more optimized. We can implement what @etimberg suggested (not call render() if tooltip.enabled and hover.enabled are false) so your draw method will not be called anymore on mouse move. But if tooltips or hover are enabled, your draw method must be called for each animation steps to avoid flickering.

We might be able to add another check too that also only renders if the hovered items or the tooltip items changed. That way mouseover that doesn't change the chart doesn't render.
I think the plugin example might be the better way to go and it would have simpler code.

Uh that afterDatasetDraw solution is pretty awesome, because the values slides with the bar while animating. In that case I don't have any problems with animation callbacks, because I can completely turn it off (I suppose). The thing is that I have many graphs on the same page, and for each of them I have some special conditions to show the values (different X and Y offsets). If I register that plugin implementation before each creation and update (replot) of data, it happens that one implementation overrides another so the values become weird. Can I specify the plugin for each instance seperately?
Thanks

Only one global instance of the plugin is created and will be called for all charts. You don't need to have a different instance for each chart because the plugin can accept extra chart options (e.g. overlay.labels.yOffset) and then check that value in afterDatasetDraw (see fiddle). If you need different offset per datasets, then you should be able to adapt that code to match exactly what you need.

Hm.. then I would have a problem. I have stacked bars (so 2 bars) where the bar above have it's own value with the sum of the bar value below. So in updating of the graph I have different data to show, that means I need to call the plugin register again, since there is different response. Kind of complicated huh? You know when you update the graph data, you need to re-implement the onComplete or onProgress callbacks for animation if you want to have new values applied to the graph.

The plugin I wrote is draft and specific to your initial fiddle and will not accommodate to all user cases. If your plugin needs to behave differently based on some extra conditions, then add new options (or even dataset properties) specific to your case and do whatever checks/changes are needed to accomplish your goal inside this plugin.
Not sure what you mean by "update the graph data", but keep in mind that there are many more plugin APIs, so maybe in your case, you will also need to implement afterDatasetsUpdate (or another more suitable) to pre/post process graph data before rendering.
But you should never call Chart.plugins.register multiple time for the same plugin, that's how Chart.js plugins work and I don't understand why you would need to do that. Plugins are great to implement generic (but configurable) features that can apply to many charts. If you want radically different implementations for each chart, then plugins are maybe not the solution.
I hope that helps :)

Yea I think I would need to do many if statements in that plugin to properly set X, Y, values and so on. It is a bit problematic. Otherwise when there is only one graph on the page, that plugin is doing the great job.

Yeah, maybe, can't say without more details and images about what you're trying to achieve. Your case seems too specific to be implemented in the core of the library and I don't have other suggestions to help you (maybe @etimberg can help more?). Should we close this PR then?

Actually integrating to put the values for bars in the core would solve the issue, instead of writing the plugin. Throwing some callbacks where we can edit the X, Y, value and that's it. Not sure how important is that for Chart.JS.

You are really welcome to update your PR or submit a new one with the change you have made. If you need guidance about how to efficiently implement your case, please give more details and create a fiddle or some screenshots / mockups about what you are trying to do. It will help to better understand what the current limitation.
Anyway, I was suggesting to close this PR since it has deviated far from its initial purpose.

Basically all I wanted is, to not repeatedly call (render) onProgress method while hovering the graph since the values were flickering. Therefore everything was a bit laggy also. Perhaps we really need to agree whether to implement that feature or not with @etimberg.

I think the plugin is the best solution to your problem. I have seen lots of requests for labels built in to the core, but I do think it should probably live in a plugin because it will have its own features, etc. It's impossible for us to support every case and even simple cases become complicated when you have multiple lines to display, etc.
If you can post a fiddle with your plugin and a screenshot of what you want to achieve I can see if any ideas come to mind

Huh I will give it a try if I manage to get the time. Im further in the project and my time for testing ChartJS is minimal now.

Closing as out of date


Improve Python style, according to pylint

Review after #5 is merged into main and main is merged into this branch.
(Doing so will reduce the size of the diffs.)

I merged the black PR so I am closing this one.

I asked this to be merged after #5 because the changes in this branch included all the changes in #5, plus more.


[Event Request] Codeunit 392 Reminder-Make - OnBeforeOverdueEntriesOnly

Hi, would it be possible to get an event OnBeforeOverdueEntriesOnly in codeunit 392 Reminder-Make, procedure MakeReminder, like this :

if CustLedgEntry.FindSet then
                    repeat

                        IsHandled := false;
                        OnBeforeOverdueEntriesOnly(CustLedgEntry,ReminderHeaderReq,ReminderHeader,IsHandled);
                        if not IsHandled then begin
                            if (not OverdueEntriesOnly) or
                            (CustLedgEntry."Document Type" in [CustLedgEntry."Document Type"::Payment, CustLedgEntry."Document Type"::Refund])
                            then begin
                                SetReminderLine(LineLevel, ReminderDueDate);
                                if (CalcDate(ReminderLevel."Grace Period", ReminderDueDate) >= ReminderHeaderReq."Document Date") and
                                (LineLevel = 1)
                                then begin
                                    if not AmountsNotDueLineInserted then begin
                                        InsertReminderLine(ReminderHeader."No.", ReminderLine."Line Type"::"Not Due", '', NextLineNo);
                                        InsertReminderLine(
                                        ReminderHeader."No.", ReminderLine."Line Type"::"Not Due", OpenEntriesNotDueTranslated, NextLineNo);
                                        AmountsNotDueLineInserted := true;
                                    end;
                                    InitReminderLine(
                                    ReminderLine, ReminderHeader."No.", ReminderLine."Line Type"::"Not Due", '', NextLineNo);
                                    ReminderLine.Type := ReminderLine.Type::"Customer Ledger Entry";
                                    ReminderLine.Validate("Entry No.", CustLedgEntry."Entry No.");
                                    ReminderLine."No. of Reminders" := 0;
                                    ReminderLine.Insert();
                                    AmountsNotDueLineInserted := true;
                                    RemoveNotDueLinesInSectionReminderLine(ReminderLine);
                                end;
                            end;
                        end;
                    until CustLedgEntry.Next = 0;

    [IntegrationEvent(false, false)]
    local procedure OnBeforeOverdueEntriesOnly(var CustLedgEntry: Record "Cust. Ledger Entry";  ReminderHeaderReq: Record "Reminder Header" ; var IsHandled : Boolean )
    begin
    end;

?
Thanks

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Need some additional text around add/removeEventListener clearly specifying how equality works

Take for example:
var f = function(e) {
};
addEventListener("foo",  f, false); /use capture false; mayCancel implicitly true/
addEventListener("foo", f, {useCapture: false, mayCancel: true}); /* this should do nothing; since f is already added with those args. */
Likewise:
removeEventListener("foo", f, {useCapture: false, mayCancel: true}); /* this should remove the first added event listener*/
This slightly differs from the text in http://www.w3.org/TR/dom/#dom-eventtarget-removeeventlistener
as the EventListenerOptions object is likely created and destroyed between add/remove calls so we need to enumerate all the configurations of the options to determine if they are equal. This may be specified somewhere how dictionaries behave; but I haven't found a reference to it.

Covered by #19, eg. here


Add documentation to provide examples of how to run prepare_for_training for a specific framework

Is your feature request related to a problem? Please describe.
It wasn't easy to understand what to apply to the "prepare_for_training" method that will generate data for a specific framework (i.e. spaCy). I am submitting this at the request of David Berenstein (from Slack post).
Describe the solution you'd like
Add documentation and examples for the prominent frameworks - spaCy, HuggingFace, etc.
Additional context
An end-to-end example for this, like many others provided, would be really valuable. Upload data, label the data, prepare for training, train model, upload results -> rinse & repeat.

Thanks @mgiardinelli I will create a PR for this and would love to get your feedback on it:)

@mgiardinelli I added a PR with additional documentation you can check here.
Additionally, I noticed we did not implement a method for doing this with TextClassification so I decided to create an issue for this. Do you feel this needs to be added and even better, do you think you could handle this in a PR yourself? 🤓


Support Apache SeaTunnel authentication with Casdoor

https://github.com/apache/incubator-seatunnel
See discussions:

https://github.com/apache/incubator-seatunnel/issues/284
https://github.com/apache/incubator-seatunnel/issues/338

SeaTunnel has no user concept yet, so closed for now.


Logging and debugging

This PR enables logging and debugging

The underlying http urllib3 library doesn't use the logging, but rather print statement to stdout. functions enable_debugging() and disable_debugging is used to support it
We also need to provide users with python's logging capabilities:

enable_logging takes in a config file path
get_logger  allows users to configure loggers

readme is updated here: https://github.com/watson-developer-cloud/python-sdk/pull/687

This is no longer needed


Feature: Update GH Actions to Release the Crates to crate.io

Do we have a deislabs crates.io account to publish crates? @squillace @cpuguy83


Should precompiled binaries require numpy?

Or should it be included with the precompiled package?
ref. https://github.com/rdeits/DrakeVisualizer.jl/issues/35

Current setup:

mac packages: all dependencies are bundled, users don't need to brew install anything, nor does the package use apple's system python or numpy.

linux packages: only bundle what is compiled, users are expected apt-get install everything else

I did it this way since it is very easy for users to apt-get install the dependencies with a single command, but it's not easy for mac users to fumble with homebrew.  The set of required apt-get packages probably isn't clearly documented... we could fix that, and provide a install_dependencies.sh script in the package to make it easy.

Ok, that all makes sense. I'm fine with having users apt-get install things manually, I just didn't know what the list of requirements was.

Note, this is the list of development dependencies on ubuntu (copied from the top-level README):
sudo apt-get install cmake libvtk5-qt4-dev libeigen3-dev python-dev python-vtk python-numpy
Installing those is sufficient to run the director binaries.  But I haven't documented the runtime dependencies.  You could get away with installing a more restricted set.


AUR

https://aur.archlinux.org/
Please, consider publishing to Arch User Repositories!

Done!
yay -S term3d

Done!
yay -S term3d


The Body type is not exposed.

The Body type is not exposed, which is not always problem since there are constructor functions to create bodies. But it means you cannot use Body in a type signature for a function, which is inconvenient.

The Body type is not exposed as an opaque type.

The Body type is not exposed as an opaque type.


Popupmenu positioned too low

I think the popupmenu should be a little closer to the cursor here, it seems a bit too low:

I think I've figured out the problem, here's the line that causes it:
https://github.com/akiyosi/goneovim/blob/01a0c513b127a2d7ebf4e2fc7b520bc2bca9f3f5/editor/popupmenu.go#L226
The problem is that p.ws.tabline.widget.Height() is added to the y value of the popupmenu regardless of whether the GoNeovim external tabline is enabled. Thus, when disabled (as I have it) the popupmenu is moved farther down than it should be.
Thus, to fix it we only need to check if the tabline is enabled or not, and if it isn't then don't add the p.ws.tabline.widget.Height() value to y.


Air Purifier Property Poll keeps failing

Describe the bug
property polling seems to keep failing
Expected behavior
property poll should not fail
Your config.json
            "name": "Mi Air Purifier 3/3H",
            "ip": "<IP_ADDRESS>",
            "token": "redacted",
            "deviceId": "redacted",
            "model": "zhimi.airpurifier.mb3",
            "pollingInterval": 30,
            "deepDebugLog": true,
            "buzzerControl": false,
            "ledControl": false,
            "childLockControl": false,
            "modeControl": false

Debug log
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Initializing device services
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Device services: [
  "air-purifier",
  "environment",
  "filter",
  "alarm",
  "indicator-light",
  "physical-controls-locked",
  "button",
  "filter-time",
  "motor-speed",
  "use-time",
  "aqi",
  "rfid",
  "others"
]
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Initializing device properties
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Device properties: [
  "air-purifier:fault",
  "air-purifier:on",
  "air-purifier:fan-level",
  "air-purifier:mode",
  "environment:pm2.5-density",
  "environment:relative-humidity",
  "environment:temperature",
  "filter:filter-life-level",
  "filter:filter-used-time",
  "alarm:alarm",
  "indicator-light:brightness",
  "indicator-light:on",
  "physical-controls-locked:physical-controls-locked",
  "button:button-pressed",
  "filter-time:filter-max-time",
  "filter-time:filter-hour-debug",
  "motor-speed:motor-strong",
  "motor-speed:motor-high",
  "motor-speed:motor-med",
  "motor-speed:motor-med-l",
  "motor-speed:motor-low",
  "motor-speed:motor-silent",
  "motor-speed:motor-favorite",
  "motor-speed:motor-speed",
  "motor-speed:motor-set-speed",
  "motor-speed:favorite-fan-level",
  "use-time:use-time",
  "aqi:purify-volume",
  "aqi:average-aqi",
  "aqi:average-aqi-cnt",
  "aqi:aqi-zone",
  "aqi:sensor-state",
  "aqi:aqi-goodh",
  "aqi:aqi-runstate",
  "aqi:aqi-state",
  "aqi:aqi-updata-heartbeat",
  "rfid:rfid-tag",
  "rfid:rfid-factory-id",
  "rfid:rfid-product-id",
  "rfid:rfid-time",
  "rfid:rfid-serial-num",
  "others:app-extra",
  "others:main-channel",
  "others:slave-channel",
  "others:cola",
  "others:buttom-door",
  "others:reboot-cause",
  "others:hw-version",
  "others:iic-error-count",
  "others:manual-level",
  "others:country-code",
  "others:temperature-unit",
  "others:device-serial-number"
]
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Initializing device actions
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Device actions: [
  "filter:reset-filter-life",
  "button:toggle",
  "button:toggle-mode"
]
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Successfully created a AirPurifier device! It is a Xiaomi Mi Air Purifier 3H.
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Initializing accessory!
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Accessory successfully initialized!
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Registering 1 accessories!
[12/10/2022, 1:13:36 AM] [miot] [Mi Air Purifier 3/3H] Everything looks good! Initiating property polling!

Property Poll Repeatedly Failing
[12/10/2022, 1:16:00 AM] [miot] [Mi Air Purifier 3/3H] Poll failed 4 times in a row! Stopping polling and trying to reconnect! Reason: Error: Call to device timed out
[12/10/2022, 1:17:00 AM] [miot] [Mi Air Purifier 3/3H] Device found! Setting up miot device from local connection!
[12/10/2022, 1:17:00 AM] [miot] [Mi Air Purifier 3/3H] Connected to device: zhimi.airpurifier.mb3
[12/10/2022, 1:17:00 AM] [miot] [Mi Air Purifier 3/3H] Doing initial property fetch.
[12/10/2022, 1:17:12 AM] [miot] [Mi Air Purifier 3/3H] Starting property polling.
[12/10/2022, 1:19:24 AM] [miot] [Mi Air Purifier 3/3H] Poll failed 4 times in a row! Stopping polling and trying to reconnect! Reason: Error: Call to device timed out
[12/10/2022, 1:20:25 AM] [miot] [Mi Air Purifier 3/3H] Device found! Setting up miot device from local connection!
[12/10/2022, 1:20:25 AM] [miot] [Mi Air Purifier 3/3H] Connected to device: zhimi.airpurifier.mb3
[12/10/2022, 1:20:25 AM] [miot] [Mi Air Purifier 3/3H] Doing initial property fetch.
[12/10/2022, 1:20:37 AM] [miot] [Mi Air Purifier 3/3H] Starting property polling.
[12/10/2022, 1:22:49 AM] [miot] [Mi Air Purifier 3/3H] Poll failed 4 times in a row! Stopping polling and trying to reconnect! Reason: Error: Call to device timed out
[12/10/2022, 1:23:49 AM] [miot] [Mi Air Purifier 3/3H] Device found! Setting up miot device from local connection!
[12/10/2022, 1:23:49 AM] [miot] [Mi Air Purifier 3/3H] Connected to device: zhimi.airpurifier.mb3
[12/10/2022, 1:23:49 AM] [miot] [Mi Air Purifier 3/3H] Doing initial property fetch.

Screenshots
None
Additional context
have other devices connected as well which are working just fine

viomi.vacuum.v8
chuangmi.camera.021a04

Home app shows change filter soon warning and controlling the air purifier through home app does not work.

"Call to device timed out" can indicate that your device might be overloaded due to processing to many requests. You can try to reduce the chunk size with the propertyChunkSize to a lower number like 5 and see if that helps.

After changing the chunk size, restarting both homebridge and the device, it works alright again. Thanks!


Add Cirrus-CI FreeBSD CI build config

When the Cirrus-CI app is enabled for a Github repo with this change the build/test results are available via a URL like https://cirrus-ci.com/emaste/conserver

Note the Cirrus-CI application needs to be enabled in GitHub in order for it to start running builds.


Process: Aggregation

@gboeing @carlhiggs
I am running the aggregation script for 10 cities. The code is not completing though, this is what I am getting

Process aggregation for hex-level indicators.
Cities: ['adelaide', 'baltimore', 'bern', 'ghent', 'lisbon', 'mexico_city', 'odense', 'olomouc', 'valencia', 'vic']
Calculate hex-level indicators weighted by sample points within each city
0%|                                                          | 0/10 [00:00<?, ?it/s- 'VirtualXPath'	[XML Path Language - XPath]
0%|                                                          | 0/10 [00:00<?, ?it/s]
Traceback (most recent call last):
File "aggr.py", line 60, in
cities[i], config["samplepointResult"], config["hex250"])
File "/home/jovyan/work/process/setup_aggr.py", line 37, in calc_hexes_pct_sp_indicators
gdf_samplepoint = gpd.read_file(gpkg_input, layer=layer_samplepoint)
File "/opt/conda/lib/python3.7/site-packages/geopandas/io/file.py", line 96, in _read_file
with reader(path_or_bytes, **kwargs) as features:
File "/opt/conda/lib/python3.7/site-packages/fiona/env.py", line 400, in wrapper
return f(*args, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/fiona/init.py", line 257, in open
layer=layer, enabled_drivers=enabled_drivers, **kwargs)
File "/opt/conda/lib/python3.7/site-packages/fiona/collection.py", line 164, in init
self.session.start(self, **kwargs)
File "fiona/ogrext.pyx", line 549, in fiona.ogrext.Session.start
ValueError: Null layer: 'samplePointsData'

Do you know why this is happening? I downloaded the GTFS data and the input data from the cloudstor, so I am not sure what is happening. Thanks for the help

Hi @nicholas-david ,
I reckon double check that the sp.py process has worked as intended before running the aggregation script.  It says "null layer:
samplePointsData'", which implies that the sp.py process has not worked as intended for at least one of your cities.  I couldn't say why, but if looking at the apparent outputs from sp.py you find that the required inputs to the aggregation script aren't available or otherwise problematic, I think it is best to look at the sp.py script for the issue.  It looks like the required layer hasn't been generated.  Those are my thoughts! If that is the case, try deleting the outputs for at least one of the cities and re-run the setup configuration and the sp.py script and pay close attention to the output in case there are any clues why this hasn't been generated.  Good luck!  Carl

It might be worth closing or renaming the issue if it doesn't relate to aggregation


[Tooltip]: asChild doesn't keep all props

Describe the bug
Related to #224
When using asChild with Tooltip, some props are not kept
To Reproduce
Use slots in tooltip trigger
<TooltipTrigger asChild>
  <slot />
</TooltipTrigger>

I have props on my Button element
<Tooltip>
  <Button type="tertiary" iconOnly>
    ...
  </Button>
</Tooltip>

Result:
 loses the type="tertiary" prop, but keeps iconOnly boolean prop. Not sure why.
Expected result:
It should keep all props
@zernonia

Hi @steakscience .. how do you know that the props are not kept ya? Does it not appear in your component?
But if you mean you check the element html via the console, it is missing, that is a correct behavior.

@zernonia Good point.
In my case, I have class names that will be added if type="tertiary" but they are missing.
However, class names from iconOnly are there

@zernonia Good point.
In my case, I have class names that will be added if type="tertiary" but they are missing.
However, class names from iconOnly are there

Can you share your logic for the conditional classes for types props?

Can you do a console.log for "prop.type"? I wanna see if the component recevied this props

@khairulhaaziq Sure, it's the same as the class bindings in the Vue docs

@zernonia Looks like it received the props? But also button isn't a prop

Hmmm.. icic.. cause the TooltipTrigger is having a type 'button' here, which is why it cause the bug.
I would need to overwrite the type if the child component (in this case your Button) has a prop type.
Thanks for the info @steakscience

If it ends up that you want to keep tooltiptrigger as a button, I suggest allowing as="template" for people who want to skip the button
Thanks! :)


Conditional type inside function resolves differently than at top-level

Bug Report

🔎 Search Terms
regression conditional type inside function behaves difference
🕗 Version & Regression Information

This changed between versions 4.2.3 and 4.3.5

⏯ Playground Link
Playground link
💻 Code
{
  type A = Record<string, number>
  type B = Record<'a' | 'b', number>
  const x: A extends B ? true : false = false; // ok
}

function test() {
  type A = Record<string, number>
  type B = Record<'a' | 'b', number>
  const x: A extends B ? true : false = false; // error
}

🙁 Actual behavior
The conditional type resolves differently in global vs local scope.
🙂 Expected behavior
Both should resolve the same way, preferably false in both cases.
Additional Details
This seems to have something to do with the way typescript compares aliases, wrapping one of the Record types in Omit<Record<...>, never> causes the comparison to behave normally
Playground Link
function test() {
  type A = Record<string, number>
  type B = Record<'a' | 'b', number>
  const x: A extends B ? true : false = false; // error
}

function test2() {
  type A = Omit<Record<string, number>, never>
  type B = Record<'a' | 'b', number>
  const x: A extends B ? true : false = false; // ok
}

function test3() {
  type A = Record<string, number>;
  type B = Omit<Record<'a' | 'b', number>, never>
  const x: A extends B ? true : false = false; // ok
}

function test4() {
  type A = Omit<Record<string, number>, never>;
  type B = Omit<Record<'a' | 'b', number>, never>
  const x: A extends B ? true : false = false; // error
}

Additionally, prior to 4.2, typescript permitted Record<string, number> to be assignable to Record<"a" | "b", number> regardless of scope.
{
  type A = Record<string, number>
  type B = Record<'a' | 'b', number>
  const x: A extends B ? true : false = false; // error, A is assignable to B
}

So 4.2 is the only version that is correct. This may be a false regression?

This is a particularly unfortunate manifestation of a known issue related to variance measurement.
For Record<K, T> we measure K to be contravariant, which is correct for all types but string, number, and symbol. Those types resolve to index signatures, and index signatures relate differently than regular properties (they're more like optional properties). According to variance, Record<string, number> is a subtype of Record<'a' | 'b', number> because string is a supertype of 'a' | 'b'. However, when related structurally { [x: string]: number } is a supertype of { a: number, b: number }.
To make up for this discrepancy we mark type parameters that occur in the key position of mapped types as having "unreliable" variance, which causes us to relate types structurally when they appear unrelated according to variance.
The net effect is:
declare let aa: { [x: string]: number }
declare let bb: { a: number, b: number }

aa = bb;  // Ok
bb = aa;  // Error

declare let ar: Record<string, number>;
declare let br: Record<'a' | 'b', number>;

ar = br;  // Ok (related structurally because of "unreliable" marker)
br = ar;  // Ok (permitted by variance, but error structurally)

We could fix this my marking type parameters that occur in the key position of mapped types as "unmeasurable", which would cause us to always relate structurally. But (a) this has negative performance impact, and (b) it would technically be a breaking change because undoubtedly code exists that depends on the current behavior. I'm pretty sure we've already tried and rejected this remedy.
Returning to the original example in this issue, the global scope A and B types have new alias symbols associated with them and therefore appear not to be instantiations of the same generic type. Thus we relate them structurally. However, the local A and B types aren't given new alias symbols (for unrelated reasons) and therefore appear to both be instantiations of Record<K, T>. Thus we relate them according to variance.
The behavior changed in 4.2 because that's when we introduced the ability to re-alias type alias instantiations.

Wow… it feels so wrong that an undocumented internal implementation detail like that should affect assignability.  Not that that doesn’t happen elsewhere (variance measurement being what it is), but this one is particularly hard to come up with theoretical justification for without popping the hood of the compiler.

it would technically be a breaking change because undoubtedly code exists that depends on the current behavior.

For what it's worth, I wouldn't be caught dead intentionally relying on any behavior that can best be summed up as "A is unsoundly assignable to B, but only sometimes, depending on internal compiler implementation details", where just moving the code around could break it.  If it turned out my code was accidentally dependent on that behavior and a documented bug fix broke it, I wouldn't even be upset.

I mentioned this is already a known issue. For reference, it was first reported in #29698. We even have a test to show the inconsistency, introduced in #30416. That PR first attempted to mark all mapped types as "unmeasurable", but then we backed off, I think because there were too many DT breaks. We may have to try that again.
@weswigham Thoughts?

Hi, I asked this question  on StackOverflow , and this issue has been linked.
If no fix for this can be found, would it at least be possible to add a warning when typescript assumes the variance, since that assumption may be wrong, with instructions on how to explicitely tell Typescript the variance (with in, out or in out annotations)? And maybe let the users opt-out of the variance optimization (maybe with something like a novar T annotation that would tell typescript to always compare instances of that generic type structurally) ?

@ahejlsberg I don't know enough about the variance part of the compiler yet, so maybe this is wrong, but I feel like marking the variance of the key type of mapped types as immeasurable is addressing the symptom instead of the cause of the problem.
If I understand correctly from your comment this problem stems from a difference in the semantics between the normal properties generated by mapped types, which have "required" semantics, and index signatures, which have "optional" semantics, ultimately breaking referential transparency. In other words, it seems to stem from an unsoundness in the natural expansion of the type of index signatures, i.e. (purely hypothetically):
type Foo = {
  [k: symbol | 'a']: string
}

would currently expand to (or be equivalent to)
type Foo = {
  [k: symbol]: string
  a: string
}

and in this case both notations are not equivalent. In reality the following type would be equivalent to the first:
type Foo = {
  [k: symbol]: string
  a?: string
}

(In literal types this unsoundness is currently avoided by error 1337, which disallows literal types in index signatures.)
So I feel like this issue could more cleanly be solved by allowing both required and optional index signatures:
// equivalent to existing index signatures
type Foo = {
  [k: string]?: unknown
}

// required signature. note that a value for `Foo` can in this case not be provided, as it would have to return a value for every possible string index value, but that's not a problem. there are other empty types, e.g. `never`
type Foo = {
  [k: string]: unknown
}

// however it does allow us to provide an index signature that is equivalent to normal properties:
type Foo = {
  [k: 'a' | 'b']: unknown
}
// is equivalent to
type Foo = {
  a: unknown,
  b: unknown
}

// whereas the optional version would be equivalent to optional properties:
type Foo = {
  [k: 'a' | 'b']?: unknown
}
// is equivalent to
type Foo = {
  a?: unknown,
  b?: unknown
}

In this case the mapped type can just generate the required version of the index signatures if it is mapping without an optional modifier, and the optional version if it is mapping with an optional modifier, and referential transparency is conserved.
This would also overlap with noUncheckedIndexedAccess, providing a type-safe way to specify whether indices are required or optional instead of relying on a compiler option.
Of course we can't just completely change the semantics of the index signature syntax for backwards compatibility reasons, but this could be avoided by instead letting the syntax default to "optional" and providing a syntax for a "required" signature, e.g.:
// optional
type Foo = {
  [k: string]: unknown
}

// required
type Foo = {
  [k: string]!: unknown
}


Missing stdio consts intentional?

In the latest version of the crate (0.9.0), there seem to be consts representing stdio fds missing (previously these would have been STDIN_FD, STDOUT_FD, and STDERR_FD). Is this intentional? Is the user now expected to define these themselves?
I'm somewhat confused by this since wasi::Fd values [0,1,2] are reserved in wasi-common for that very purpose. The only reason of leaving them out from the wasi crate and having the user define them themselves is if they decide not to have certain stdio handles hooked up. Am I correct here?

It seems like we can reasonably define these. I've now opened https://github.com/bytecodealliance/wasi/pull/38 to implemented this.


Integrations: Repo badge

Another one for the "Integrations" page (ref https://github.com/qunitjs/qunitjs.com/issues/42), we can promote https://github.com/aleen42/badges.
Example:

Duplicate of https://github.com/qunitjs/qunitjs.com/issues/173.


Unfork the repository

The repository is currently a fork of the upstream repository. Whenever we create a PR, github will always set the base branch to the upstream's default branch by default. This is pretty inconvenient...

Yeah, let's just do it.


Save invoices to link subscriptions and payments?

Hi,
What do you think about storing Stripe invoices with this gem?
Invoices provides the link between subscriptions and payments.

Yeah I think that'd be great. The tricky part is that Braintree does not have Invoices, so we would need to find a way to balance the two.


Option for prevent_destroy resource "google_iam_workload_identity_pool_provider"

So the problem i ran into with this module is when running "terraform apply", then "terraform destroy", then "terraform apply" again. This error appers:

"Error: Error creating WorkloadIdentityPool: googleapi: Error 409: Requested entity already exists"

This is because "terraform destroy" only soft deletes the resource. And it takes 30 days for the resource to be deleted permanently. To my knowledge there is no way to permanently delete it manually ether.
This leads to the state in terraform being different to the GCP state. The only way i found to fix it is to rename the pool.
It would be nice if the default (or optional) behaviour on destroy would be to deny the deletion of the resource "google_iam_workload_identity_pool_provider", using prevent_destroy.
This maintains the correct state in terraform, and forces manual handling of the resource.

Appreciation to @tordsta  for raising this issue!!!
Prevent_destroy lifecycle block is a good option , but needs change of variable flag whenever the resource has to be destroy.
As of now, renaming the pool and provider name will fix this.
As a future scope, I'll  test and try to implement the random resource integer as a suffix for the pool and provider name.


SHODAN download is still not implemented in the API

http://docs.shodanhq.com/rest.html

Finally they didn't implement it.


How to impose essential BC on a single node in parallel

Hi guys,
Currently, I would like to impose an essential BC on a single node. In serial code, it is easy since I know the nodal ID, and I can add the corresponding dof id into the essential BC list by hand. However, in parallel code, I haven't found the connectivity table between the global nodal ID and local nodal ID. Would you please tell me where the connectivity table is stored, or is there another way to impose such BCs? Thanks.

Are you using a linear continuous FE space? If so, nodal ids are the same as vertex ids, so you can use the answer here: https://github.com/mfem/mfem/issues/2277#issuecomment-849741199.
For higher order spaces, such mapping is not explicitly constructed, however it can reconstructed similar to here: https://github.com/mfem/mfem/blob/598a5994bcc91d08adc78c1ba5ab3f1694d911bf/fem/pgridfunc.cpp#L47-L68

@v-dobrev Thanks for your reply. I see that is what I want. I just wonder that whether we can get the same partitioning once the original mesh, the number of processors and the partitioning method keep unchanged. Thanks.

@v-dobrev Meanwhile, I see that the method you provided can only get the map from the global vertex index to the local vertex index. In the parallelization, I found that the shared vertexes can only remain as true DOFs in several partitions. If you are willing to give me some clue on how to reduce the local vertexes to the true DOFs, that would be very helpful. Thanks again for your kind reply.

You can use ParFiniteElementSpace::GetLocalTDofNumber to determine which local dofs are true and their local true-dof indices.


Provide a Consul compatible API

Consul is a great open source, platform agnostic offering that is popular with many folks. In the same vein as the Cassandra API capability provided by Cosmos DB it would be great if App Configuration provided a Consul compatible API so existing (or new) app components could leverage Consul clients but benefit from the backend power of App Configuration.

@sjwaight, thank you for your suggestion, we'll consider it when prioritizing the enhancements to be added to the service.

We don't have a plan for this. If the plan changes in the future, we can reopen.


feat: Preparing variables for upcoming renaming (next major release) + features

@antonbabenko as you requested.
DO NOT SQUASH THIS PR

This PR is included in version 1.74.0 :tada:


Limit pydata-sphinx-theme version

Describe your changes
Limit pydata-sphinx-theme version to prevent error with docs build.
I saw that a new (0.9) version of pydata-sphinx-theme was released 12 days ago, which seems to be causing the problems with running the docs build action.
Describe any testing you have performed
testing requires opening a PR - as you can see the docs_build ran successfully.
Link relevant issues
Example of action that was previously failing: https://github.com/TomographicImaging/CIL/runs/6975506254?check_suite_focus=true
Checklist when you are ready to request a review

[x] I have performed a self-review of my code
[x] I have added docstrings in line with the guidance in the developer guide
[ ] I have implemented unit tests that cover any new or modified functionality
[ ] CHANGELOG.md has been updated with any functionality change
[x] Request review from all relevant developers
[x] Change pull request label to 'Waiting for review'

Contribution Notes
Please read and adhere to the developer guide and local patterns and conventions.

[x] The content of this Pull Request (the Contribution) is intentionally submitted for inclusion in CIL (the Work) under the terms and conditions of the Apache-2.0 License.

It would be useful to know what the changes are for the later versions, but I'm happy with the fix!

There's a list of changes here https://github.com/pydata/pydata-sphinx-theme/releases/tag/v0.9.0


Object Detection Example ReadMe

Added shell scripts to run the object detection example on Windows and Mac OS simply. Scripts download trained model, .pbtxt file and run example against the image under the test_images folder.
Added README file with a description of the example

I wonder if we should have a convenience api that the samples can use that download three models instead of us having to maintain two sets of runner scripts?

That's a good point, I like it and added appropriate changes

Another -hopefully- small request.   Instead of using SharpZipLib, could we use .NET's built in Zip support from System.IO.Compression, there is a class ZipFile that can do that.

ZipFile doesn't work with *.tar.gz archives that's why I used SharpZipLib

Oh :-)


hack: update ticketgen scripts

This PR adds additional documentation and compatibility fixes to the ticketgen scripts.
Signed-off-by: Jose A. Rivera<EMAIL_ADDRESS>

/retest

/lgtm


fix bug with accept-encoding

fix accept-encoding

Coverage increased (+0.3%) to 91.001% when pulling 6a1dae06a2c16ba0bf50ef4cc9762c65ab16cecd on fix_accept_encoding into 7678dad175fe0e8015c95bc81fd015c6280c20cd on master.

Coverage increased (+0.3%) to 91.001% when pulling 6a1dae06a2c16ba0bf50ef4cc9762c65ab16cecd on fix_accept_encoding into 7678dad175fe0e8015c95bc81fd015c6280c20cd on master.

Coverage increased (+0.3%) to 91.001% when pulling 6a1dae06a2c16ba0bf50ef4cc9762c65ab16cecd on fix_accept_encoding into 7678dad175fe0e8015c95bc81fd015c6280c20cd on master.

Coverage increased (+0.01%) to 90.706% when pulling 6a1dae06a2c16ba0bf50ef4cc9762c65ab16cecd on fix_accept_encoding into 7678dad175fe0e8015c95bc81fd015c6280c20cd on master.

Coverage increased (+0.01%) to 90.706% when pulling 6a1dae06a2c16ba0bf50ef4cc9762c65ab16cecd on fix_accept_encoding into 7678dad175fe0e8015c95bc81fd015c6280c20cd on master.


added continous release note to new metric - Types of Contributions

Signed-off-by: Kevin Lumbard<EMAIL_ADDRESS>

Oops, it looks like you and @germonprez had conflicting changes, and I already merged his :)


pint 0.20 breaks everything

pint v0.20 did some refactoring, so you now get ModuleNotFoundError: No module named 'pint.measurement'
Tried a simple rename in #49 and got more errors, what fun.

Thanks, we re-built the last version with a pin (openff-units-0.1.8-somethingorother_1) but I'll soon look into a proper fix that doesn't involve upper constraints

Resolved with https://github.com/openforcefield/openff-units/releases/tag/0.2.0


Is done.io still an active project?

I am visiting the website: https://drone.io/ and gives me Coming Soon message. I wonder whether drone.io is inactive.

no


[NIP-65] Publish list of relays

In order to be sure that events between mostrod and clients are being read by each part, we can follow NIP-65 to make mostrod publish an event with a list of relays that mostrod is using, so clients can use the same relays, this is a replaceable event and must be published by the scheduler in a time window, in seconds, to complete this issue we need to add a new variable on  [mostro] section on the settings.toml file, the variable could be named publish_relays_interval, the relay list must be taken from the variable relays inside [nostr] section.

closed with #319


Add hash-checking support to install and sync

Summary
This PR adds support for hash-checking mode in pip install and pip sync. It's a large change, both in terms of the size of the diff and the modifications in behavior, but it's also one that's hard to merge in pieces (at least, with any test coverage) since it needs to work end-to-end to be useful and testable.
Here are some of the most important highlights:

We store hashes in the cache. Where we previously stored pointers to unzipped wheels in the archives directory, we now store pointers with a set of known hashes. So every pointer to an unzipped wheel also includes its known hashes.
By default, we don't compute any hashes. If the user runs with --require-hashes, and the cache doesn't contain those hashes, we invalidate the cache, redownload the wheel, and compute the hashes as we go. For users that don't run with --require-hashes, there will be no change in performance. For users that do, the only change will be if they don't run with --generate-hashes -- then they may see some repeated work between resolution and installation, if they use pip compile then pip sync.
Many of the distribution types now include a hashes field, like CachedDist and LocalWheel.
Our behavior is similar to pip, in that we enforce hashes when pulling any remote distributions, and when pulling from our own cache. Like pip, though, we don't enforce hashes if a distribution is already installed.
Hash validity is enforced in a few different places:

During resolution, we enforce hash validity based on the hashes reported by the registry. If we need to access a source distribution, though, we then enforce hash validity at that point too, prior to running any untrusted code. (This is enforced in the distribution database.)
In the install plan, we only add cached distributions that have matching hashes. If a cached distribution is missing any hashes, or the hashes don't match, we don't return them from the install plan.
In the downloader, we only return distributions with matching hashes.
The final combination of "things we install" are: (1) the wheels from the cache, and (2) the downloaded wheels. So this ensures that we never install any mismatching distributions.

Like pip, if --require-hashes is provided, we require that all distributions are pinned with either == or a direct URL. We also require that all distributions have hashes.

There are a few notable TODOs:

We don't support hash-checking mode for unnamed requirements. These should be somewhat rare, though? Since pip compile never outputs unnamed requirements. I can fix this, it's just some additional work.
We don't automatically enable --require-hashes with a hash exists in the requirements file. We require --require-hashes.

Closes #474.
Test Plan
I'd like to add some tests for registries that report incorrect hashes, but otherwise: cargo test

Open to advice on how best to test that if a registry tells us the wrong hashes, we still validate them at install time. I need a registry or --find-links entry that reports the wrong hashes for a given distribution.

A few TODOs:

[ ] Add some tests for invalid indexes.
[ ] Add some tests for find-links.
[ ] Run a basic benchmark (especially, to ensure that there's no regression for non---require-hashes).

I'd also like to refactor the dataflow from requirements file to RequireHashes, but this isn't required to merge.


[UVG-90] Find H264 start codes that are not 4byte aligned

This fixes the issue where start codes are not 4 byte aligned as expected by the current implementation.  As start codes can be 3 bytes instead of 4, this can lead to scenarios described in issue https://github.com/ultravideo/uvgRTP/issues/90
This is solved by walking the memory by 1 byte instead of 4.  This unfortunately will impact the current performance as it cannot walk the memory 4 bytes at a time in start code detection.  However, the impact is minimal due to the performance of the 8byte haszero64 scan that is used to scan through the bytes before entering this slower walk described above.
Verified the following:
Built in Linux.
Output the produced RTP packets of the FIX to file and processed a binary comparison with another implementation (FFMPEG).  Verified all start codes are accounted for.
Output the produced RTP Packets of the previous version to file and processed a binary comparison with FFMPEG verifying the start codes that are in the NALU that weren't properly parsed.

Hi and same here, please add formats:  to the beginning of the commit message. Thanks!

Joni

Git amend adds another commit and does not have the desired affect from my fork. Closing PR.


dev -> master

Web app was deployed to IPFS:

Private Gateway: ipfs.kira.network/ipfs/bafybeid4qjs7gggw5w6tyemeszikl7dsu3e4nxhcbeu5dqsrfqpkdmhv6m
Public Gateway: ipfs.io/ipfs/bafybeid4qjs7gggw5w6tyemeszikl7dsu3e4nxhcbeu5dqsrfqpkdmhv6m

This PR is obsolete, dev branch is ahead of your branch.


Please consider adding the ability to process a folder of images

Great idea! The next logical step would be to batch process movie frames, exported e.g. using ffmpeg -i video.mp4 frame%04d.jpg -hide_banner

Would it be easier to be able to add command line params for input filename and output filename?

Would it be easier to be able to add command line params for input filename and output filename?

A command line input could be an option, but since he already has a working GUI, adding the ability to input a folder of images seems like a logical next step, especially for Windows users.

All of the above will be implemented in the near future.

A command line input could be an option, but since he already has a working GUI, adding the ability to input a folder of images seems like a logical next step, especially for Windows users.

There may be a fairly simple solution. If there are no parameters, then we just launch the application together with the GUI. If one parameter is passed, then we open the window and load the image, the path to which is in this parameter. If there are more than one parameters, then we parse the parameters and run the application without a GUI with log output to the console.

What is the status on this one?

I second the request for a CLI interface, in the meantime check here for an alternative:
https://github.com/jantic/DeOldify/issues/395

Any updates on this? Is any form of batch processing being worked on?

Thanks for the awesome software! I've converted lots of photos with it. I know the CLI version is on the way but in the meantime the only workaround I've found is to use AutoIt to automate processing of a folder of photos. Here it is: https://github.com/polomoshnov/bulk-deoldify-with-autoit


[SWAGGER/ Club/ GET]  Incorrectly described the parameter for endpoint '/api/clubs/user/{id}'

Environment: Windows 11 Pro Version 22H2 Build 22621.2428
Google Chrome 118.0.5993.118 (Official build) (64-bit)
Reproducible: always
Build found:
front 2024-01-04 d5b9ee
back 2024-01-04 7dd789
Preconditions
1.Swagger http://speak-ukrainian.eastus2.cloudapp.azure.com/dev/swagger-ui/index.html#/  is opened.
2. Token is gotten.
Steps to reproduce

Go to endpoint '/api/clubs/user/{id}' http://speak-ukrainian.eastus2.cloudapp.azure.com/dev/swagger-ui/index.html#/club/getListClubsByUserId
Actual result
ID is present as a parameter.
The concept of a parameter is incorrectly described.

Expected result
ID should not be a parameter.
Detailed information about the path is available.

Related:
https://github.com/ita-social-projects/TeachUA/issues/2135
https://github.com/ita-social-projects/TeachUA/issues/2132
https://github.com/ita-social-projects/TeachUA/issues/2117
https://github.com/ita-social-projects/TeachUA/issues/2133
https://github.com/ita-social-projects/TeachUA/issues/2134


Crash when changing the source

I want to set the source (a uri) from value on my component's state. The video loads correctly the source on the initial state, but whenever I change it, the whole app crashes.
These are the logs from Xcode:
2016-05-12 19:21:06.098 exponess[84835:1603400] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An instance 0x7fbd2b504c40 of class AVPlayer was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x7fbd28f49900> ( <NSKeyValueObservance 0x7fbd28fb72b0: Observer: 0x7fbd2b4e8710, Key path: rate, Options: <New: NO, Old: NO, Prior: NO> Context: 0x0, Property: 0x7fbd28fb6c10> )' *** First throw call stack: ( 	0   CoreFoundation                      0x0000000107c5ad85 __exceptionPreprocess + 165 	1   libobjc.A.dylib                     0x0000000106ab3deb objc_exception_throw + 48 	2   CoreFoundation                      0x0000000107c5acbd +[NSException raise:format:] + 205 	3   Foundation                          0x00000001066c2d41 NSKVODeallocate + 294 	4   libobjc.A.dylib                     0x0000000106ac7afe _ZN11objc_object17sidetable_releaseEb + 232 	5   libsystem_blocks.dylib              0x000000010b8b26b1 _Block_release + 128 	6   libdispatch.dylib                   0x000000010b83b3eb _dispatch_client_callout + 8 	7   libdispatch.dylib                   0x000000010b8231ef _dispatch_main_queue_callback_4CF + 1738 	8   CoreFoundation                      0x0000000107bb40f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9 	9   CoreFoundation                      0x0000000107b75b99 __CFRunLoopRun + 2073 	10  CoreFoundation                      0x0000000107b750f8 CFRunLoopRunSpecific + 488 	11  GraphicsServices                    0x000000010c953ad2 GSEventRunModal + 161 	12  UIKit                               0x0000000109b57f09 UIApplicationMain + 171 	13  exponess                            0x000000010631f04f main + 111 	14  libdyld.dylib                       0x000000010b86f92d start + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException

That's not a problem of a bug in changing the source, but in observers of AVPlayer not being unregistered before component's deallocation. Will look into it today.

What package version are you using?

I have the same problem with version 0.8.0-rc

Same problem with 0.8.0-rc

I figured out a simple workaround.
Whenever I want to change the source, I render a new instance of <Video>
The way I do it is with a variable in the state
my render method goes like this:
render() {
    const { isChanging, source } = this.state;
    const video = isChanging ? null : (<Video
      source={source}
      style={styles.backgroundVideo} />);
    return (
      <View style={styles.container}>
        {video}
      </View>
    );
}

And the method to change the source:
play(source) {
    this.setState({ isChanging: true });
    this.setState({ source, isChanging: false });
  }

+1

+1

+1

+1

+1, but it also crashes if the source is null or empty string.  I ended up with a similar solution outside of the render return:
let videoDisplay = null;

      // Protect against empty video sources
      if (!!this.state.vidPath) {
          <Video
            style={ [ styles_Social.videoScreen, { opacity: this.state.showVideo } ] }
            ref={ component => components.video = component }
            source={{uri: this.state.vidPath }}
            paused={ false }
            loop={ true }
            //onEnd={ this._nextSection }
            muted={ true }
            />
      } else {
          console.log("[MODULENAME.js] Skipping video due to empty source", this.state.vidPath);
      }

and then later using
{videoDisplay}


Create resource group in template using New-AzureRmResourceGroupDeployment

Is it possible to deploy the ARM template using New-AzureRmResourceGroupDeployment?
I'd like to leverage the capabilities described on this page to have an ARM template to also create the resource group without using a separate PowerShell command. I cannot use the subscription scope commandlet New-AzureRmDeployment because it does not support the resourceGroup() function that is used by the service fabric cluster ARM template that we use. I have a 'Management' resource group with blob storage for linked templates to use for the resource group scoped commandlet. I tried creating some variations of the examples here but I cannot get the resource group to deploy.  Thanks, --Brian

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

ID: da55b847-6066-3e2b-09bc-160e17cf33f3
Version Independent ID: 9a08f975-dcf6-3e2d-0c77-845a1b94271e
Content: Create resource group in Azure Resource Manager template
Content Source: articles/azure-resource-manager/create-resource-group-in-template.md
Service: azure-resource-manager
GitHub Login: @tfitzmac
Microsoft Alias: tomfitz

@brianstringfellow Thanks for the Comment. We are actively investigating and will get back to you soon.

@brianstringfellow - sorry, you cannot use that command for a subscription level deployment. Is it possible to remove resourceGroup() in your other templates? If you are using it for location, you could add a location parameter. If you are using it for the resource group ID, that might be trickier.

@brianstringfellow would also suggest sharing your feedback/feature request directly with the ARM engineering team using this link.


Multiple cameras in same scene

Can I have multiple cameras in scene so that I can apply some offset to both translation and rotation of ArCore's pose and see the world through this camera. ArSceneView won't let me change the pose of camera so was wondering if I can have another camera in scene with offset-applied Pose ?

Multiple cameras is outside the scope of what Sceneform is trying to accomplish.  I think your alternatives are to use a low level graphics API (e.g. OpenGL) and manage the camera relative to the ARCore frame yourself, or depending on what you are trying to do, maybe you can offset nodes in the Scene by inserting a node with your desired offset as a child of the Scene, and then the rest of your scene would be parented by the offset node.


Port layer type is List for fanout_component

I recently ran into an issue where the Component.get_ports_list function no longer returns all of the ports with the correct Layer. I tracked the problem down to some ports now having their layers as lists rather than tuples, but the equality check in get_ports_list:
ports = {p_name: p for p_name, p in ports.items() if p.layer == layer}

requires that they be tuples. This can be fixed by simply casting p.layer to a tuple, but that doesn't fix the reason that the port layers are lists sometimes.
After a bit of digging, only the ports created by fanout_component are having their layers turned into lists, which seems to be due to the recent change in 66fc74b to use port.to_dict().copy() over port.settings.copy(). This passes the port dict through the clean_dict_json function, which converts the tuple layer to a list.
I'm not sure whether it's best to just make a PR that adds a type cast for the layer to a tuple in select_ports or if we should maybe add an additional method like to_dict_json that specifically prepares the port for a json export instead of cleaning it by default?
Maybe the best way to go is to just convert the layer from a list into tuple when creating the port (see #1910)
@joamatab

Hi Thomas,
did your PR fixed the issue?
https://github.com/gdsfactory/gdsfactory/pull/1910


Make sure that we search for finding groups for "group by" in the sam…

…e test
Description
I noticed that when grouping findings in one product, they appeared in a finding group in a different product/test which shared the same name.
Test results
Tested that finding groups are jailed to the test associated with the finding.

@coheigea good catch.


ungoogled-chromium 102 blocks DPMS suspend (potentially also screensavers)

Since version 102, after playing any video (youtube, twitch were tested), even after closing the tab, DPMS suspend is blocked.
This did not occur before on any of the previous versions, downgrading to ungoogled-chromium-101.0.4951.64-1 makes it behave properly, whereas both ungoogled-chromium-102.0.5005.61-1 and ungoogled-chromium-102.0.5005.61-2 have the issue.
(compiled from the AUR package locally, using latest arch vanilla makepkg.conf, changing only march, mtune, -j flag and BUILDDIR set to tmpfs)
To reproduce
Test normal behavior
-- Launch chromium
-- Trigger a screen locker that sets dpms timeout (sxlock etc..) or just set dpms timeout to something short to test
-- Verify that display goes to sleep/suspend as expected
Test incorrect behavior:
-- Launch chromium
-- Open a youtube video tab and play the video.
-- Pause or close the tab completely
-- Trigger dpms timeout suspend as before
-- Verify that display does not enter sleep
using xset dpms force suspend it will work as it will ignore X client wake events.

does this happen only under arch?

I do not have any other systems I could test in unfortunately :/

What is your DE? Cannot reproduce on Gentoo under xfce.

I am using i3

I also can't reproduce, currently using sway.


Introduction of MetadataHighwayServicesClient

The gradle build output is at https://dev.azure.com/ODPi/Egeria/_build/results?buildId=10942&view=results
This failed with an error
Execution failed for task ':open-metadata-implementation:repository-services:repository-services-client:compileJava'.
> Compilation failed; see the compiler error output for details.

Looking up for more detail we see:
/home/vsts/work/1/s/open-metadata-implementation/repository-services/repository-services-client/src/main/java/org/odpi/openmetadata/repositoryservices/clients/MetadataHighwayServicesClient.java:35: error: package org.springframework.web.bind.annotation does not exist
import org.springframework.web.bind.annotation.GetMapping;
                                              ^
/home/vsts/work/1/s/open-metadata-implementation/repository-services/repository-services-client/src/main/java/org/odpi/openmetadata/repositoryservices/clients/MetadataHighwayServicesClient.java:36: error: package org.springframework.web.bind.annotation does not exist
import org.springframework.web.bind.annotation.PathVariable;
                                              ^
/home/vsts/work/1/s/open-metadata-implementation/repository-services/repository-services-client/src/main/java/org/odpi/openmetadata/repositoryservices/clients/MetadataHighwayServicesClient.java:37: error: package org.springframework.web.bind.annotation does not exist
import org.springframework.web.bind.annotation.RequestMapping;
                                              ^
/home/vsts/work/1/s/open-metadata-implementation/repository-services/repository-services-client/src/main/java/org/odpi/openmetadata/repositoryservices/clients/MetadataHighwayServicesClient.java:38: error: package org.springframework.web.bind.annotation does not exist
import org.springframework.web.bind.annotation.RestController;
                                              ^
4 errors

This looks like a missing dependency .... will comment later

the build can be repeated with ./gradlew build from top level dir

@planetf1 Thanks Nigel - looks like I had some unused imports lying around. Am just rebuilding with them cleaned up and will repush soon.

The Java 11 build is failing in the open connector framework tests. There looks like an odd fork/class loading issue which I've not seen before.
I cannot see any way your change caused this. My guess is it's an intermittent/one-off error - resource? or is a change in the build environment (the VMs are standard provided by MS, as is java etc)
I would recommend re-pushing to force a new build - or I can run a new build manually and we investigate if it reoccurs...

Fixes #3644


Get variables of active theme

Great work with this new project!
I think it is quite common to want to access the global variables directly, not only indirectly via the derived style sheet. This is especially true when styling third party package components via custom props, or when using small snippets of in-line styling. As far as I can see, there is currently no built-in method to achieve this. For example, say you have:
const darkThemeVariables = { primary: '#333333'};
const lightThemeVariables = { primary: '#eeeeee'};
ThemeManager.addVariables('dark', darkThemeVariables);
ThemeManager.addVariables('light', lightThemeVariables);

Then something like the following would be very useful:
let activeThemeVars = ThemeManager.getVariables(this.context.theme)
let activePrimaryColor = activeThemeVars.primary

Such that '#333333' would be set as the activePrimaryColorvariable if the Dark theme is active.

Thanks @gcushen !
Try this:
console.log('current theme variables', ThemeManager.themeVariables[this.context.theme]);
console.log('global variables', ThemeManager.themeVariables[ThemeManager.globalTheme]);

Global variables are added as follow:
ThemeManager.addVariables({ page: { padding: 10 } }); //without passing the theme argument
But you are right. I'll add a getVariables method in the next version!
Please let me know if that works.

Thank you very much for the fast reply @brunolemos !
Those two methods/objects that you mentioned are very useful. I just tested them both in my app and they solve my advanced theming problems.
Yes, getVariables sounds like a good method name to compliment your existing getVariable method :smiley:

@gcushen Great! 🎉


can u publish the source code of your site: https://thanethomson.com/ to your github a/c?

hi.
i like ur site: https://thanethomson.com/ ,u can just not upload ur source posts,just upload a demo source post.
thank u very much!

Thanks! 😁
I can definitely put it up on GitHub. Will do so a little later this week!

hi.
today is sunday.are u free to publish the source code of your site: https://thanethomson.com/ to your github a/c?
thank u very much!

Sorry for the delay! Here's the newly-created repo.


[opentimelineio] add OTIO_NS convenience macro for C++ clients

This adds an "OTIO_NS" macro as a shorthand for the full "opentimelineio::OPENTIMELINEIO_VERSION" namespace.

Codecov Report

Merging #534 into cxx will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##             cxx    #534   +/-   ##
=====================================
  Coverage   82.6%   82.6%
=====================================
  Files         71      71
  Lines       2730    2730
=====================================
  Hits        2255    2255
  Misses       475     475

Flag
Coverage Δ

#py27
82.6% <ø> (ø)
:arrow_up:

#py35
?

#py36
82.6% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


 The TLDR is that flyspell-buffer sometimes calls flyspell-small-region, which calls sit-for after checking every word, causing a redisplay. This causes insertions at the wrong place when typing e.g. a commit message, which is annoying (-> undo).

Sorry for the late response, but is this still an issue? I am unable to reproduce it in vanilla Doom. Can you reproduce it in the sandbox?


Add resource endpoint for Azure SignalR Service

Update authentication-managed-identity-policy.md adding resource for Azure SignalR Service

@vicancy,
PRMerger will accept sign-off from the listed author only. However, if you are a Microsoft employee authorized to update this content, you can send a request to<EMAIL_ADDRESS>for this PR to be merged. Include your role and an explanation of why the PR should be merged without approval from the listed author.

@dlepow,
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@Court72,
Any update on this PR?

#sign-off


8147 bug streaming on react chat agent not working as expected

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
The BUG:

The original intention of ReActAgent.stream_chat method is to only stream the final response; and not the entire ReAct outputs that encompass a Thought-Action-ActionInput-Observation-....-Answer pattern.
Ultimately, we had a BUG in our logic when monitoring the stream of the output in real-time to infer when the latest stream (of the current iteration) is part of the final reasoning step (i.e. has the Answer)

The biggest culprit was when the Agent decides to not use the Thought-Action pattern (which we handle a bit in output_parser for extracting reasoning steps, but this part of code doesn't get hit until after we've accumulated a full response)
The result was that it would get a Response, but we were not correctly stopping the ReAct evaluation, so it would go to the next step, and then sometimes (but not always) it would stop execution

The FIX:

Improved logic check for when a chunk stream is part of the final response and/or if the Agent decided to not use the Thought-Action pattern
A bit of manual Prompt Engineering:

Added explicit instruction in the system prompt for ReAct to start with a Thought
Added an end case where the Agent doesn't have the right context to answer the query (without this, the ReAct agent would loop over and over often)

When asserting if the latest chunk of the stream is part of the final reasoning step, we need to add it back to the chunk stream before giving it off to StreamingAgentChatResponse; otherwise the final response is missing the initial part of the answer (i.e., a typical chunk for the start of the final reasoning step looks like "Answer: I", so not putting this back in the stream doesn't capture the "I" part of the final response)
Added async of stream_chat

Requires aiostream to merge the partial_response_chunk back to the async stream

Fixes #8147
Type of Change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Added new Modified relevant unit/integration tests
[x] Added new Confirmed relevant notebooks still worked end-to-end (that tests end-to-end)
[x] I stared at the code and made sure it makes sense

MORE NOTES:

When stream_chat and verbose=True the final Response reasoning step will only output the beginning of the response
This is because once we identify that the incoming stream is now the final response reasoning step, we pass the stream off to StreamingAgentChatResponse.
To show this, the modification to the React verbose output indicates Starts With when in streaming mode:

Taking a look now!

Feel free to merge when you are ready!

Merging now.


Need a way to trust the nexus server certificate.

When the Nexus repository is hosted under https, if the certificate issued to the server is not valid, the request to upload the file will fail.
In some cases, there is the need to bypass this behavior, for example, if the certificate is a self signed certificate, or the root certificate authority is an Enterprise Root CA.

This is fixed in #8, by adding a input to the task that allows to configure if the request should trust the server certificate.

Thanks for the contribution, Yunior!  Can you please address the comment on the pull request?

Hi David , I just updated the help of the task according to your comment.


Powershell Install Instructions

The instructions to install AzureCLI.msi via powershell don't seem to work correctly?
Followed the instructions here:
https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-windows?view=azure-cli-latest
Issued the following via ps prompt to install:
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'
All appears to complete ok.
When tried to run az, I get the following:
az : The term 'az' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the     spelling of the name, or if a path was included, verify that the path is correct and try again.                         At line:1 char:1                                                                                + az                                                                                + ~~                                                                                + CategoryInfo          : ObjectNotFound: (az:String) [], CommandNotFoundException                                      + FullyQualifiedErrorId : CommandNotFoundException
Closed CMD prompt and opened a new one, same result.
Manually installed the AzureCLI via the MSI that was downloaded in the previous command, run az and all works ok.

@fengzhou-msft Could you take care of this issue?

@isa56k Please start PowerShell as administrator and run the installation command, after installation just start another Powershell normally to run az command.

Close due to inactivity. Please feel free to reopen this issue if it still exists for you.


Juliainstaller Crash Report

When I attempt to drop the crash report github tells me that it doesn't like the TOML file type.
report-9d63f0a9-d544-4207-9f10-e329c2661bb6.toml.gz

Contents:
name = 'Juliainstaller'
operating_system = 'unix:OSX'
crate_version = '1.8.16'
explanation = '''
Panic occurred in file 'src/operations.rs' at line 749
'''
cause = '''
called `Result::unwrap()` on an `Err` value: Failed to open file /Users/ma20958/.bash_profile.

Caused by:
    Permission denied (os error 13)'''
method = 'Panic'
backtrace = '''

   0: 0x1029c8a88 - juliaup::command_config_modifypath::run_command_config_modifypath::h0f87529dd7cef58e
   1: 0x10290f0a8 - juliainstaller::main::h6342f9beb07f076b
   2: 0x1028f80d4 - std::sys_common::backtrace::__rust_begin_short_backtrace::hda91fd22e5148544
   3: 0x102914b7c - _main'''`

Looks like the same issue as #624.

I believe that when we fix https://github.com/JuliaLang/juliaup/issues/624, then this error here should also be sorted out. So I'm going to close this issue for now, I think technically it is a duplicate.


[suggestion] Add Grant- and Revoke-related fields to PermissionToken

Feature request
This issue is blocked by #3270.
I'd like to add new fields in PermissionToken (not in PermissionTokenDefinition):

sharable: bool -- indicates if user can Grant the copy of this token to another user with possibility to Revoke it if it's allowed according to the next field in this list;
permanent: bool -- indicates if token can be revoked by another user.

If user can grant token to another user, then they can only grant token with the same options or downgraded. User cannot upgrade this options.
User can receive fully-upgraded token only from another user obtaining it OR from Iroha 2 it-self, i.e. by creating new AssetDefinition user will get fully-upgraded tokens to manage it.
User can always Revoke them-own tokens.
Maybe naming is not the best. I'd like to hear what other think.
Motivation
This will help us:

Remove pass_condition's introduced in #3106
Simplify Grant and Revoke validation

Who can help?
@arjentix, @mversic, @appertosyan

Don't like it.
shareable: bool // Note spelling
Can be instrumented with smartcontracts. So for example a single WASM blob can see if some account was granted a permission token, and grant that same account the permission to grant that token according to arbitrarily complex logic.
You adding this either forces people to duplicate the effort, but also limits what that logic could be.
permanent: bool
Given runtime upgrades, and fully runtime validators I'm 100% sure this is not a guarantee.
Size considerations
Consider that permission tokens in context of #3270 are going to accompany many more accounts than we have at the moment. As I demonstrated, the boolean fields are completely unnecessary, and thanks to padding and alignment these fields can cost us way more than two extra bytes of space per token per user.
We already have an overwhelming problem with structure size particularly for accounts. This would make the problem significantly worse, so unless there's a very good reason to do this given we accept #3270, I'd recommend avoiding it at all costs.
@mversic @Erigara What do you think?

IMO strict system for permission tokens a bit contradict freedom that runtime validators provide.
So maybe we can leave permission token as some kind of labels and offload validation to validators.

So we decided to not to work on this AFAIK. Can we close this?


Add interaction logs

Description

Transaction result can't be returned before new block is commited and all changes done by transaction are calculated and stored. I've added new admin endpoint, which will allow to access logs by transaction id at /emulator/logs/{txId}. This will keep Backend in complience with access.API interface and (technically 😅) shouldn't break existing solutions 🤞
Script result can be returned with HTTP request, so we create new type, which holds all the fields of ScriptResult, add new field Logs and then encode it as json

Drawbacks

gRPC endpoints are not implemented 😬

@sideninja need your advice on how to properly implement/improve this feature 🙇
Closes #223

For contributor use:

[x] Targeted PR against master branch
[x] Linked to GitHub issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[ ] Updated relevant documentation
[x] Re-reviewed Files changed in the GitHub PR explorer
[x] Added appropriate labels

It seems it should work with grpc requests too.
Although I think returning script logs with emulator API endpoint like transaction can be good, it makes it super complicated with scriptID collision ( and parallel tests )
Also with ScriptResultWithLogs, we are returning totally different result it seems.

@MaxStalker can you check what is going on with tests?
On the first glance I think this might be problematic with concurrent execution. But I see the need for this functionality. Will try to share some thoughts soon.

fair enough

Transaction result can't be returned before new block is commited and all changes done by transaction are calculated and stored.

Can you elaborate why this is problematic?

Just converted to draft until tests are passing and it's ready to review.

I added support for tx logs via API, scripts logs still hanging but this PR is very stale, closing, @MaxStalker if you want me to reopen it please just say.


Opinion/Feedback/Question Best Practices on using neverthrow

Hi,
Let's say I have recently inherited a code project which uses neverthrow for error handling. To me, the advantages of neverthrow over throwing an error is not fully apparent.
Firstly, when writing a function that returns a Result<any, err>, the entirety of the function body has to be in a try-catch block. If this rule is not followed, then the neverthrow paradigm is broken
function b(): Result<any, Error> {
  a(); // if a throws, then b() will throw. Therefore, all code should be in a try-catch
  try {
      ...
  } catch(error) {
     err(error);
  }
}

Generally, I find that developers will eventually write function that potentially throws, and we overcompensate this by having both a try-catch on top of checking the result value.
try {
    const exampleReceived = await this.getExample("something");
    if (exampleReceived.isErr()) {
        return err(exampleReceived.error)
    }
    const example = exampleReceived.value;
    //business logic
} catch (error) {
    return err(error);
}

How do you suggest we avoid having to do the above?

hey @provdlaw,
While transitioning from a codebase that uses throw frequently to one that uses throw sparingly means that you do have to wrap certain functions in try / catch blocks.
But this shouldn't be done on the ideological basis that "anything can throw". Technically-speaking, yes, you're right. Who knows whether Boolean(123) will one day decide to throw an exception. But that's overly defensive programming.
So my recommendation is to only wrap in a try/catch what you know is designed to throw under certain circumstances. The issue of "I find that developers will eventually write function that potentially throws", is more of a cultural one for your team. Your team has to have a discussion regarding coding conventions and agree to not use throw excessively when returning a simple value (not even a Result) would have been sufficient.
So my recommendation is:

Have a discussion with the team regarding whether folks even like this functional & declarative approach to error management ... maybe the simple solution is npm uninstall neverthrow
If they do, then a discussion needs to be had around when it is appropriate to use throw and when it is
Then avoid using try / catch out of fear that a teammate may have snuck a throw statement in there in spite of the coding conventions

Closing this issue, but let me know if you have any other questions or anything!