Can you help me to reproduce your result?

I'm going to reproduce your results.
There are two questions in the process.

How to make "set8"?
I take derf video file from this git.
It generates the same resolution of the video(960 X 540) as your paper used.

https://github.com/cmla/derf-hd-dataset

And I used ffmpeg4 to extract images from the video.

ffmpeg -i input.mp4 out%d.png

But your weight file("model.pth") shows better results than your paper.

set8 with sigma 50
(My result with your weight: 30.36 / your paper said 29.53)
And I don't forget to set max frame 85.

Is there any wrong in my implementation?

My training result is worse than your wight file.
I used your training file, which is uploaded on dropbox.
And then set batchsize-96 / max_number_patches 384000 / noise_ival [5, 50].
The rest used default settings.
I used 3 2080 RTX GPU for this training.

The result is this.
-Our set8 with sigma 50
(Yours - 30.36 / our best 29.96 )
So... Can you help me with how to reproduce your result?

I fixed  some problem in my "set8".
Now I get 29.46dB in "set8" with your weights. (paper is 29.53dB )
I think this difference is reasonable because seed for noise is not fixed.
But still my weight shows 29.09dB in fixed (Your's 29.46 dB).
It is non-trivial difference.
Is there any tip to get your result?

Hi dustlrdk, sorry for the late response, I've been a bit busy.
I'm uploading the whole Set8 testset to the folder linked in the README file so you can try running the algorithm with them.
By the way, the PSNR displayed on the paper is the average of the PNSR of each sequence in the testset. The PSNR of each sequence is the average of the PSNR of all frames.
So for your second question, as far as I understand, you try to train the model and you get different results. As you know, for the training you need mp4 files with the davis sequences. When converting the sequences one has to pay particular attention to the 'crf' and 'keyint' ffmpeg parameters to avoid strong compression. For the code to convert the image sequences see this gist
https://gist.github.com/m-tassano/0536391eb79d63864e5005ea4da88243
hope this helps

Thank you for your sincere reply.
I re-run test code with uploaded data.
I got a result(our 29.4586dB | your paper 29.53dB).(You said you used "macro averages," didn't you?)

dir=./data/$1
for f in "$dir"/;
do
i=${f##/}
CUDA_VISIBLE_DEVICES=$3 python test_fastdvdnet.py --test_path $f --noise_sigma $2 --save_path results/$1/sigma$2/$i/ --max_num_fr_per_seq 85
done
for f in "$dir"/;
do
i=${f##/}
cat results/$1/sigma$2/$i/log.txt | grep PSNR | cut -f9-9 -d" " | cut -f1 -d"d"
done

Can you try this shell code with your code and weight?
I got this.

30.2415
26.7901
26.9022
28.791
28.3301
33.0974
31.9209
29.5933

Average : 29.4583125
And I used mp4 files in training folder you uploaded on the dropbox, do I have to make new mp4 training files instead?

I use the training mp4 from your dropbox, and set all the parameters the same as your paper mentioned using your training code. I have trained at least ten models but none of them achieve the performance of your provided model or the results on your paper.
The set8 results with sigma 50 are as follows (the format is * test sequence name: PSNR of the provided model.pth vs PSNR of my trained model):
* hypersmooth: 30.2355 vs 30.1125
* motorbike:      26.7900 vs 26.7176
* park_joy:         26.9008 vs 26.3757
* rafting:            28.7940 vs 28.6722
* snowboard:     28.3337 vs 28.1645
* sunflower:       33.0950 vs 32.2683
* touchdown:    31.9184 vs 31.3565
* tractor:            29.5916 vs 28.9817
My results on DAVIS-2017-test-dev-480p are also unsatisfying. I list here for comparison (the format is sigme=value: PSNR in your paper vs PSNR of the provided model.pth vs PSNR of my trained model):
sigma=10: 38.71 vs 39.2444 vs 36.1642
sigma=20: 35.77 vs 36.1032 vs 35.7380
sigma=30: 34.04 vs 34.2924 vs 33.8718
sigma=40: 32.82 vs 33.0229 vs 36.5660
sigma=50: 31.86 vs 32.0329 vs 31.5659
And I find the model is tend to get abnormally low PSNR with sigma 10,  some of my models even get results like 29.5427 and 33.4307.
Anyone has reproduced the results?
I really can't figure out what's wrong with my training process.

And using my own training mp4 gets higher results than the mp4 downloaded from your dropbox.
I produce the mp4 using the code "ffmpeg -f image2 -i %05d.jpg xxx.mp4".

@djmth Anyone has reproduced the results?

Our results seem quite similar. I too have abnormally low performance on sigma=10 (even worse than yours).

Model Name
Noise Level
Daivs Test
Set 8

Authors Paper
10
38.71
36.44

20
35.77
33.43

30
34.04
31.68

40
32.82
30.46

50
31.86
29.53

Authors Weights
10
39.2439
36.4054

20
36.1022
33.3794

30
34.2952
31.6226

40
33.0215
30.3977

50
32.0329
29.4577

My Training
10
30.2144 👈
26.9875 👈

20
35.6938
33.0682

30
33.8302
31.2819

40
32.5281
30.0381

50
31.5278
29.0777

@m-tassano

The training dataset provided in your DropBox is actually incomplete (only 86 sequences of 90 are present). I proceeded to recreate the training dataset by downloading from DAVIS's official site and then using your gist with the default parameters to create it.
My Set8 is the same as your dropbox link (4 folders from gopro and 4 folders from derf).

I am unable to reproduce your results, and this feels to be a prevalent issue. I request you, if possible, as the author, try to confirm these by recreating your experiments from this repo and maybe there is indeed a possible bug somewhere in this repo.

Hi,
I agree that those PSNRs look abnormal, which might come from a training which did not converge well. Are those the results of only one training or do you see those figures repeating along different experiments on your side?
Those 4 sequences were removed because their resolution is different from the rest of the sequences (shooting:1152x480, disc-jockey:1138x480, cat-girl:911x480, bike-packing:910x480). The reason behind this is that DALI does not support inputs with different resolutions, or at least the DALI version used when I first uploaded the project. That means, the provided training dataset is correct and the one used to train the provided weights.
Another factor which might introduce variations is the way you compute the PSNRs of each frame and how you accumulate the scores of all frames of all sequences. You can find the script I used to compute the metrics and the tables in the paper [here|https://www.dropbox.com/s/wei8uhym1i4viot/make_tables_allalgos.ipynb?dl=0]. You are welcome to use the code with your results.
Lastly, I was recently forced to update the supported DALI version because the original version which was employed when the method was published is no longer supported by NVIDIA. I have not tested this new DALI version thoroughly and it might have an impact on the results. I will try to run a training in the following days if I can find the time.

Hello. Thanks for your reply!

Are those the results of only one training

My results are from a single experiment.
Although, since most results reported by others on this repo seem similar, I feel we could rule out the possibility of a single bad experiment.

the provided training dataset is correct and the one used to train the provided weights

Thanks for this clarification! Oh by the way, the dataloader from the new DALI version was able to load these anomalous sequences as well!

You can find the script I used to compute the metrics and the tables in the paper

Great. I shall try computing metrics using this script.

I will try to run a training in the following days if I can find the time

Thank you very much. I really appreciate it.

I also have the similar problem and my results seem to quite similar to some of the results mentioned here i.e I got 31.257 PSNR on noise=30 on set8.

even when i run the trained model the results are not completely similar. I get 31.60 something vs 31.68 mentioned in the paper.

Hello @m-tassano
I am trying to train model with same training mp4 files but after 1epoch it gives me ZeroDivisionError. I kept validation images in validation folder but still gives this error. can you help me to solve this problem. I am using your updated release code.
File "train_fastdvdnet.py", line 212, in
main(**vars(argspar))
File "train_fastdvdnet.py", line 147, in main
trainimg=img_train
File "/home/knuvi/Desktop/Kavita/fastdvdnet-0.1/train_common.py", line 130, in validate_and_log
psnr_val /= len(dataset_val)
ZeroDivisionError: division by zero

@m-tassano @Syzygianinfern0
For validation images i have added 15 images (own images with size 960x540) in my validation dir but when I run train_fastdvdnet.py I am getting below problem now. can you help me to solve this. Also i bit confused about testing images (how many images per sequence tests this model)?
/home/knuvi/anaconda3/envs/fastdvdnet2/lib/python3.6/site-packages/nvidia/dali/plugin/base_iterator.py:162: Warning: Please set reader_name and don't set last_batch_padded and size manually whenever possible. This may lead, in some situations, to missing some samples or returning duplicated ones. Check the Sharding section of the documentation for more details.
_iterator_deprecation_warning()
Traceback (most recent call last):
File "train_fastdvdnet.py", line 212, in
main(**vars(argspar))
File "train_fastdvdnet.py", line 38, in main
temp_stride=3)
File "/home/knuvi/Desktop/Kavita/fastdvdnet-0.1/dataloaders.py", line 110, in init
auto_reset=True)
File "/home/knuvi/anaconda3/envs/fastdvdnet2/lib/python3.6/site-packages/nvidia/dali/plugin/pytorch.py", line 183, in init
self._first_batch = DALIGenericIterator.next(self)
File "/home/knuvi/anaconda3/envs/fastdvdnet2/lib/python3.6/site-packages/nvidia/dali/plugin/pytorch.py", line 194, in next
outputs = self._get_outputs()
File "/home/knuvi/anaconda3/envs/fastdvdnet2/lib/python3.6/site-packages/nvidia/dali/plugin/base_iterator.py", line 255, in _get_outputs
outputs.append(p.share_outputs())
File "/home/knuvi/anaconda3/envs/fastdvdnet2/lib/python3.6/site-packages/nvidia/dali/pipeline.py", line 863, in share_outputs
return self._pipe.ShareOutputs()
RuntimeError: Critical error in pipeline:
Unknown error
Current pipeline object is no longer valid.

https://docs.nvidia.com/deeplearning/dali/user-guide/docs/installation.html#nvidia-dali
You can choose the DALI CUDA version you want to install here 👆

@Syzygianinfern0 Thanks. My cuda memory problem is solved after restarting.
How many validation images we can test ? because I have converted .yuv video format to .png images (total 100 frames for validation). After setting my environment I started training  but after one epoch I am getting zerobydivision error.
[epoch 1][1981/2000] loss: 15.6695 PSNR_train: 0.0000
[epoch 1][1991/2000] loss: 15.7777 PSNR_train: 0.0000
Traceback (most recent call last):
File "train_fastdvdnet.py", line 212, in
main(**vars(argspar))
File "train_fastdvdnet.py", line 147, in main
trainimg=img_train
File "/home/knuvi/Desktop/Kavita/fastdvdnet-0.1/train_common.py", line 130, in validate_and_log
psnr_val /= len(dataset_val)
ZeroDivisionError: division by zero

this is command i am giving to for training model but I dont know why My validation images not getting exact path thats why this error occur.
(fastdvdnet2) knuvi@DGX-Station:~/Desktop/Kavita/fastdvdnet-0.1$ python train_fastdvdnet.py --batch_size 128 --epochs 80 --patch_size 96 --trainset_dir "/home/knuvi/Desktop/Kavita/fastdvdnet-0.1/img/train/" --valset_dir "/home/knuvi/Desktop/Kavita/fastdvdnet-0.1/img/basketball100/" --log_dir logs

Hey sorry i forgot to inform you . The above command works for me. Thank you so much

@m-tassano In fastdvdnet model (Model.py) number of input are 5 and it takes 3 frames to pass denoising blocks. Similarly if I want to takes only 2frames from inputs is it possible and what changes required in model.py?

@kavita19 please create a new issue for a separate topic

@m-tassano @Syzygianinfern0
As I read in the paper runtimes shows 0.1s to denoise image. But when I tested snowboard sequence runtime is (Denoised 59 frames in 3.932s, loaded seq in 6.258s). Please can you clear me paper runtime result is based on one image or all frames? and which dataset you used to calculate runtime.

@kavita19 I'll try to answer to your question the best I can because I find it's not completely clear.
As mentioned in the paper, the reported time is the time it takes to denoise a color frame of resolution 960×540. So, it doesn't really matter which dataset you use as long as its frames have this resolution--I believed I used one of the sequences in the Set8 dataset, in any case.
The runtime estimation was computed as the total time over the number of frames in the sequence. The same was used for all the algorithms mentioned. Note that if you denoise a sequence with more frames, the runtime per frame will likely decrease, as there's an overhead when loading the input sequence.
Hope this helps

@m-tassano Thank you for your reply.
for validation which dataset you used and how many png images you were used in validation ?

Please note that the performance of the model trained with the old DALI version (the one originally used to train the weights shared in the Github) has been reported to be superior than the one obtained with the new DALI version.
Or inversely, the new DALI version is linked to a drop in the performance of the model.
See https://github.com/m-tassano/fastdvdnet/issues/51 for more details.


Minimal package requirements to run a jupyter notebook

Lately I have been running into some issues with environments and jupyter notebooks where I am asked to install ipykernel into the environment even though it is already installed.
It is not clear to me what the minimum requirements actually are from the current sources of information:

https://code.visualstudio.com/docs/datascience/jupyter-notebooks#_setting-up-your-environment mentions jupyter
https://github.com/microsoft/vscode-jupyter/wiki/Jupyter-Kernels-and-the-Jupyter-Extension#python-environments mentions ipython and ipykernel
https://github.com/microsoft/vscode-jupyter/wiki/Installing-Jupyter mentions jupyter may be required.

Note,

jupyter requires ipython and ipykernel.
ipykernel requires ipython.

So which one is it? What are the minimum requirements with versions?

You need to install the latest version of IPyKernel and all of the related dependencies.
Use pip install ipykernel or the like, as to what the related dependencies are depends on the ipykernel package itself.

So which one is it? What are the minimum requirements with versions?

Closing this issue as this has been answered.
If there are other questions, please feel free to file a new issue or ask ehere.

@DonJayamanne thanks for the reply.
By latest available version I assume you mean latest version in the environment.
Can you  please also clarify the meaning of "jupyter may be required" as mentioned https://github.com/microsoft/vscode-jupyter/wiki/Installing-Jupyter. In which cases might jupyter be needed?

ning of "jupyter may be required" as mentioned

This is when some of the native modules for zmq do not work on your platform.
Its a little technical, but if you get promtped to install jupyter, thats the easiest way to tell that the native modules do not work on your platform.


The time zone will be reduced by 8 when inserting into the database

1. What version of Go and system type/arch are you using?
1.20
2. What version of GoFrame are you using?
2.4
3. Can this issue be re-produced with the latest release?
是
4. What did you do?
往数据库插数据的时候，时区会减个8？？？？
5. What did you expect to see?
不要做任何动作
6. What did you see instead?

ORM时区处理


chore: bumped packages version , added path in design-system-configurator script FUI-1052

📓   Related JIRA
FUI-1052
🤔   What does this PR do?
It bumps packages to latest version so that the app created from blank app seed have latest features available including latest changes to design system configurator app. It also adds a path param for  design system configurator app script that allows copying and using design tokens from the file at the specified path provided as a param.

update the versions of genesislcap packages to latest 14.12.4
update the configure-design-system script in client/web./package.json to include path param
fix for node version upgrade

🚀   Where should the reviewer start?
Check updated versions and script in client/web/package.json
📑   How should this be tested?

run npm run bootstrap in client directory
run npm run configure-design-system in client/web director
run npm run dev in client/web
Once you have both of apps running. go to Design System configurator app. Change Accent, Neutral color etc and Click on Save. Then Click Save again. Later Go to Client app and refresh to view your changes. You can also check the changes you made in client/web/src/styles/design-tokens.json
blank-app-seed-dsc-changes.webm

✅   Checklist

[x] I have tested my changes.
[ ] I have added tests for my changes.
[ ] I have updated the project documentation to reflect my changes.

@mahamzafar990 let's use 14.12.6 instead, as there are some regressions in the current one (happy that this wasn't merged, as the fixes just happened today!)

@mahamzafar990 let's use 14.12.6 instead, as there are some regressions in the one being used here (good thing this wasn't merged before, so this gets shipped with the fixed release).

Thanks. Let me just upgrade that and test.


Break and Continue statement in C/C++

Description 📜
Break and Continue statement in C/C++ document
Fixes #1624

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] C/#CPP

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

![Screenshot (83)](https://user-images.githubusercontent.com/75454756/134292863-94571ebc-4e8a-4bbd-b9e4-6e7954e5b7f5.png)
Screenshots / Gif (Optional) 📸

/document


update models to clean up some warnings

Solves some warnings documented in issue #51.
Note:
vermillion_snapper_F4 model still has a warning that suggests starting with a higher R0. I changed the R0 init several times to 11, 13, 15, and 20 (I changed the max too for 15 and 20) but the warning still persisted. @iantaylor-NOAA if you have any suggestions, please let me know.

I will look at the parameter values for selectivity in the vermillion example.

I ran vermillion_F4 locally and do not get that warning when I use 3.30.22.
That was because starter.ss said start from ss.par.  When I cahnge to start from control file, then I get the warning.
The warning gets triggered because the FMethod 4 was starting F from parameters beginning in phase 1, where they have uninformed strting values, so pruduce big catch logL, tiggering the warning.
Better set up for FMethod 4 is to delay parameters to later stage for the catch fleets:
# (A) (B) (C)  (terminate list with -9999 for fleet)  1 0.01 2 # CM_E  2 0.01 2 # CM_W  3 0.01 2 # REC  4 0.01 1 # SMP_BYC -9999 1 1 # end of list


why is RECFAST slow?

The RECFAST implementation currently in Bolt should be on the order of milliseconds. What's happening?

A little follow up:
using Bolt
𝕡 = CosmoParams()
bg = Background(𝕡; x_grid=-20.0:0.01:0.0 nq=15)
𝕣 = Bolt.RECFAST(bg=bg, Yp=𝕡.Y_p, OmegaB=𝕡.Ω_b)
ih = IonizationHistory(𝕣, 𝕡, bg)

#  42.092 μs (245 allocations: 13.47 KiB)
@btime Bolt.RECFAST(bg=bg, Yp=𝕡.Y_p, OmegaB=𝕡.Ω_b)
# 6.547 s (67790063 allocations: 6.93 GiB)
@btime IonizationHistory(𝕣, 𝕡, bg)

and the flamegraph:

It looks like most of the solver time n the ionization odes is not actually in the stepping - it is in some dual-related stuff (first big block in the flamegraph). That is a lot of allocations - next step is probably to look at profiler applied to ion_recfast!.

Yeah, I suspected as much. I actually have a more optimized version prototyped -- I was trying to do the integration the right way using events in OrdinaryDiffEq.jl (gist).

Closing this since you merged the recfaster branch


Efficient way to reset MemoryAdapter

Hi, thank you for the nice library!
I really like the design and often point to it as an example of one of the best things ever written in Ruby :)
However.
I'd like to use Memory Adapter for tests and searching for the most efficient way to reset features.
Using legal public API, I can do the following in tests in after(:each) callback:
Flipper.features.each { |f| Flipper.disable(f.name) }

But my benchmarks show that sometimes it take up to 0.6ms.
I found a work around, just to reset @source instance variable directly:
Flipper.adapter.instance_variable_set('@source', {})

This has the same effect (at least for my use case) and takes 0.0ms.
Question:

Is there more efficient legal way to disable all features than Flipper.features.each { |f| Flipper.disable(f.name) } ?
If no, what you consider adding something like reset method? (may be only for memory adapter if it does not fit in common interface for all adapters)

Thanks in advance.

I usually just reset the flipper instance for each test and let the old ones get garbage collected.
Flipper.instance = Flipper.new(...)
In a before or setup method for the whole suite.

On Nov 26, 2019, at 7:13 AM, Sergey Potapov<EMAIL_ADDRESS>wrote:

Hi, thank you for the nice library!
I really like the design and often point to it as an example of one of the best things ever written in Ruby :)
However.
I'd like to use Memory Adapter for tests and searching for the most efficient way to reset features.
Using legal public API, I can do the following in tests in after(:each) callback:
Flipper.features.each { |f| Flipper.disable(f.name) }
But my benchmarks show that sometimes it take up to 0.6ms.
I found a work around, just to reset @source instance variable directly:
Flipper.adapter.instance_variable_set('@source', {})
This has the same effect (at least for my use case) and takes 0.0ms.
Question:
Is there more efficient legal way to disable all features than Flipper.features.each { |f| Flipper.disable(f.name) } ?
If no, what you consider adding something like reset method? (may be only for memory adapter if it does not fit in common interface for all adapters)
Thanks in advance.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Thanks! This should work as well!


Call Rest APIs from allcountjs

I have some existing Rest APIs that provide some information and I want to integrate Allcountjs with my APIs, how can I call it from inside an AllcountJS app?

I solved this with hack:
First, I added into node_modules/allcountjs/core/index.js few lines:
//In the beginning
var request = require('request');
...
function configure() {
    ....
    injection.bindFactory('Request', function () {
        return request;
    });

Then, in configuration file:
        beforeSave: function (Entity, Crud, Console, ValidationError, Request) {
          return new Promise(resolv => {
          Request.get('http://<IP_ADDRESS>:5555', x => {
            resolv();
          })
        })

Or better read this
https://github.com/allcount/allcountjs/blob/master/docs/customizing.md


Matrix reader for affine and slice timings in fmr.py using numpy.fromstring method

Both the loop-based method and the NumPy-based method can achieve the same end results, the numpy implementation achieve slightly better speed and maintain a pythonic simple profile without additional while or for loops.

Looks ok. I am not sure about the speed gain as this is a handful of numbers, have you measured?
TODO: I need to test this with the test fmrs, then good to merge.

I did run some benchmarks on these two methods by generating some large string lists (n = 1000). The performance for numpy.fromsting is indeed faster but overall performance gain is quite small.
Benchmark:
Numpy:  9.39e-05
Loops:  1.88e-04
Difference:  9.42e-05

Cool, thanks. Next, I will test against some test data and merge. Probably sometime next week. If not early Jan.

I will come back to this very soon. Just wanted to check with some other additional fmrs. Did not forget @ChengranAA

Dear @ChengranAA , upon further consideration, I have decided to reject this pull request because of code readability reasons. Although your suggestion is very smart and shorthand way of reading the matrix information, I have decided that it would be more beneficial to have more easily readable code for future maintenance.
However, I appreciate your effort and therefore added you to the list of contributors in readme. Please do not shy away from submitting pull requests in the future (e.g. adding new functionality, or providing script examples).


feat: improve detail and resilience of PodSpec drift detection

Adds more detail when PodSpec drift is detected.
Makes comparison of volumes and mounts order-independent.
Removes some excessive logging.

/test

/test

/test limit=local tl=4

/ok-to-merge E2E failure is due to unlucky ordering of tests and resource exhaustion


Can't Push New Branch for PR

When pushing a new branch I have (just to add a new deep blue theme), I get access denied.
➤ git push --set-upstream origin New-deep-blue-theme
ERROR: Permission to imolorhe/altair.git denied to svenjr.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Maybe I am doing something wrong? Please just let me know!

Hey @svenjr I am assuming you figured this out?


Missing exception specification

The move assignment operator of InlinedVector is missing an exception specification. As far as I know move operator/assignment are one of the places where it actually matters
https://github.com/abseil/abseil-cpp/blob/b1dd425423380126f6441ce4fbb6f8f6c75b793a/absl/container/inlined_vector.h#L495
Generally the exception specification should be equivalent to that of the move constructor, e.g
InlinedVector& operator=(InlinedVector&& other) noexcept(
      absl::allocator_is_nothrow<allocator_type>::value ||
      std::is_nothrow_move_assignable<value_type>::value)

However, the || from the move constructor seems bogus. If the allocator would be nothrow then even a throwing move assignment would lead to a noexcept(true) specification. Shouldnt it be && as we cannot determine which codepath is taken beforehand.
Is the exception specification of the move constructor correct or should it also be &&?

Thanks for assigning @derekmauro
@miscco Thanks for bringing this up! I agree that the state of the noexcept specifiers is not where it should be in InlinedVector. Auditing them and fixing them is on my TODO list.
Specifically for the move constructor, I believe you are correct. I noticed it recently as well and thought that it should be && instead of || but I just hadn't gotten around to researching to confirm my suspicion.
I'll keep this issue open and update it as I make progress.

@miscco Upon closer inspection, I believe the existing specifiers are correct. Check the code comments above them.
As for move-assignment, it isn't important to mark noexcept.
Thanks for the report and happy Abseiling 😄


Duplicated cookbook contributors

Using different git e-mails accounts on commits will result duplicated cookbook contributors

Re-opening to rework on this eventually.


[FEAT]: Create Issue forms and make the issue options more visually appealing

Currently, there is an issue template for this repo, but no issue form which will help users in contributing.

I will add Issue Forms to the respective issues to make it easier for the contributor to raise it.

Here is an example of how a Bug Issue Form will look like 👇

and the issue template will look like this:

I want to work on this issue. So, kindly assign this issue to me ( GSSOC'24 ).


Unsafe Uber Cities

Porto
Delhi NCR

Change "New Delhi" to "Delhi NCR".
Includes Noida and Gurgaon which are equally bad if not more.

Done ! Thanks :)

Research UK policies because that shit does not look safe at all
https://twitter.com/arranrp/status/930748697993936896

Nairobi is fine, but I wouldn't recommend taking an Uber from Dar-es-salaam airport. Other taxi drivers put a wheel clamp on our Uber driver's car. The situation might have improved by now, this happened in August.


add plugin system

A system to add plugins would be nice.
They could add applications or just modify the behavior.
With a good api it might even be possible to add more complex things like a better integration into a specific terminal.
Plugins could be added to the server or the client depending on what they do.
Maybe the default applicationa could also be plugins so the size of the main client/server is reduced.

I think that the application level plugin system is not needed for vtm for the following reasons:

Of the built-in applications, only one will remain - the built-in terminal. It can be replaced by any other by changing the main menu items in the configuration.
Any DirectVT application running inside the vtm is seamlessly integrated into the environment as much as possible, as if it were a UI element of the environment itself, despite the fact that this application is a separate process in the OS. For example, you can uncomment project ("calc") and add_executable (calc "netxs/apps/calc.cpp"), compile calc(.exe) and play with it in dtvt mode, or just run it as vtm -r calc.
Desktop with main menu and floating windows is also a built-in vtm application. It is relatively primitive, it can be rewritten to your taste and it will be your new vtm.
What an application can do inside the vtm environment depends solely on the DirectVT protocol. Here, to expand the capabilities of the protocol, some plugins may be needed. For example, audio output support. We will think about this when we port Doom.
Output to the external terminal of the final picture uses a minimum of VT-sequences, nothing that would require additional integration. When we enter the GUI field, the need for an external terminal will disappear by itself.
Each dtvt-application will carry the code of both the server and the client. Due to this, each such application will be a multi-user vtm in itself. Interprocess communication there again will be using DirectVT.
DirectVT can only output to one canvas so far, but support for output to any number of windows will be implemented soon, this is required to display custom modal windows by the application.

For me at the moment vtm is more than a desktop environment with a side menu and windows.
If we talk exclusively about the desktop with floating windows, then perhaps this should be considered as a separate application, or maybe this is the vtm itself in fact. Who knows. This is still a gray area.

Seems like a plugin system would cause more harm then use.


Load more Google Font variants

Issue description:
Let's say a user selects a font like so:

Now, regular will be the default weight. But how would I go about making sure that more weights are available as well? For example, I might want to make the weight 700 available to use as bold text. Otherwise, only regular will be available with no way of making the text italic or bold, which is really restrictive.
Before I could use the below code snippet to load all variants, but it doesn't work anymore:
/**
 * Load all Google Font variants with Kirki
 */
function stephanie_load_all_variants_and_subsets() {
 if( class_exists( 'Kirki_Fonts_Google' ) ) {
		Kirki_Fonts_Google::$force_load_all_variants = true;
 }
}
add_action( 'after_setup_theme', 'stephanie_load_all_variants_and_subsets' );

Am I doing something wrong? Is there any way to solve my use case?
Thanks!
Version used:
Plugin Version 3.1.3
Using theme_mods or options?
theme_mods
Code to reproduce the issue (config + field(s))

We’re facing the same limitation and considering using Kirki for all settings but doing our own thing for typography.
The new variable fonts (v2 API) in Google are promising... much smaller file to load the full range. But that likely brings on other issues.
We’ve hit this font weight issue though, and it’s a real concern.

I finally got it to work by hooking it to 'init' instead of 'after_setup_theme':
/**
 * Load all Google Font variants with Kirki
 */
function kirki_load_all_font_variants() {
  if (class_exists('Kirki_Fonts_Google')) {
    Kirki_Fonts_Google::$force_load_all_variants = true;
  }
}
add_action('init', 'kirki_load_all_font_variants');

Loading all variants isn't a solution for us, as performance is a major concern. We are currently filtering the google fonts in Kirki and adding bold/italic to the main body font choice, but it's a bit restrictive still.
At least there's a filter though.

Loading all variants isn't a solution for us, as performance is a major concern. We are currently filtering the google fonts in Kirki and adding bold/italic to the main body font choice, but it's a bit restrictive still.
At least there's a filter though.

@JiveDig I know, performance is a concern. Do you mind sharing how you’re filtering and adding bold + italic variants?


datmo environment setup BYOE (bring your own environment)

User should have an option to select their own Dockerfile (or env folder to bring) through the prompt (in addition to the optional flag possible through the environment setup command
ex:
$ datmo environment setup
pick one of the environments listed below
(1) ..
(2) ..
(3) ..
...
(Z) Bring your own environment directory

Please enter the path of your env folder: user/types/dir/here/

@nmwalsh I believe this is something that @shabazpatel has addressed partially (in terms of instructions) here: https://github.com/datmo/datmo-tutorials.
we can add a link to the instructions in the environment setup process.

https://github.com/datmo/datmo/pull/228


toggle_supplier_services view: don't wait_for_index in update_service_status() call

This final piece of https://trello.com/c/LABe8BKA is simple enough, depending on https://github.com/alphagov/digitalmarketplace-apiclient/pull/223 and https://github.com/alphagov/digitalmarketplace-api/pull/968

I think the ticket mentioned something about a flash message, did you decide against that in the end?

Oh well caught - I'll look into that on monday.

Ok flash message update has been made. Do we think the language is clear enough?


Bulk load example doesn't work

I am refactoring our application that inserts embedding records into our database from using straight inserts to bulk loads for hopefully some performance gains, and am not having any success. I copied the example in LoadingTests.cs verbatim to my application, and I receive the error Writing values of 'Pgvector.Vector' is not supported for parameters having no NpgsqlDbType or DataTypeName. Try setting one of these values to the expected database type..
If I specify the type as vector thusly writer.Write(new Vector(embedding), "vector"); I get Writing values of 'Pgvector.Vector' is not supported for parameters having DataTypeName 'public.vector'.
I also tried writer.Write(new Vector(embedding), "PgVector.vector"); and got The data type name 'Pgvector.Vector' isn't present in your database. You may need to install an extension or upgrade to a newer version.
I am using pgvector-dotnet version 0.2.0 and pgvector version 0.6.2.

Sure thing - it's basically just that test example verbatim though.
embedding-test.zip

Hi @jon-wilda, the example in the repo works fine. You can run it with:
TEST_LOADING=t dotnet test

fwiw, the first error message is the one you get if you comment out dataSourceBuilder.UseVector();.


Publish docs with GitHub Actions

This updates the documentation workflow to use the official GitHub Actions support for deploying to GitHub pages.

There's no great way to test this without first merging to master. Crossing my fingers.


no way to delete messages

i cant delete messages. i have to switch off this library -
it's too bad because i prefer this over the alternatives.

indeed.. issue #1 was my two cent's but just got closed :/

Hello @DerDu I just reviewed the case, but no PR was submitted. I think that is a valid solution. Yesterday I spent the extra time reviewing PRs. Submit one and I'll pass it though. I closed the original ticket in order to get organized. and based on #1 there wasn't a call to action to do, so that's why I closed it.

@cblanquera it's fine to be organized 😏
.. but there "was" a PR https://github.com/Eden-PHP/Mail/pull/2
😅

https://github.com/Eden-PHP/Mail/commit/ae34e7ba2c3e4bb116ab2824ffc0b7843d63fb67


is there a flag to close python installation. because I have installed python in my environment?

is there a flag to close python installation. because I have installed python in my environment?

I'm running to an issue because of this too. I don't have admin privileges, so it fails on
Downloaded python-2.7.13.msi.
Starting installation...

I don't think this is currently possible but believe it is planned as a future feature. See also https://github.com/felixrieseberg/windows-build-tools/issues/53

For reference, we're no longer installing Python if it's already present.


store: change to save DA and headers

Description
Implement saving of header and DA header
Closes: #XXX

close in favor of https://github.com/lazyledger/lazyledger-core/pull/218


Capture [BugReport] and [Feedback] entries somewhere other than Github

I think the Github issues list is getting a bit too full of [BugReport] and [Feedback] entries. Although I think it's a nice feature to capture these, I think it would be good if they went somewhere other than Github. Then we could look in Github issues and just see issues that have been deliberately opened here.

Just a thought: if it would be a lot of work to change from Github to another service, a quick fix would be to change which Github repo the app uploaded to. You could create a new repo called, for example, jecelyin/920-in-app-feedback, with a readme telling Github users not to manually open issues there.
To explain why I think it's a problem where the current BugReports and Feedbacks are going, it's a signal-to-noise issue. The BugReports in particular are very noisy.
The Feedback entries are a little better as they are smaller in number and someone has gone to some effort to write them.
But because the user is not shown how to search existing issues, there are some duplicates. Also some Feedback entries contain multiple issues, when it would be better if it was just one.
If the Feedback entries went somewhere else rather than directly into this Github issue, someone could triage them, weeding out duplicates and converting good quality feedback into individual Github issues in this repi.


Coltran notebook not loading checkpoints

Hi,
There is a small issue with the notebook leading to nonfunctioning of the colorization.
Changing the line
os.environ["LOGDIR"] = "/content/google-research/coltran/logdir/"
to
os.environ["LOGDIR"] = "/content/google-research/coltran/logdir/coltran"
fixes it.
Thank you very much!
Veit

@mhoangvslev Could you please make this edit to your notebook? Thanks in advance!

@mhoangvslev Could you please make this edit to your notebook? Thanks in advance!

Done!

Thanks!
@Sandv Can the issue be closed?


Move IFunctions in separate class

It allows to:

remove some duplicated code
re-use thread-safe instances of IFunction interface

I also added unit tests for this changes.

Hi @vbauer, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

@vbauer please also state what makes this important.

1. In the current approach we have a lot of unnecessary duplicated code. For example this function repeats 5-6 times and each time it takes 5 lines of code:
new IFunction<Object,String>() {
  public String func(Object o) {
    return o.toString();
  }
}

It could be replaced by simple single line of code:
IFunctions.ToString.INSTANCE

2. Anonymous functions contain unnecessary references to the outer-classes. New way clear this situation. We do not need these references - no need to use them.
3. It allows to prevent unnecessary mistakes, because we use only functions which are covered by unit tests.
4. Also it allows to prevent unnecessary creation of IFunction instances. It means that we spend zero time to instantiate it and we spend zero time to collect garbage.

@vbauer thanks for the contribution

@serious6 Thanks for merge. :)


AttentionNeuron - Permutation invariance

Hey there,
First of all great job on the AttentionNeuron paper and code:)
I have a question related to this part of your code
https://github.com/google/brain-tokyo-workshop/blob/301a6ea6cadc61a63b06c881a07f54f6cd1f2273/AttentionNeuron/solutions/torch_modules.py#L109-L113
It seems like as long as self.hx is None (which is only at the beginning of the episode) the network will be permutation invariant. However, if self.hx is not None we have already accumulated some per feature information from previous steps and the network is not going to be permutation invariant anymore (w.r.t. the observation vector). Is that correct?
Thank you very much in advance:)

Hi Jan, thank you for the question, again an insightful one :)
Maybe you are referring to re-shuffling the observations during a rollout?
If this is the case, you are partially right because when the observations are reshuffled, self.hx has accumulated info about the previous observations and the agent's performance will be interrupted when the observations are no longer in the same order. However, in our experiments where we reshuffle the observations every t steps, we found that AttentionNeuron was able to "reset" its internal state and recover the performance (see the table below), though the recovery speed depends on the underlying task.

Thank you for the quick reply! Yes, I am referring to the re-shuffling of the observations during a rollout.
I actually have 2 additional questions related to this.

In your paper, you provide generic mathematical definitions of the AttentionNeuron layer and you state that
. However, shouldn't it be ? Since there is an LSTM cell and its hidden states.

Do you think it would be possible to have a setup where the agent only looks at the current observation and the previous action (IMO this would be a truly permutatino invariant agent w.r.t. current observation)? Or in other words, an agent that would give you exactly the same performance no matter how often you reshuffle during your rollout.

For non-vision tasks (Ant and CartPole) we used LSTM but for vision tasks (Pong and CarRacing) we used stacked frames and MLPs to avoid large computational graphs. Admittedly, we could have used separate and more precise notations for f_k and f_v, but we thought a generic formula (though less accurate) was better for understanding the general idea of the paper.
For this question, I can only reason based on my experience. Learning a PI agent that only depends on (o_t, a_{t-1}) is hard. For example, if your control signal is force/torque, they contribute to the dynamics in second order (i.e., force->velocity->position), so what o_t reflects may not be the result of applying a_{t-1}. You may wonder if (o_t, a_{t-1}, a_{t-2}) will work, I think it depends on the task. For CartPole, I was able to train the agent by stacking k=4 obs, and I guess k<4 may work as well (I didn't try though). For Ant or other locomotion tasks, the contact/friction with ground will likely make k larger. On the other hand, it may be possible for other tasks and is an exciting direction for future works.

Let me know if the above answer your questions :)

Makes perfect sense!
Thank you again!!!


VIM-1756: Fix escape key when moving from insert mode to select mode

Bug fix for VIM-1756. Original PR: #251
When moving from Insert mode to Select mode, the escape key would only exit select mode.
Steps to reproduce:
With ideavimrc settings
set selectmode+=key
set keymodel^=startsel
From anywhere in an editor, enter insert mode, select+arrow left, escape. Your cursor will still be in insert mode. This fix escapes Insert mode as well.
Not sure if this is the BEST fix. Open to suggestions.

Hi! Sorry for such a big delay. Actually, I'm not sure that the current behaviour of IdeaVim is incorrect. I've checked this in vim and neovim and it looks like they both exit only select mode in this case and leave the editor in insert mode.


ASP.NET Web API Authentication Using HMAC

From @Xavierh95 on October 10, 2016 12:47
Hi everyone,
I want to secure an ASP.NET Web API project with HMAC auth.
This REST API project will be used by third-party developers to access my application's data.
I'm trying to adapt this post  in .NET Core without success...
Some of the class / interface used don't exist anymore (ex: IAuthenticationFilter, HttpAuthenticationContext, HttpAuthenticationContext, IHttpActionResult)
How can I add a sample HmacAuthentication attribute to my API methods in order to protect them with HMACSHA256 ?
Thanks for your answers!
Copied from original issue: dotnet/core#283

I don't think we have a good built-in solution for this today in the framework.
@leastprivilege @brockallen Is this something you can setup with IdentityServer?

From @Petermarcu on November 4, 2016 6:45
@danroth27 Whats the best place to ask this question where some ASP.NET folks can help?

From @blowdart on November 4, 2016 15:17
@Xavierh95 Do you mean something like https://github.com/blowdart/Idunno.WebApi.SharedKeyAuth, except for core?

From @blowdart on November 4, 2016 15:10
@danroth27 No - it's something entirely different. It's signing the request, with a preshared key. It's not something we support out of the box, but you should be able to do it with authorization middleware.

From @Xavierh95 on November 4, 2016 17:41
@blowdart Yes, or something like : http://www.codeguru.com/csharp/.net/net_asp/learn-to-secure-an-asp.net-web-api-using-hmac.html

From @blowdart on November 4, 2016 17:55
I could look at porting my one.

From @richlander on March 10, 2017 8:7
Please re-activate if this is still an issue.

We had some HAWK support a while back. Perhaps as a reference it might be useful. https://github.com/IdentityModel/Thinktecture.IdentityModel/tree/master/source/Hawk.

There are no plans to do this in-the-box in ASP.NET Core, so moving this item to Discussions.


concat keeps attrs from first variable.

[x] Closes #2060, closes #2575, xref #1614
[x] Tests added
[x] Passes black . && mypy . && flake8
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

Hello @dcherian! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/concat.py:

Line 3:1: F401 'tespy.tools.data_containers.dc_cc' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_cm' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_cp' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_flu' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_gcp' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_prop' imported but unused
Line 3:1: F401 'tespy.tools.data_containers.dc_simple' imported but unused
Line 5:5: E123 closing bracket does not match indentation of opening bracket's line


[NETBEANS-980] Fix Home/End/Up/Down actions in line-wrapped editor

See https://issues.apache.org/jira/browse/NETBEANS-980 .
This pull request can be reviewed/merged independently of that for NETBEANS-977, which deals with the specific word breaking policy ( https://github.com/apache/incubator-netbeans/pull/598 ).

@eirikbakke pls. did you test your feature with the java shell editor ? It does weird things with down/up/begin/end to avoid entering the prompt. Just check if the changes did not break it.

I can test that. Will have to get back to this in a little while... in the middle of another deadline and a laptop switch.

I have now tested JShell both with and without the patch; there seems to be no changes in behavior that I have managed to observed (testing Home/End/Up/Down).

I rebased (and force-pushed) this pull request since changes in the upstream directory structure caused a merge conflict.
I've had the patch enabled (together with https://github.com/apache/incubator-netbeans/pull/598 ) in both my development IDE and my NetBeans Platform application for about a week now, with no ill effects, so I think both of these pull requests are ready to be merged.

Merging the approved PR. Thank you both for creating + reviewing this.


Add descriptions to in_http

See http://docs.fluentd.org/articles/in_http
I cannot describe some options:

backlog
blocking_timeout
cors_allow_origins

It looks we should write about cors_allow_origins in doc. cf. https://github.com/fluent/fluentd/pull/473
cc: @repeatedly ?

@sonots Yes, we should write. If this PR add desc, fluentd-docs follows it.

I've added description for cors_allow_origins.


2023-10-28 Release

:tada: This PR is included in version 2.0.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Rust shell

Motivation
Closes #377.
Checklist

[x] added tests to verify new behavior
[x] added an example template or updated an existing one
[x] updated docs/API.md (or general documentation) with changes
[x] updated CHANGELOG.md

Just wanted to give some input as a fellow crane user: ensuring clippy and rustfmt are present (and overridable) can also prove itself to be helpful for a dev shell. (Not sure how easy that would be considering the rust-analyzer problem, just wanted to throw the idea around.)

@PgBiel I think that's a good suggestion, though I'll open a follow up issue on it!

No problem in that. Thanks!


excelReader.Error : Invalid file signature in xls..but reads same in xlsx file

ftype = Path.GetExtension(filename);
if (ftype == ".xls")
{
// Reading from a binary Excel file ('97-2003 format; *.xls)
excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
}
else
{
// Reading from a OpenXml Excel file (2007 format; *.xlsx)
excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
}

Any fix for this?

@eastwood84 There has been a lot of fixes for .xls compatibility in the recent 3.0 prereleases. Are you using the latest prerelease version of ExcelDataReader?
If you have an xls still not loading in the latest version, any chance you could upload it here or in a new issue ticket?

It seems to be the same issue that I have. It would be nice to get it fixed though

Any chance to share the xls? If not, just the first 8 bytes of the file would help immenselyt  (f.ex from a hexviewer or something). Need something to go on here

I seem to be getting the same error with the most recent nuget package (3.0.0).
The first 8 bytes of the file are

D0CF11E0 A1B11AE1

.
I noticed in src/ExcelDataReader/Core/BinaryFormat/XlsWorkbook.cs
public static bool IsCompoundDocument(byte[] probe)
{
    return BitConverter.ToUInt64(probe, 0) == 0xE11AB1A1E011CFD0;
}

The bytes seem to be reversed.

Disregard my last comment.  It seems my problem was i needed to seek to the beginning of the stream before trying to use the stream to create the reader.
ms.Seek(0, SeekOrigin.Begin)

Thanks for the update @johnboker, I was about to reopen the issue, but keeping it closed unless we get more feedback/reports.
I can think of two other situations where this could happen:

When using CreateBinaryReader with an .xlsx (use CreateReader instead)
On big endian machines (f.ex Xbox, or some odd Mono platforms - not supported!)

The only way to get a HeaderException("Invalid file signature.") is when these bytes do not match. The reverse order has to do with endian-ness.
Relating to your situation, it's a valid question whether to support loading from the middle of a stream, or to assume the stream always represents an entire workbook. Right now there is some inconsistency: ExcelDataReader probes for format/version at the current stream position, but then rewinds to the beginning of the stream before parsing the detected format

So, if we want to keep it reading from the current position, wouldn't it make sense just to rewind 8 bytes to be at the start when the method was called?

Hi!
This is my code
`  ///
/// Se utiliza ExcelDataReader para llenar el dataset del DocumentoExcel.
///
private void CargarDataSet()
{
try
{
using (var stream = File.Open(DocumentoExcel.Path, FileMode.Open, FileAccess.Read))
{
IExcelDataReader reader = GetExcelReaderFactory(DocumentoExcel.Path, stream);
                var conf = new ExcelDataSetConfiguration
                {
                    ConfigureDataTable = _ => new ExcelDataTableConfiguration
                    {
                        UseHeaderRow = true
                    }
                };

                DocumentoExcel.DataSet = reader.AsDataSet(conf);
            }
        }
        catch (Exception ex)
        {
            throw new ExcepcionModelo($"No se pudo cargar la hoja {Hoja}. Error: " + ex.Message, 10008);
        }
    }

    /// <summary>
    /// Genera una instancia de ExcelReaderFactory dependiendo la extension del Excel.
    /// </summary>
    /// <param name="path"></param>
    /// <param name="stream"></param>
    /// <returns></returns>
    private IExcelDataReader GetExcelReaderFactory(string path, FileStream stream)
    {
        if (Path.GetExtension(DocumentoExcel.Path) == ".xls")
        {
            return ExcelReaderFactory.CreateBinaryReader(stream);
        }
        else
        {
            return ExcelReaderFactory.CreateOpenXmlReader(stream);
        }
    }`

I get invalid file signature, from this file
FACTURA ESTANDAR.zip
This is a XLS 97-2003 (not .XML)
The weirdest part is that on my machine, this code works ok, but on a cloud server this same code fails with above exception.
I checked the endianess on the file and it seems ok, here is the screenshot from the hexviewer

Help please :(

Hi @sebastianamaro It sounds like the file was corrupted during upload to the server? I can't think of a way to get that error message with the attached file.

mmm but the code is the same, if i run it locally it runs ok :/ And the upload is a standard procedure among other file types (xml, txt) and those arent corrupted. Besides, we used before ExcelInterop and it worked ok both local and cloud


src: Use Tonic.addStyles()

We broke styles for Dialog & Panel. This adds them back.

Approved by @heapwolf in Slack.


fix: properly load stores from the file system

We now are getting the repl to load a store, but it's not the right store, since the ScalarStore::to_store function is not working correctly.
On investigation, the comm_store and cons_store are empty, because it looks like we're hitting the None case in intern_scalar_ptr. Specifically on the following case:
NONE Nil Some(Sym(Sym(Symbol { path: ["", "LURK", "NIL"], opaque: false })))

i.e. We have entries in the ScalarStore which have a Nil tagged pointer pointing to a ScalarExpression::Sym rather than a ScalarExpression::Nil

I've addressed some of @porcuquine's comments (besides the one about the panic).
I've realized that the notion of "immediateness" was not well represented by such word, so I changed "immediate pointer" to "leaf pointer". Also, this concept only makes sense in the context of LightStore, so I placed the is_ptr_leaf there, with a docstring that better explains this concept.


Balanced Parenthesis

Give this repo a star and follow me for follow back 😊

Stared and followed
On Thu, Oct 13, 2022, 09:44 Tanu soni @.***> wrote:

Give this repo a star and follow me for follow back 😊
—
Reply to this email directly, view it on GitHub
https://github.com/tanus786/CP-Codes-HackOctober-Fest-2022/pull/145#issuecomment-1277004134,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3MTZFHQM3WGPNNG4AWT5WLWC6ECLANCNFSM6AAAAAARD2ZLKA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Summaries do not support invalid mixin checking

Found by code inspection during the review of https://codereview.chromium.org/2661803002/.  I haven't yet verified a repro for this bug.
We never implemented summary support for recording in the element model whether a class contains a reference to super.  This means that if the user has "supermixin" support disabled, and they try to mix in a class that references super, and the class being mixed in comes from a summary, no error will be reported.
Fixing this bug will carry an unfortunate runtime cost: it would require traversing the entire AST of any class declaration when forming the unlinked summary of that class, to search for references to super.  (Without the fix, we can avoid recursing into method bodies and some initializers, which saves a lot of time).

Summaries have likely been updated to support supermixins etc.


refactored createUrl #370

instead of passing layer.name into the function, the layer is passed instead

Hi @bother7 , thank you for your PR! =). To improve you PR, could you please consider that the argument styleName also comes from the layer object?
I will add some comments in line to be clearer.

i turned stylename into a blank string if it doesn't exist, is that alright or should it be null or undefined?

Hi @bother7! Your PR looks good. Can you please just update it removing package-lock.json and using 4-spaces indentation on src/components/Api/GeoAPI.js? Thanks!

Yup! sorry about that

Merged, thanks @bother7! Added your name to our README as a contributter.


Create switch to old client button

Create switch to old client button,
Once the user clicks it we should store this option on local storage and if the user go to the new client url again s/he should be redirected to the old client automatically.

Out of scope. Solved on the heigit specific app via a plugin.


Issues in preprocessing for GLN

Hello, the rxn-ebm project is indeed inspiring. However, when I attempted to preprocess the USPTO-50K data for GLN and run bash scripts/gln_preprocess.sh, the following issue was encountered:
Checking data format before preprocessing
Checking the first 100 entries for each file
Data format check passed
Step 4: building all reactions
loading data info from ./data/gln_schneider50k/processed/cooked_schneider50k/tpl-default
loading templates
11753it [00:00, 263949.06it/s]
# unique templates 11753
# raw train loaded: 39713
loading positive tpls
Traceback (most recent call last):
  File "/home/yuxuan/Zhichao_repo/rxn-ebm/rxnebm/proposer/gln_openretro/preprocess.py", line 97, in <module>
    preprocess_main(args)
  File "/home/yuxuan/Zhichao_repo/rxn-ebm/rxnebm/proposer/gln_openretro/preprocess.py", line 71, in preprocess_main
    processor.preprocess()
  File "/home/yuxuan/Zhichao_repo/rxn-ebm/rxnebm/proposer/gln_openretro/models/gln_model/gln_processor.py", line 129, in preprocess
    self.build_all_reactions()                  # step 4
    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/yuxuan/Zhichao_repo/rxn-ebm/rxnebm/proposer/gln_openretro/models/gln_model/gln_processor.py", line 432, in build_all_reactions
    DataInfo.load_cooked_part("train", part=pid, load_graphs=False)
  File "/home/yuxuan/Zhichao_repo/rxn-ebm/rxnebm/proposer/gln_openretro/models/gln_model/gln/data_process/data_info.py", line 82, in load_cooked_part
    header = next(reader)
             ^^^^^^^^^^^^
StopIteration

It looks like this might originate from the openretro repo instead of the rxn-ebm repo; do you mind re-opening an issue there?


Add vivapb extension

Description

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Is this ready for another review?

Could you test this like you don't have Vivaldi installed? When I open the command nothing happens except it freezes for a few seconds
https://github.com/raycast/extensions/assets/38033107/6d9a2468-bf65-45a0-be25-782b2435042a

Could you test this like you don't have Vivaldi installed? When I open the command nothing happens except it freezes for a few seconds
Raycast29012024-xRqFymrp.png.mp4

thank you for the visual i’ll try this to see what I can do about this.

Is this ready to be tested again?

Is this ready to be tested again?

yes it is

Do you have everything pushed? Nothing happens when I open the command.

You can see more about no-view format here: https://developers.raycast.com/information/lifecycle

Are you still around @codrkoaz

Yes i’m still around things came up. it’s weird how its not working on your end

Hi 👋
Looks good to me, approved 🔥

AWESOME!!! And can i make commits to this if i want to add more?


New sample: setup-location-driven-geotriggers

PR to add Geotriggers to the Android Sample Viewer.

ImageView is now retrieved when the description dialog is clicked, hence now there is no delay when displaying the GardenSection button.
ListView still does not display multiple GardenSections. Using Log.e and during debug the ListView contains multiple items but does not render to the view. Could you take a look at this? @TADraeseke


10000 values limit

Hi, guys!
First of all, thanks a lot for a great job! Love the product: Deneb-viz looks very impressive!
Not an issue just question.
Working with vega-lite and 80000+rows-dataset I've run into data limitation in 10000 values.
Is it done intentionally?
I haven't found any information about it in the documentation.
What does 80000+dots-scatterplot look in PBI on the picture (left one with ggplot in R)

I'd like to switch all my R-viz to Deneb-viz. How is it possible to overcome 10000 values limitation?

Hi, and thanks!
Not sure if you've seen it in the documentation but it is possible to break the 10K standard limit but note that the amount of rows provided to the visual is dependent on Power BI resources and the action of fetching additional windows of 10K rows can depend on the  performance of the underlying DAX query.
Also note the performance considerations in the documentation - your visual may perform better rendering as Canvas over SVG.

ohh, thanks so much! It worked out!
btw, I used this link for documentation https://deneb-viz.github.io/


1.4.9 + proguard : not called onSuccess, onFailure

I am sorry. my english is not good.
I use 1.4.9.
proguard off : work.
proguard on : onSuccess, onFailure not called.
my proguard.
-optimizationpasses 5
-repackageclasses ''
-allowaccessmodification
-overloadaggressively
-verbose

but I add -keep class com.loopj.android.http.HttpGet { *; } to proguard. this is work(onSuccess, onFailure called).

Where to add this, Just CHANGELOG.md or somewhere else as well ? I can take this one up.

See the comment in #976 please

@smarek
for android 4.0.4
-keep class cz.msebera.android.httpclient.HttpResponse { *; }
-keep class com.loopj.android.http.HttpGet { *; }
-keep class com.loopj.android.http.HttpDelete { *; }

@smarek : Is CHANGELOG.md the right file to put this ? Because this can turn into a long list ?

@smarek
now , i m facing with this
The type cz.msebera.android.httpclient.HttpResponse cannot be resolved. It is indirectly referenced from required .class files..i changed from 1.4.4 to 1.4.9

I've just provided https://github.com/loopj/android-async-http/commit/ff9633e3ac00b8aa864570abc640f4bcabf6a5a5
So the default rules are known and if you can, USE MAVEN DEPENDENCY MANAGEMENT, I'm really sick of all issues related to devs not able to use JAR distributions because dependencies are missing.


ale-python-interface is not work

You need to provide a lot more detail about your error message for us to assist you.


Add official name attribute

The ISO standard and the package contain official (full) names of the countries.
Currently, there's no way of getting the official name of the country unless it is the same as the short one. For example, the official name of Czechia is Czech Republic, which is listed in unofficial names.
The official_name (or full_name) attribute should solve the problem.

#717 has been merged and released


How do I get the client_id for this?

It looks like I need a client_id to to get the access token for this. As far as I understand that's an app specific thing, but I'm not sure how to find it for this code.
Thanks.

Did you ever find how to do this?

I've not used this code for a long time so I don't recall.  I think when you register for an API key with stock twits, you get a client_id.


Favicon

It's great to have more services around the preload list, but I want to make sure the favicon for hstspreload.org is distinguishable from related sites; would you mind changing the one for hstspreload.com to something else?

It'll be done this evening.

Apologies for the delay @lgarron (had an issue with the laptop that had the SSH key for that server); this has been completed.
On a related note: Thanks for the good work you are doing; it's really appreciated.

Thanks!


Use pattern matching switch statement

Simplify the switch statements and eliminates the need for casting

Hey @y2k4life! Thanks for the PR. Unfortunately, your change is going in the opposite direction of where I want to go. This morning, I was moving from the try-cast pattern to this switch statement.
While your code looks like it's the same as a switch statement, it's really not. It basically compiles to something like this:
if (node != null)
{
    BoundLiteralExpression boundLiteralExpression;
    if ((boundLiteralExpression = (node as BoundLiteralExpression)) == null)
    {
        BoundNameExpression boundNameExpression;
        if ((boundNameExpression = (node as BoundNameExpression)) == null)
        {
            BoundAssignmentExpression boundAssignmentExpression;
            if ((boundAssignmentExpression = (node as BoundAssignmentExpression)) == null)
            {
                BoundBinaryExpression boundBinaryExpression;
                if ((boundBinaryExpression = (node as BoundBinaryExpression)) == null)
                {
                    BoundUnaryExpression boundUnaryExpression;
                    if ((boundUnaryExpression = (node as BoundUnaryExpression)) != null)
                    {
                        BoundUnaryExpression j = boundUnaryExpression;
                        return Program.EvaluateUnaryExpression(j);
                    }
                    return null;
                }
                BoundBinaryExpression k = boundBinaryExpression;
                return Program.EvaluateBinaryExpression(k);
            }
            BoundAssignmentExpression m = boundAssignmentExpression;
            return Program.EvaluateAssignmentExpression(m);
        }
        BoundNameExpression l = boundNameExpression;
        return Program.EvaluateNameExpression(l);
    }
    BoundLiteralExpression i = boundLiteralExpression;
    return Program.EvaluateLiteralExpression(i);
}

The current switch statement uses the integer value of the enum to jump directly to the corresponding label, which is more efficient once we add more nodes to it. Any solution (modulo a proper visitor pattern) will need a cast; but in my switch there will be a single cast while the pattern-based switch requires multiple casts in order to see which label to use.
Does this make sense?

Yes it does. I went of on a tangent to see compiled code. I wrote a simple console app with the core parts we are looking at. It looks like the casting and testing is done in one instruction isinst.  If it is not true then it moves to the next possibility having to do another casting and repeats. What I found interesting is there are multiple castings or there are multiple calls to get_Kind(). But I'm sure the call to the function is more efficient than casting.
Why when compiled down casting and testing of the type done all at once? Could the testing of the type be done with out the casting and only cast if the results is true? I tried some things using Name property with typeof and GetType.
I chalk this one up as syntactic sugar. It is interesting, where I have pattern matching I could add a Kind property and a Kinds enum and use that for pattern testing which might be more efficient versus readability and what appears to be simplicity.
  IL_0030:  ldloc.0
  IL_0031:  isinst     ConsoleApp.BoundBinaryExpression
  IL_0036:  dup
  IL_0037:  stloc.s    V_4
  IL_0039:  brfalse.s  IL_003d    // branch to the next test which performs another casting
  IL_003b:  br.s       IL_007c
.
.
.
  IL_007c:  ldloc.s    V_4
  IL_007e:  stloc.s    V_9
  IL_0080:  br.s       IL_0082
  IL_0082:  ldloc.s    V_9
  IL_0084:  call       object ConsoleApp.Program::EvaluateBinaryExpression(class ConsoleApp.BoundBinaryExpression)
  IL_0089:  stloc.s    V_12
  IL_008b:  br.s       IL_00a3

The if based on a enum would only do the casting only when true
  IL_0039:  ldarg.0
  IL_003a:  callvirt   instance valuetype ConsoleApp.BoundNodeKind ConsoleApp.BoundExpression::get_Kind()
  IL_003f:  ldc.i4.2
  IL_0040:  ceq
  IL_0042:  stloc.3
  IL_0043:  ldloc.3
  IL_0044:  brfalse.s  IL_0055          // branch to the next if statement skipping the casting
  IL_0046:  nop
  IL_0047:  ldarg.0
  IL_0048:  castclass  ConsoleApp.BoundAssignmentExpression
  IL_004d:  call       object ConsoleApp.Program::EvaluateAssignmentExpression(class ConsoleApp.BoundAssignmentExpression)
  IL_0052:  stloc.1
  IL_0053:  br.s       IL_0095             // branch to the end

I even looked at the complex if statements you show above. Which has similar results as the switch
  IL_0046:  ldarg.0
  IL_0047:  isinst     ConsoleApp.BoundBinaryExpression
  IL_004c:  dup
  IL_004d:  stloc.s    V_10
  IL_004f:  ldnull
  IL_0050:  ceq
  IL_0052:  stloc.s    V_12
  IL_0054:  ldloc.s    V_12
  IL_0056:  brfalse.s  IL_0080
.
.
.
  IL_0080:  ldloc.s    V_10
  IL_0082:  stloc.s    V_11
  IL_0084:  ldloc.s    V_11
  IL_0086:  call       object ConsoleApp.Program::EvaluateBinaryExpression(class ConsoleApp.BoundBinaryExpression)
  IL_008b:  stloc.s    V_16
  IL_008d:  br.s       IL_00be

Still not done. I might be done after this though. It is just a bothersome to me that something that was introduced in C# to help actually might not be helpful.
Reading ECMA-335 it is hard to read exactly what is going on with isinst, but to me it looks like it will not do casting if it is not the correct type. I don't think it is, try casting and if it fails then it is not the type. I think it is if this is the type then cast.

isinst typeTok
The isinst instruction tests whether obj (type O) is an instance of the type typeTok.  If the actual type (not the verifier tracked type) of obj is verifier-assignable-to the type typeTok then isinst succeeds and obj (as result) is returned unchanged while verification tracks its type as typeTok. Unlike coercions (§III.1.6) and conversions (§III.3.27), isinst never changes the actual type of an object and preserves object identity (see Partition I). If obj is null, or obj is not verifier-assignable-to the type typeTok, isinst fails and returns null.

I know this has nothing to do with compiler but it is an interesting rabbit trail.

Well, it sort of does. While we're not emitting IL yet, that's exactly the kind of stuff that compiler authors think about! I love the fact that you benchmark.
The jump table of the switch tends to be more efficient then several casts in a row; however, keep in mind that we only have five nodes here, which is tiny. My finished compiler has 21 (still quite small) while Roslyn has 160. However, Roslyn uses neither the pattern matching nor the switch; they use a visitor pattern, like so:
class BoundTreeVisitor
{
    public virtual VisitLiteralExpression(BoundLiteralExpression node) {}
    public virtual VisitVariableExpression(BoundVariableExpression node) {}
    public virtual VisitAssignmentExpression(BoundAssignmentExpression node) {}
    public virtual VisitBinaryExpression(BoundBinaryExpression node) {}
    public virtual VisitUnaryExpression(BoundUnaryExpression node) {}
}

class BoundNode
{
    public abstract void Accept(BoundTreeVisitor visitor);
}

public class BoundLiteralExpression : BoundNode
{
    public overide void Accept(BoundTreeVisitor visitor) => visitor.VisitLiteralExpression(this);
}

public class BoundVariableExpression : BoundNode
{
    public overide void Accept(BoundTreeVisitor visitor) => visitor.VisitVariableExpression(this);
}

public class BoundAssignmentExpression : BoundNode
{
    public overide void Accept(BoundTreeVisitor visitor) => visitor.VisitAssignmentExpression(this);
}

public class BoundBinaryExpression : BoundNode
{
    public overide void Accept(BoundTreeVisitor visitor) => visitor.VisitBinaryExpression(this);
}

public class BoundUnaryExpression : BoundNode
{
    public overide void Accept(BoundTreeVisitor visitor) => visitor.VisitUnaryExpression(this);
}
```

This technique requires no casting, but the cost is now two virtual method calls. Personally, I'm not a fan of the visitor approach. It feels fairly heavy weight and also makes it hard to control how the traversal happens and what the result types are.

The old GoF. I always have the challenge of knowing what to use, where to use it, and when to use it.
Thank you for these videos gives me a break from my day job to dive into some theory. This coincides with finding old C64 assembly language books. I know there are a lot of compilers out there for the 6510 but I'm thinking of building my own based on your videos. Heck why not.
I could not let the idea of the switch Pattern Matching go. I did some more testing. Instead of dumping more into this thread I started a project to share my results, thoughts and test code.
Test Control Logic
Conclusion

Efficiency does not always mean faster.

Watch out for syntactic sugar.

I could not let the idea of the switch Pattern Matching go.

I think pattern matching is definitely easier to read. If C# ever gets discriminated types, it could even be made as efficient as my manual switch over the kind. And to be honest, in this compiler projects optimizing isn't the higher order anyways. The primary reason of me using it has probably more to do with habit and symmetry as with creating efficient code. In the end, there are plenty of other areas in this compiler that are far from being efficient too :-)

I know there are a lot of compilers out there for the 6510 but I'm thinking of building my own based on your videos. Heck why not.

Sounds like a great project! Consider streaming it. There isn't a lot of videos out there on this subject. And I'm completely selfish here as I'd likely watch yours :-)

N is the number of times I called the method. Where expression = BoundUnaryExpression which is the last case statement in both methods.

You may have fallen into a subtle trap there. You've essentially trained the branch predictor that the last option is always right.
If you use a random sequence of actual types in your benchmark, I think you may see very different results.

I updated my code to have a random tests. While I was doing that I noticed there was an issue with calling the same method for both enum and pattern match. Making the test result null and void.
With the update there is a performance difference and Pattern Matching is faster!!!!
Faster may not always more efficient. I will run these again once we add more possibilities to it.

Sounds like a great project! Consider streaming it. There isn't a lot of videos out there on this subject. And I'm completely selfish here as I'd likely watch yours :-)

Once you are done with a compile I build from I will consider doing some videos.

 That seems rather odd. It's conceivable that the jump table has overhead that happens to be larger than a naive sequence of if checks when the number of comparisons is small (such as in our case where it's just five).


Make LineProcessor implement FileVisitor interface

That way we can use it seamlessly with Files.walkFileTree. And the four methods in this interface can easily be implemented as default methods that simply call the existing ones, so no need to change any existing code either.

Mislabeled the commit, but this is done by bbbc172


Save/Export/Import preferences

For some reason, if i want to reinstall VS Code, i lose all plugins and personal configs, and need to remember or make a note with plugins i have allready installed.
Not a good idea to make a profile or something like this to save my plugins? Maybe a function to export the users settings, workspace settings and plugin's refference, just for the moment i import, download all again.
Thanks for attention.

This extension can help: https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync
The Marketplace offers a few different sync extensions if this one does not suits you

wow, i did not know about this plugin, lot of thanks!!


Backup Onedrive folder

Hi team,
I checked my Onedrive folder but it doesn't backup it. I downloaded all files.
Any idea?
Thanks.
Florent

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

ID: c04356b4-e2a0-c095-5f47-b7fc1d2b574f
Version Independent ID: 72900c81-5858-bb03-06fb-4af272317f20
Content: Use Azure Backup agent to back up files and folders
Content Source: articles/backup/backup-configure-vault.md
Service: backup
GitHub Login: @markgalioto
Microsoft Alias: markgal

@Flodu31 Could you please post your question in https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=windowsazureonlinebackup , since it's not relevant to the documentation ?
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Yikes! Potential data corruption?

I wish I knew more about this. Since it's in my local development environment it's possible I was just resetting and screwing around with things too much.
But there were definitely snapshots being written which appeared invalid, missing parts of their objects, but with no operations in the history to add the missing parts. This was causing corruption on clients which couldn't write those objects to storage because they were missing primary keys.
Very not good if this happens in the wild.
Possible next steps since I don't have reproduction:

[ ] Add a 'dev mode' for the server which preserves operation history. This will help look backward if this happens again and see whether operations were skipped during rebase?
[ ] Add a fuzz test suite to try to brute force this again. Should include:
a. Just doing random ops
b. Disconnecting and reconnecting clients
c. Joining new clients with existing data for the library but no sync history*

*: this is the most likely cause that I can think of! Happens a lot in my local environment because of resetting databases.

Another step: on the client, handle and log the invalid write error and delete the relevant row if it exists. This will treat any corrupted data as deleted for querying's sake, which should cause a re-initialization in theory. Not good hygiene but it is a much better user experience than sync failiing.

Fuzz test strategy: just toss in one collection with one field that's any. Traverse it, pick an arbitrary key, assign an arbitrary data (either primitive, object, or list). Traverse, pick an arbitrary key, mutate what's there (if it's a list, randomly do a list op too).

Fuzz testing is working nicely to clean up a lot of corner cases so far.

[ ] One thing I want to document so I don't forget: ents which are otherwise lists are being turned into objects. I suspect due to concurrent set conditions?

I.e. if

A sets foo as a list
B sets foo as an object
A sets 0 on foo
Changes sync

Then B's initialize wins, but A still treats it like a list! Yikes!
This only applies to any but is still dangerous and I need to figure it out...

Ok, so I think the real problem here is not so much applying different data patches, but the actual class instantiation of ListEntity vs. ObjectEntity.
In retrospect, having separate classes for these feels too inflexible to support any as a field type. The Entity would have to detect its transmogrification and re-instantiate itself as the other class!

[] Since typings are all generated anyway... why not have one Entity class and just use type definitions to narrow it for the end user?

Ok, I believe I've knocked out the root cause here.
I could take the fuzz testing even further, start randomly deleting databases, etc. But for now I'm happy.


virtio-vhost and virtio-vsock from crosvm?

Looks like Google's crosvm supported being built on Darwin until earlier this year as per https://android.googlesource.com/platform/external/crosvm/+/98d3e59e3adb0ebedf1b7f6de8051d5f8fc9702a
Also note vhost vsock in go here: https://android.googlesource.com/platform/external/crosvm/+/98d3e59e3adb0ebedf1b7f6de8051d5f8fc9702a/vhost/src/vsock.rs

I don't think we are going to use crosvm, because it seems dropped support for Darwin as you said, and yet it seems to lack support for a bunch of stuff such as QCOW2 and UEFI.


Modal dialog closes when dragging and releasing mouse button outside dialog with the new chrome update Version 74.0.3729.169

Before opening:

Search for duplicate or closed issues
Validate and lint any HTML to avoid common problems
Read the contributing guidelines

Bug reports must include:

Operating system and version (Windows)
Browser and version Google Chrome Version 74.0.3729.169
Reduced test case and suggested fix using CodePen or JS Bin

I think the issue is due to the Event.CLICK_DISMISS which is used in the _showBackdrop function in the modal.js file, I think we should use Event.MOUSEDOWN_DISMISS instead of Event.CLICK_DISMISS.

Thanks for reporting, but we're no longer maintaining v3. It'll soon be EOL (end of life) entirely, so closing this as a won't fix.


Ability to name the svg/ block, for easier reference and retrieval

I built a diagram and i want to reference again, and ideally duplicate + add changes/ variations to. I'd like to have some functionality built in to help me find the diagram, and then duplicate it in a way where the original and the changed coexist.
I love this plugin by the way. It actually makes Logseq a lot better for me.

if you want to cite the existing draw, just copy the macro (when edit block, not edit the draw, the macro will be like {{renderer :drawio,<PHONE_NUMBER>923.svg}}) and paste it to other place. or just embed this block to other block.
if you want to find the draw, you should add some tags or properties to the block. later you can use these to find it.
if you want to duplicate it, you can just edit draw, then copy it and paste it to new draw.


Feature/add get option

Added parameters for get_keypoint, get_drawing, and get_analysis that can also return related data at the same time.

Codecov Report

Merging #8 into master will increase coverage by 0.67%.
The diff coverage is 91.66%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
+ Coverage   91.90%   92.58%   +0.67%
==========================================
  Files           8        8
  Lines         346      364      +18
  Branches       41       48       +7
==========================================
+ Hits          318      337      +19
+ Misses         22       19       -3
- Partials        6        8       +2

Impacted Files
Coverage Δ

anymotion_sdk/client.py
93.67% <91.66%> (+1.37%)
: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 da87130...3d30641. Read the comment docs.


Request: Expose idToken in the AuthService

It would be great if the AuthService expose the original idToken in addition to the accessToken. That way I could securely forward this authentication onto my server side app that implements the same secret key as used to set-up my Auth0 application.
For reference, the other famous useAuth hook does this, see the issue here: https://github.com/Swizec/useAuth/issues/11

That sounds like a great idea. Not sure when I'll be able to get to it...If you or anyone wants to take a crack at it, I'm open to PRs.

@epilande , Pull request sent. Please let me know if that works.

🎉 This has been released with v1.1.1


Migration completed with warnings yet is marked as 'Ready' and no mention of the Warnings.

I migrated https://github.com/pranavgaikwad/mtc-breakfix/tree/master/03-Gvk and in the process I saw some odd behavior with how we handle warnings.
If I do not click into the migration to view pipeline status I am not aware that the migration had an issue.
The behavior I see is that the migration runs for a period of time and then the UI shows it is back to a 'Ready' state with no feedback of any errors or warnings.
If I click into the pipeline view to see the migration then I see a warning is present and when I put the cursor over the warning I see it was a PartialFailure on Restore.
We need to do better with communicating something unexpected occurred on the top page listing all the plans.  I think the state of 'Ready' is misleading, we should find a way to communicate something weird happened and click into the pipeline view to see more info.
'gvktest' is the plan I migrated below

Below is the associated MigMigration
apiVersion: migration.openshift.io/v1alpha1
kind: MigMigration
metadata:
  annotations:
    openshift.io/touch: dff0e10b-6017-11eb-9a1c-0a580a83000e
  creationTimestamp: "2021-01-26T20:48:10Z"
  generation: 32
  labels:
    migration.openshift.io/migplan-name: gvktest
  managedFields:
  - apiVersion: migration.openshift.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:spec:
        .: {}
        f:migPlanRef:
          .: {}
          f:name: {}
          f:namespace: {}
        f:stage: {}
    manager: Mozilla
    operation: Update
    time: "2021-01-26T20:48:10Z"
  - apiVersion: migration.openshift.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:openshift.io/touch: {}
        f:labels:
          .: {}
          f:migration.openshift.io/migplan-name: {}
        f:ownerReferences:
          .: {}
          k:{"uid":"638536d3-f09c-4e44-955f-907efe1e17bf"}:
            .: {}
            f:apiVersion: {}
            f:kind: {}
            f:name: {}
            f:uid: {}
      f:status:
        .: {}
        f:conditions: {}
        f:itinerary: {}
        f:observedDigest: {}
        f:phase: {}
        f:pipeline: {}
        f:startTimestamp: {}
    manager: manager
    operation: Update
    time: "2021-01-26T20:48:42Z"
  name: ccc7c2d0-6017-11eb-afab-85d0007f5a19
  namespace: openshift-migration
  ownerReferences:
  - apiVersion: migration.openshift.io/v1alpha1
    kind: MigPlan
    name: gvktest
    uid: 638536d3-f09c-4e44-955f-907efe1e17bf
  resourceVersion: "1352232"
  selfLink: /apis/migration.openshift.io/v1alpha1/namespaces/openshift-migration/migmigrations/ccc7c2d0-6017-11eb-afab-85d0007f5a19
  uid: 31a0f7ab-6550-4ded-89a8-1584c2e5b7e7
spec:
  migPlanRef:
    name: gvktest
    namespace: openshift-migration
  stage: false
status:
  conditions:
  - category: Warn
    durable: true
    lastTransitionTime: "2021-01-26T20:48:40Z"
    message: 'Final Restore openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf: partially failed on destination cluster'
    status: "True"
    type: VeleroFinalRestorePartiallyFailed
  - category: Advisory
    durable: true
    lastTransitionTime: "2021-01-26T20:48:42Z"
    message: The migration has completed with warnings, please look at `Warn` conditions.
    reason: Completed
    status: "True"
    type: SucceededWithWarnings
  itinerary: Final
  observedDigest: 6bbc7a6d84ea66cd925327f7807f0cd545b5aa5aef7a7dc5598cb7e128893073
  phase: Completed
  pipeline:
  - completed: "2021-01-26T20:48:20Z"
    message: Completed
    name: Prepare
    started: "2021-01-26T20:48:10Z"
  - completed: "2021-01-26T20:48:28Z"
    message: Completed
    name: Backup
    progress:
    - 'Backup openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-r8bzk: 21 out of estimated total of 21 objects backed up (4s)'
    started: "2021-01-26T20:48:20Z"
  - message: Skipped
    name: StageBackup
    skipped: true
  - message: Skipped
    name: StageRestore
    skipped: true
  - completed: "2021-01-26T20:48:29Z"
    message: Completed
    name: DirectImage
    progress:
    - 0 total ImageStreams; 0 running; 0 successful; 0 failed
    started: "2021-01-26T20:48:28Z"
  - message: Skipped
    name: DirectVolume
    skipped: true
  - completed: "2021-01-26T20:48:41Z"
    message: Completed
    name: Restore
    progress:
    - 'Restore openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf: partially failed.'
    started: "2021-01-26T20:48:29Z"
  - completed: "2021-01-26T20:48:42Z"
    message: Completed
    name: Cleanup
    started: "2021-01-26T20:48:41Z"
  startTimestamp: "2021-01-26T20:48:10Z"

$ oc get migplan gvktest -o yaml -n openshift-migration
apiVersion: migration.openshift.io/v1alpha1
kind: MigPlan
metadata:
  annotations:
    openshift.io/touch: e1013c64-6017-11eb-9a1c-0a580a83000e
  creationTimestamp: "2021-01-26T20:47:40Z"
  generation: 9
  managedFields:
  - apiVersion: migration.openshift.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:spec:
        .: {}
        f:destMigClusterRef:
          .: {}
          f:name: {}
          f:namespace: {}
        f:indirectVolumeMigration: {}
        f:migStorageRef:
          .: {}
          f:name: {}
          f:namespace: {}
        f:namespaces: {}
        f:srcMigClusterRef:
          .: {}
          f:name: {}
          f:namespace: {}
    manager: Mozilla
    operation: Update
    time: "2021-01-26T20:47:58Z"
  - apiVersion: migration.openshift.io/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:openshift.io/touch: {}
      f:status:
        .: {}
        f:conditions: {}
        f:destStorageClasses: {}
        f:excludedResources: {}
        f:observedDigest: {}
        f:srcStorageClasses: {}
    manager: manager
    operation: Update
    time: "2021-01-26T20:48:44Z"
  name: gvktest
  namespace: openshift-migration
  resourceVersion: "1352245"
  selfLink: /apis/migration.openshift.io/v1alpha1/namespaces/openshift-migration/migplans/gvktest
  uid: 638536d3-f09c-4e44-955f-907efe1e17bf
spec:
  destMigClusterRef:
    name: host
    namespace: openshift-migration
  indirectVolumeMigration: true
  migStorageRef:
    name: jmatthewsvelero
    namespace: openshift-migration
  namespaces:
  - gvk-demo
  srcMigClusterRef:
    name: sourcejan23a
    namespace: openshift-migration
status:
  conditions:
  - category: Required
    lastTransitionTime: "2021-01-26T20:47:42Z"
    message: The `persistentVolumes` list has been updated with discovered PVs.
    reason: Done
    status: "True"
    type: PvsDiscovered
  - category: Required
    lastTransitionTime: "2021-01-26T20:47:42Z"
    message: The storage resources have been created.
    reason: Done
    status: "True"
    type: StorageEnsured
  - category: Required
    lastTransitionTime: "2021-01-26T20:47:42Z"
    message: The migration plan is ready.
    status: "True"
    type: Ready
  destStorageClasses:
  - accessModes:
    - ReadWriteOnce
    default: true
    name: gp2
    provisioner: kubernetes.io/aws-ebs
  - accessModes:
    - ReadWriteOnce
    name: gp2-csi
    provisioner: ebs.csi.aws.com
  excludedResources:
  - imagetags
  - templateinstances
  - clusterserviceversions
  - packagemanifests
  - subscriptions
  - servicebrokers
  - servicebindings
  - serviceclasses
  - serviceinstances
  - serviceplans
  - operatorgroups
  - events
  observedDigest: 6f00341bdeca8d88b6a65ed5aef7cd94568e9351d67f98ac402a1cfbfee704ae
  srcStorageClasses:
  - accessModes:
    - ReadWriteOnce
    - ReadOnlyMany
    - ReadWriteMany
    default: true
    name: glusterfs-storage
    provisioner: kubernetes.io/glusterfs
  - accessModes:
    - ReadWriteOnce
    - ReadOnlyMany
    name: glusterfs-storage-block
    provisioner: gluster.org/glusterblock-openshift-storage

@eriknelson @vconzola @ibolton336 I think the above could impact the next set of MTC 1.4.0 lab we would like to have ready for folks to use in mid Feb.  Would it be possible to address this prior?

@eriknelson @vconzola @ibolton336 I think the above could impact the next set of MTC 1.4.0 lab we would like to have ready for folks to use in mid Feb.  Would it be possible to address this prior?

@ibolton336 I'm not sure where the UI gets the "if (hasCriticalCondition) return ${latestType} Failed;" condition, but it sounds like we need a hasWarningCondition as well at the plan level that will display "Completed with warnings" for the plan state.

@ibolton336 I'm not sure where the UI gets the "if (hasCriticalCondition) return ${latestType} Failed;" condition, but it sounds like we need a hasWarningCondition as well at the plan level that will display "Completed with warnings" for the plan state.


[MRTK3 pre.8 build call] Should be able to re-adjust where an example scene is located as a whole

Original issue opened by:
 @Clandguth

Describe the problem
Example scenes are places inside of PC monitors and other nearby objects, making them more difficult to interact.
Describe the solution you'd like
A single point of reference to re-adjust the position of example scenes, encompassing everything allowing movement around the user's environment
Describe alternatives you've considered
Toggle to 'Reset' a scene based on the direction the user is facing

ISSUE MIGRATION
Issue migrated from: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/10813

The sample scenes now all allow grabing the description panel and moving the entire scene position


[gltfpack] Issue with the displacement of position in animated skinned meshes

Hi Arseny,
Thank you for all your hard work on gltfpack!
I've been testing various glTF models from the glTF-Sample-Models repo and came across a few that have issues after packing with gltfpack with default settings.

BrainStem displaces the position of the mesh from the original position. Animations themselves appear to work correctly.

Correct

Incorrect

CesiumMan has the same issue, displaces the position of the mesh from the original position. Animations themselves appear to work correctly.

Correct

Incorrect

AnimatedCube does not spin anymore after conversion. There is an animation track but it does not appear to play correctly.

Incorrect

I've created a fork of three-gltf-viewer  that uses the latest versions of lib/GLTFLoader.js and js/meshopt_decoder.js from this repo (using raw.githack.com) directly to test the implementation more easily, perhaps it can also be of use to you during development.
Kind regards,
Tim

Thanks! This is very helpful. I know there's currently one issue with transforms where if the node itself is animated and not skinned, gltfpack currently doesn't preserve this properly - this will be fixed soon-ish. I'll take a look at all these examples and make sure they work.
Note that gltfpack can be used with "-c" flag which compresses the buffers and requires meshopt_decoder, but also can be used without it which doesn't require meshopt_decoder (although it does require a couple of fixes in three.js and Babylon.JS that are all in master versions of these projects but not in the versioned releases yet). I've been alternating between gltf-viewer, Babylon.JS sandbox, and demo/index.html for testing, but the fork will help make this easier 👍

Animated objects should render correctly now. For the first two issues, as far as I can tell the meshes themselves are generated correctly, but it appears that three.js (and Babylon.JS maybe?) generate the bounding box in an odd way which causes the discrepancy in the view setup. I'm not sure atm how to best fix this, this will require a bit of thought - the issue seems to stem from the fact that node transform matrix with an attached skin mesh is ignored for the purposes of mesh transformation, but seems to be respected for the purposes of computing the bounding box...

Yeah, ok, aaaaaargh.

Three.JS computes bounding box for a mesh by transforming all positions by the matrix of the node mesh is attached to. This means that bounding box changes depending on the node a skinned mesh is attached to, even though visual results don't change since gltTF spec says that mesh node transform is ignored for skinned meshes.

Moving meshes under the original place in the hierarchy (where they were in the source file) fixes bounding box for the two meshes for Three.JS, but doesn't fix one of them (CesiumMan) for Babylon.JS.

This is because BabylonJS does the correct thing and computes bounding box by skinning all positions, but during this it assumes that position buffer has 3 elements for each position. gltfpack currently generates a position buffer with 4 elements (VEC4). Babylon.JS is correct in its assumption - positions must be VEC3 - however...

The reason gltfpack generates 4-element positions is to work around a three.js bug with interleaved buffers (https://github.com/mrdoob/three.js/issues/16802).

All of this is broken :( In theory these are just bugs in JS frameworks - if gltfpack used VEC3 positions then Babylon.JS behavior would be completely correct, but then this would hit two independent bugs in three.js.

The issues should be fixed now with the exception of TriangleWithoutIndices (which results in an empty .gltf file that three.js can't load), although the fix for the bounding box is a bit of a hack.
For TriangleWithoutIndices I'll need to add warnings when meshes are discarded but looking at the spec there's a lot of types of index data that I'm not sure are relevant so I will not fix this for now.

Awesome 👍!

Closing this since the problems have been addressed, feel free to open a new issue if you find anything else!