Feature/mv 44 ability to choose camera and mic

Goals

At most one permission prompt when someone opens the page.
If possible start the last selected device.
Single prompt for audio and video.
If the algorithm can’t start the last selected device (corrupted data, disconnected device) it should start any device.
Should work on:

Desktop: Safari, Chrome, Firefox
IOS: Safari, Chrome
Android: Chrome

Browser specifics
Firefox
Firefox can show a permission manager window where the user can select one particular device. This window should be displayed only if no previous device info is present. Otherwise, we should ask for a specific device (prompt without a select input).
Safari
Safari changes the device id for every session. Therefore, on Safari, I start the devices twice - once to fetch all the information, and once to select the device by its label.
Why everything is in one place?
My first attempt was to create specialized hooks for navigator.mediaDevices?.enumerateDevices() and navigator.mediaDevices.getUserMedia() but enumerateDevices()  does not properly work without getUserMedia(). To achieve optimal results, I have to combine invocations of these two methods. Believe me or not this code is much more readable than my previous attempt where enumerating devices and starting a new one has its own specialized hooks. It’s easier to read and understand an even long algorithm than an algorithm that involves the coordination of many hooks.
After some time we should extract assets/src/features/devices/useUserMedia.tsx to browser-media-utils repository.
Testing suggestions
The last selected device are stored in local storage. To test new user behavior clean up your local storage and reset permission in your browser. You can also corrupt data in local storage (deviceId and label are important) to test situations where the last device is not present.
Known limitations
If a new device is connected after the page loads it won’t be visible in the devices list. (devicechange event is not handled https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/devicechange_event)

Sometimes my bluetooth headphones are completely silent if I open videoroom (i.e. when I listen to spotify, opening VR silence but doe not stop te music) and it did not used to be that way. Can you explain why it is so? Should it be a separate issue? [It occurred only once so maybe it's neglectable].

🤔 I'll think about it.

Should the device id be visible? On chrome it is only on the video input device list.

I've created jira ticket for that. We have to discuss this topic.

For some reason the list is not responsive in terms of enabling or disabling the devices. When I plugged in a new camera, it had not appeared on the list. The same goes for disabling it (the unplugged audio device was still there even when I joined he room - I have no idea from where and what the app have been sending then).

It is not implemented. I've create jira ticket for that.

The popup item is not styled properly:
a) title font is different and the font weight too small
b) the list corners have been rounded too much
c) The Cancel button should have red font
d) I can't traverse the list with arrow keys when it is expanded
e) cannot expand the list with enter (only with the spacebar)

I'll fix that.

Continuing layout problems:

 The scroll on right does not look good. You can steal get inspired by the membrane.steam site where a similar problem occurs.

For some reason the audio is still audible when two microphones are muted. Are you sure muting the device did not change or still works properly?

A separate issue:  User on safari does not see other users are muted

In the context of debugging:
When I denied permission for both camera and microphone log has fired thrice. Should this be like this?
I think it should not hold this PR from being merged. Just a comment for future development.

Yes, this is exception based algorithm. In the worst case scenario, up to 7 exceptions can be thrown.

The scroll on right does not look good. You can steal get inspired by the membrane.steam site where a similar problem occurs.

We will fix scrollbar later :)


Added load method

This is useful when you want to get the data for different user_id during the runtime. Firstly forgetAll then load the data. Doesn't break the backward compatibility.

But PSR-2 and so on Laravel coding standard says:

Code MUST use 4 spaces for indenting, not tabs.

@denisdulici you don't have to follow any standard if you don't want to and this code base does pretty much follow PSR-2 except for that rule.
Here is the contributing guide for this repository.
https://github.com/anlutro/laravel-settings/blob/master/CONTRIBUTING.md

I see. I'm not going to change it as doesn't make sense so feel free to close/merge this PR  😉

Hey, I think this is a sensible change and would be happy to merge it.
When I started working on my Laravel stuff, Laravel was still using tabs, so I used that. I'm not really actively maintaining anything anymore, so I'm not going to switch now.
These failing tests are annoying but I guess that's unavoidable now that there's no phpunit support across both PHP5 and 7 - but that's my problem.

As you're not able to maintain it anymore, would you mind if I fork, update and keep it alive as a separate package?

Anything that's MIT licenced you can always feel free to fork and maintain yourself, it doesn't even need to be privately. Of course, I think it would be better if everyone who already has the package installed gets the benefits of whatever improvements others make to the code.
Also, when I said I don't actively maintain it, I still review and merge pull requests and will fix critical bugs/security issues - I just don't do active development and/or refactoring/improvements on them anymore.


Does FastAI model usually not train well on regression data?

According to the result of benchmark in kaggle dataset (mercedes, allstate, houses, etc...)
I think that fastainn model does not well-training (which means early stopping in 0 epoch with 20 patience) in regression kaggle datasets (except for allstate).
Since mxnet models usually train well on various regression and binary datasets and also fastainn models train well on binary and multi-class dataset. I assumed that loss normalization or scaling on regression dataset was the main reason of this phenomena (or learning-rate problem). Because as far as I searched fastainn library there was no such functions (ex: loss_scaling_factor) but mxnet does. However, all of the custom trial to enhance fastainn model in regression dataset failed.
Does my experiment (with default hyperparameter such as time, auto-stack, etc...) went wrong or does your group have faced this same problem?

0
TensorBase(5.7082e+08)
1
TensorBase(1.3430e+10)
2
TensorBase(2.8899e+11)
3
TensorBase(3.9408e+12)
4
TensorBase(3.4854e+13)
5
TensorBase(2.3243e+14)
6
TensorBase(6.1357e+14)
7
TensorBase(8.1096e+14)
8
TensorBase(4.5594e+13)
9
TensorBase(5.2544e+13)
10
TensorBase(1.4245e+13)
11
TensorBase(1.0146e+14)
12
TensorBase(2.2767e+14)
13
TensorBase(8.1047e+12)
14
TensorBase(1.3270e+14)
15
TensorBase(3.3033e+14)
16
TensorBase(1.0559e+14)
17
TensorBase(9.1204e+13)
18
TensorBase(1.6465e+14)
19
TensorBase(3.5654e+14)
20
TensorBase(3.4201e+14)
This is the example of Fastainn loss with respective epoch in mercedes dataset

The two things that I've mentioned will be useful to debug this error (I'm also searching the reason + I expect this is not error because of AutoGluon but FastAI).

allstate regression dataset works fine
the loss is too large compare to MXNet

#1162 should fix the issue. Running on that branch, I get the following result:
                 model  score_test  score_val  pred_time_test  pred_time_val   fit_time  pred_time_test_marginal  pred_time_val_marginal  fit_time_marginal  stack_level  can_infer  fit_order
0             LightGBM  -10.094900  -7.909521        0.029116       0.030299   0.484345                 0.029116                0.030299           0.484345            1       True          1
1  WeightedEnsemble_L2  -10.124198  -7.817343        0.928249       0.279622  15.115147                 0.003840                0.000689           0.196103            2       True          4
2      NeuralNetFastAI  -11.033612  -8.626837        0.308750       0.106975   4.425922                 0.308750                0.106975           4.425922            1       True          2
3       NeuralNetMXNet  -11.039835  -8.364145        0.586542       0.141659  10.008776                 0.586542                0.141659          10.008776            1       True          3

There were multiple bugs:

We were not applying scaling to the target variable
After splitting the data into train and val, some features in train had only 1 unique value. When a row in val has a different unique value, that row will be predicted as a ridiculous value, which is what caused the extremely large error.

These have both been fixed. Thanks again for highlighting the bug!
I will close the issue once the PR is merged.

#1162 should fix the issue. Running on that branch, I get the following result:
                 model  score_test  score_val  pred_time_test  pred_time_val   fit_time  pred_time_test_marginal  pred_time_val_marginal  fit_time_marginal  stack_level  can_infer  fit_order
0             LightGBM  -10.094900  -7.909521        0.029116       0.030299   0.484345                 0.029116                0.030299           0.484345            1       True          1
1  WeightedEnsemble_L2  -10.124198  -7.817343        0.928249       0.279622  15.115147                 0.003840                0.000689           0.196103            2       True          4
2      NeuralNetFastAI  -11.033612  -8.626837        0.308750       0.106975   4.425922                 0.308750                0.106975           4.425922            1       True          2
3       NeuralNetMXNet  -11.039835  -8.364145        0.586542       0.141659  10.008776                 0.586542                0.141659          10.008776            1       True          3

There were multiple bugs:

We were not applying scaling to the target variable
After splitting the data into train and val, some features in train had only 1 unique value. When a row in val has a different unique value, that row will be predicted as a ridiculous value, which is what caused the extremely large error.

These have both been fixed. Thanks again for highlighting the bug!
I will close the issue once the PR is merged.

Yeah, I agree with the reason 1.
I think 2 is happening beacuse of subsampling with small portion of data.
However, it is interesting that total score_test got even worst. Maybe different for whole dataset with various models.
Thanks

The worse score_test is likely just random chance and using a small sample of data.
The fix has been merged and will be available in tomorrow's pre-release or by building from source.
Thanks again for spotting this!


Exchange auth code for access token.

@drn || @davywentworth

LGTM.

huh, yeah - lgtm if it works. this is the standard way of doing this?


Bug 1827336: Remove stale condition

We removed the controller that sets the condition DefaultSecurityContextConstraintsUpgradeable if any default SCC has been mutated. A cluster that already has user-modified default SCCs will have the above condition set. We need to remove the stale condition.
Some user may do force upgrade to OpenShift 4.4, so we need this fix to go in 4.4 to clean the stale condition.

/retest

/retest
/lgtm
/approve

/bugzilla refresh
The labels were applied manually as exception approved by @eparis as this bug is blocking upgrades from 4.3.z to 4.4.0.

/retest


migrate circle config to V2 format

This PR migrates the existing circle CI logic to their V2 configuration format.
Fixes #731

@zacharygolba - the npm run flow step is failing with the following error:
#!/bin/bash --login
npm run flow

><EMAIL_ADDRESS>flow /home/ubuntu/postlight/lux
> flow check

Fatal error: exception Not_found

the same command runs successfully locally as well as when I ssh into the circle build runner.
Do you have any ideas?  I'm happy to do the leg work here but am out of ideas on how to address this.

Hey @jamemackson thanks for the pull request! I took a stab at upgrading to circleci v2 a while back in the refactor-tech-debt branch and had some luck with this config.

Thanks Zak, I'll take a look at that this week :)


The publish-nuget workflow doesn't fail when a package build has an error. (OSOE-566)

Here is an example: https://github.com/Lombiq/Orchard-Vue.js/actions/runs/4146253609
I believe the error was thrown by the dotnet pack, but it's not sure from the log. In the end out of the 3 projects in Lombiq.VueJs only two were uploaded to NuGet. Since the workflow didn't fail, I didn't get a warning email so I could only find out about the problem when I dug into the run logs.
(I have already fixed that specific problem with Lombiq.VueJs, so this issue is not a blocker.)
Jira issue

Here's the error in the build log: https://github.com/Lombiq/Orchard-Vue.js/actions/runs/4146253609/jobs/7171672368#step:4:2620
I suspect that in New-NuGetPackage we need to have a similar check on the output of dotnet pack that what we have for the build.

I couldn't reproduce this in NPM Targets, with the same error: https://github.com/Lombiq/NPM-Targets/actions/runs/4567948341/jobs/8062380293#step:4:338 For some reason, perhaps due to there being multiple projects, Vue.js runs to completion indeed: https://github.com/Lombiq/Orchard-Vue.js/actions/runs/4567982143/jobs/8062463289#step:4:2710 After the fix it fails as it should: https://github.com/Lombiq/Orchard-Vue.js/actions/runs/4567982143/jobs/8062577484#step:4:2685
BTW ChatGPT thought about the same solution after "Make the following script fail if dotnet pack fails:"


HIP-406: Add basic information for nodes

Problem
A staking HIP is being implemented that will allow users to stake to nodes. The mirror node explorer should include basic information about nodes and how much is staked to them.
Reference: HIP-406
Solution
Add a "nodes" tab to the top navigation and include this information.
Alternatives
No response

This should display the amount of rewarded stake and unrewarded stake.


TypedArray constructor throws TypeError for undefined argument

Effectively, 'new Uint8Array(0)' and 'new Uint8Array()' and 'new Uint8Array(undefined)' should have the same behavior.
Converting from an internal issue.
This issue is not a spec deviation from ES 6.0. It's a spec change in ES 2017. In ES6, we were supposed to (and are correctly) throwing TypeError if length is undefined.
ES 6.0 spec text:
<IP_ADDRESS> %TypedArray% ( length )
This description applies only if the %TypedArray% function is called with at least one argument and the Type of the first argument is not Object.
%TypedArray% called with argument length performs the following steps:
Assert: Type(length) is not Object.

If NewTarget is undefined, throw a TypeError exception.
If length is undefined, throw a TypeError exception.
Let numberLength be ToNumber(length).
Let elementLength be ToLength(numberLength).
ReturnIfAbrupt(elementLength).
If SameValueZero(numberLength, elementLength) is false, throw a RangeError exception.
Return AllocateTypedArray(NewTarget, elementLength).

Test case:
new Uint8Array(0)
new Uint8Array()
new Uint8Array(undefined) // TypeError

/cc @boingoing @ianwjhalliday

There is more to this.  Generally in the TypedArray(length) constructor overload the first argument is passed to ToIndex which should handle all cases for us, but our code was handling this manually and incorrectly (according to older spec).
This means null, booleans, and strings are also handled incorrectly.


Add S3 configurable endpoint

It seems this isn't configurable in the AWS credential or profile files docs so added specific support...

Testing results:
~/go/src/github.com/UKHomeOffice/s3secrets add_endpoint[+?]> ./bin/s3secrets --access-key=minio --secret-key=minio123 --api-end-point=http://<IP_ADDRESS>:9000 s3
s3-secret-bucket                            14 Sep 18 15:54 UTC
~/go/src/github.com/UKHomeOffice/s3secrets add_endpoint[+?]> ./bin/s3secrets --access-key=minio --secret-key=minio123  s3
[error] operation failed, error: InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records.
	status code: 403, request id: 21C0593B312E888F


expose port in docker file

hopefully this fixes the recent glcoud deployment error
The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable

otherwise @josehelps has to check the glcoud configuration as the error states something about port 8080 but we always used 8000

@M3NIX I think I know why we are running into the error of 8080 after looking at the logs, seems like the docker file might need some adjustments to install poetry let me add this as a commit to this PR if that is ok with you. Give me a few to make and test the changes.

@M3NIX @nasbench let me know if this new docker build works for you. Once we merge the error should be resolved.

Let's give it a try :)


support passing current directory for the EXE

Some EXEs need a current directory that is different with the parent folder of it. so we need a new API: RhCreateAndInjectEx.

AppVeyor build failed. But I think it's not because of this PR. @spazzarama

Close duo to AppVeyor build failed.

AppVeyor build needs fixing, ok to keep this PR open if you like


error when training to 5000 iterations

2021-09-11 22:59:54,944 - mmedit - INFO - Saving checkpoint at 5000 iterations
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 4/4, 0.0 task/s, elapsed: 164s, ETA:     0s

Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
2021-09-11 23:02:40,338 - mmedit - INFO - Exp name: basicvsr_reds4_step20
Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
    main()
  File "./tools/train.py", line 141, in main
    main()
  File "./tools/train.py", line 141, in main
    meta=meta)
  File "/home/ht1/mmediting/mmedit/apis/train.py", line 71, in train_model
    meta=meta)
  File "/home/ht1/mmediting/mmedit/apis/train.py", line 71, in train_model
    meta=meta)
  File "/home/ht1/mmediting/mmedit/apis/train.py", line 204, in _dist_train
    meta=meta)
  File "/home/ht1/mmediting/mmedit/apis/train.py", line 204, in _dist_train
    runner.run(data_loaders, cfg.workflow, cfg.total_iters)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/iter_based_runner.py", line 133, in run
    runner.run(data_loaders, cfg.workflow, cfg.total_iters)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/iter_based_runner.py", line 133, in run
    iter_runner(iter_loaders[i], **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/iter_based_runner.py", line 66, in train
    iter_runner(iter_loaders[i], **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/iter_based_runner.py", line 66, in train
    self.call_hook('after_train_iter')
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 307, in call_hook
    self.call_hook('after_train_iter')
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/base_runner.py", line 307, in call_hook
    getattr(hook, fn_name)(self)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/base.py", line 152, in after_train_iter
    getattr(hook, fn_name)(self)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/base.py", line 152, in after_train_iter
    self.log(runner)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/text.py", line 177, in log
    self.log(runner)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/text.py", line 177, in log
    self._log_info(log_dict, runner)
      File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/text.py", line 96, in _log_info
self._log_info(log_dict, runner)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/hooks/logger/text.py", line 96, in _log_info
    log_str += f'time: {log_dict["time"]:.3f}, ' \
    log_str += f'time: {log_dict["time"]:.3f}, ' \
KeyError: 'data_time'
KeyError: 'data_time'
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 19377) of binary: /home/ht1/anaconda3/envs/open-mmlab2/bin/python
ERROR:torch.distributed.elastic.agent.server.local_elastic_agent:[default] Worker group failed
INFO:torch.distributed.elastic.agent.server.api:[default] Worker group FAILED. 3/3 attempts left; will restart worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Stopping worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous'ing worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous complete for workers. Result:
  restart_count=1
  master_addr=<IP_ADDRESS>
  master_port=29500
  group_rank=0
  group_world_size=1
  local_ranks=[0, 1]
  role_ranks=[0, 1]
  global_ranks=[0, 1]
  role_world_sizes=[2, 2]
  global_world_sizes=[2, 2]
INFO:torch.distributed.elastic.agent.server.api:[default] Starting worker group
INFO:torch.distributed.elastic.multiprocessing:Setting worker0 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_1/0/error.json
INFO:torch.distributed.elastic.multiprocessing:Setting worker1 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_1/1/error.json
Traceback (most recent call last):
Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
  File "./tools/train.py", line 145, in <module>
    main()
  File "./tools/train.py", line 80, in main
    main()
  File "./tools/train.py", line 80, in main
        init_dist(args.launcher, **cfg.dist_params)init_dist(args.launcher, **cfg.dist_params)

  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
    _init_dist_pytorch(backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
    _init_dist_pytorch(backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
    dist.init_process_group(backend=backend, **kwargs)    dist.init_process_group(backend=backend, **kwargs)

  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
    _store_based_barrier(rank, store, timeout)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier
    _store_based_barrier(rank, store, timeout)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier
    rank, store_key, world_size, worker_count, timeout))
rank, store_key, world_size, worker_count, timeout))
RuntimeError: RuntimeError: Timed out initializing process group in store based barrier on rank: 0, for key: store_based_barrier_key:1 (world_size=2, worker_count=4, timeout=0:30:00)
Timed out initializing process group in store based barrier on rank: 1, for key: store_based_barrier_key:1 (world_size=2, worker_count=4, timeout=0:30:00)
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 25569) of binary: /home/ht1/anaconda3/envs/open-mmlab2/bin/python
ERROR:torch.distributed.elastic.agent.server.local_elastic_agent:[default] Worker group failed
INFO:torch.distributed.elastic.agent.server.api:[default] Worker group FAILED. 2/3 attempts left; will restart worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Stopping worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous'ing worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous complete for workers. Result:
  restart_count=2
  master_addr=<IP_ADDRESS>
  master_port=29500
  group_rank=0
  group_world_size=1
  local_ranks=[0, 1]
  role_ranks=[0, 1]
  global_ranks=[0, 1]
  role_world_sizes=[2, 2]
  global_world_sizes=[2, 2]

INFO:torch.distributed.elastic.agent.server.api:[default] Starting worker group
INFO:torch.distributed.elastic.multiprocessing:Setting worker0 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_2/0/error.json
INFO:torch.distributed.elastic.multiprocessing:Setting worker1 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_2/1/error.json
Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
    main()
  File "./tools/train.py", line 80, in main
    init_dist(args.launcher, **cfg.dist_params)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
    main()
  File "./tools/train.py", line 80, in main
    init_dist(args.launcher, **cfg.dist_params)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
    _init_dist_pytorch(backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
    _init_dist_pytorch(backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
    dist.init_process_group(backend=backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
    dist.init_process_group(backend=backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
    _store_based_barrier(rank, store, timeout)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier
    _store_based_barrier(rank, store, timeout)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier
    rank, store_key, world_size, worker_count, timeout))
    RuntimeError: rank, store_key, world_size, worker_count, timeout))
RuntimeError: Timed out initializing process group in store based barrier on rank: 0, for key: store_based_barrier_key:1 (world_size=2, worker_count=6, timeout=0:30:00)
Timed out initializing process group in store based barrier on rank: 1, for key: store_based_barrier_key:1 (world_size=2, worker_count=6, timeout=0:30:00)
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 41557) of binary: /home/ht1/anaconda3/envs/open-mmlab2/bin/python
ERROR:torch.distributed.elastic.agent.server.local_elastic_agent:[default] Worker group failed
INFO:torch.distributed.elastic.agent.server.api:[default] Worker group FAILED. 1/3 attempts left; will restart worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Stopping worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous'ing worker group
INFO:torch.distributed.elastic.agent.server.api:[default] Rendezvous complete for workers. Result:
  restart_count=3
  master_addr=<IP_ADDRESS>
  master_port=29500
  group_rank=0
  group_world_size=1
  local_ranks=[0, 1]
  role_ranks=[0, 1]
  global_ranks=[0, 1]
  role_world_sizes=[2, 2]
  global_world_sizes=[2, 2]

INFO:torch.distributed.elastic.agent.server.api:[default] Starting worker group
INFO:torch.distributed.elastic.multiprocessing:Setting worker0 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_3/0/error.json
INFO:torch.distributed.elastic.multiprocessing:Setting worker1 reply file to: /tmp/torchelastic_vivn_3xl/none_pjb4mm0f/attempt_3/1/error.json
Traceback (most recent call last):
Traceback (most recent call last):
  File "./tools/train.py", line 145, in <module>
  File "./tools/train.py", line 145, in <module>
        main()
main()  File "./tools/train.py", line 80, in main

  File "./tools/train.py", line 80, in main
    init_dist(args.launcher, **cfg.dist_params)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
    init_dist(args.launcher, **cfg.dist_params)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 20, in init_dist
        _init_dist_pytorch(backend, **kwargs)
_init_dist_pytorch(backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/mmcv/runner/dist_utils.py", line 34, in _init_dist_pytorch
    dist.init_process_group(backend=backend, **kwargs)
dist.init_process_group(backend=backend, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 547, in init_process_group
        _store_based_barrier(rank, store, timeout)_store_based_barrier(rank, store, timeout)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier

  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/distributed_c10d.py", line 222, in _store_based_barrier
    rank, store_key, world_size, worker_count, timeout))
RuntimeError: Timed out initializing process group in store based barrier on rank: 0, for key: store_based_barrier_key:1 (world_size=2, worker_count=8, timeout=0:30:00)    rank, store_key, world_size, worker_count, timeout))

RuntimeError: Timed out initializing process group in store based barrier on rank: 1, for key: store_based_barrier_key:1 (world_size=2, worker_count=8, timeout=0:30:00)
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 63726) of binary: /home/ht1/anaconda3/envs/open-mmlab2/bin/python
ERROR:torch.distributed.elastic.agent.server.local_elastic_agent:[default] Worker group failed
INFO:torch.distributed.elastic.agent.server.api:Local worker group finished (FAILED). Waiting 300 seconds for other agents to finish
/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/elastic/utils/store.py:71: FutureWarning: This is an experimental API and will be changed in future.
  "This is an experimental API and will be changed in future.", FutureWarning
INFO:torch.distributed.elastic.agent.server.api:Done waiting for other agents. Elapsed: 0.0007309913635253906 seconds
{"name": "torchelastic.worker.status.FAILED", "source": "WORKER", "timestamp": 0, "metadata": {"run_id": "none", "global_rank": 0, "group_rank": 0, "worker_id": "63726", "role": "default", "hostname": "dgx-r107-3.ling", "state": "FAILED", "total_run_time": 14844, "rdzv_backend": "st
atic", "raw_error": "{\"message\": \"<NONE>\"}", "metadata": "{\"group_world_size\": 1, \"entry_point\": \"python\", \"local_rank\": [0], \"role_rank\": [0], \"role_world_size\": [2]}", "agent_restarts": 3}}
{"name": "torchelastic.worker.status.FAILED", "source": "WORKER", "timestamp": 0, "metadata": {"run_id": "none", "global_rank": 1, "group_rank": 0, "worker_id": "63727", "role": "default", "hostname": "dgx-r107-3.ling", "state": "FAILED", "total_run_time": 14844, "rdzv_backend": "st
atic", "raw_error": "{\"message\": \"<NONE>\"}", "metadata": "{\"group_world_size\": 1, \"entry_point\": \"python\", \"local_rank\": [1], \"role_rank\": [1], \"role_world_size\": [2]}", "agent_restarts": 3}}
{"name": "torchelastic.worker.status.SUCCEEDED", "source": "AGENT", "timestamp": 0, "metadata": {"run_id": "none", "global_rank": null, "group_rank": 0, "worker_id": null, "role": "default", "hostname": "dgx-r107-3.ling", "state": "SUCCEEDED", "total_run_time": 14845, "rdzv_backend"
: "static", "raw_error": null, "metadata": "{\"group_world_size\": 1, \"entry_point\": \"python\"}", "agent_restarts": 3}}
/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py:354: UserWarning:

**********************************************************************
               CHILD PROCESS FAILED WITH NO ERROR_FILE
**********************************************************************
CHILD PROCESS FAILED WITH NO ERROR_FILE
Child process 63726 (local_rank 0) FAILED (exitcode 1)
Error msg: Process failed with exitcode 1
Without writing an error file to <N/A>.
While this DOES NOT affect the correctness of your application,
no trace information about the error will be available for inspection.
Consider decorating your top level entrypoint function with
torch.distributed.elastic.multiprocessing.errors.record. Example:

  from torch.distributed.elastic.multiprocessing.errors import record

  @record
  def trainer_main(args):
     # do train
**********************************************************************
  warnings.warn(_no_error_file_warning_msg(rank, failure))
Traceback (most recent call last):
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/launch.py", line 173, in <module>
    main()
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/launch.py", line 169, in main
    run(args)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/run.py", line 624, in run
    )(*cmd_args)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 116, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 348, in wrapper
    return f(*args, **kwargs)
  File "/home/ht1/anaconda3/envs/open-mmlab2/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 247, in launch_agent
    failures=result.failures,
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
***************************************
        ./tools/train.py FAILED
=======================================
Root Cause:
[0]:
  time: 2021-09-12_00:33:19
  rank: 0 (local_rank: 0)
  exitcode: 1 (pid: 63726)
  error_file: <N/A>
  msg: "Process failed with exitcode 1"
=======================================
Other Failures:
[1]:
  time: 2021-09-12_00:33:19
  rank: 1 (local_rank: 1)
  exitcode: 1 (pid: 63727)
  error_file: <N/A>
  msg: "Process failed with exitcode 1"
***************************************

Simply use sh ./tools/dist_train.sh configs/restorers/basicvsr/basicvsr_reds4.py 2

Related https://github.com/open-mmlab/mmediting/pull/473

I tried the method you provided, but it didn't solve my problem

solved, need to change two places

need to change two places

Hi, do you mean that the current codebase still have bugs?

I have met this problem ,what is the solution ? Help me please!!!!I have troubles many days.


Tap and hold back button to view tab history

Bonus: tap and hold back and forward buttons in menu to see history

I would like to work on this issue.

@AndrewR8 there's a similar Firefox (Fenix) issue.
In a nutshell, it's a good idea to show back and forward history in one menu when a user taps and holds on the forward button. The back button can keep the back stack but that might be too much to implement. The problem is Android 10's gestures. I'd love to know what you want.

@AndrewR8 thanks for volunteering to tackle this enhancement, but I think this is one of those projects we should implement internally due to the amount of needed collaboration with product and design team.
I keep this issue open here till we discard or accept the idea and to communicate any future updates to users that may be interested.


docs: updates changelog

For release 0.4.3

@canvural Don't hesitate on making a tweet about each release with what's is new. I will RT it.


DOC: major documentation rewrite

Closes #197, closes #230, closes #253, and closes #264
Sets us up to fix later #138, #233, and #224
Signed-off-by: Filipe Laíns<EMAIL_ADDRESS>

Sorry for the big PR, I'd recommend you having a look to see if there is anything major wrong. If there isn't anything major wrong, we should probably merge, and then we can send followup PRs to improve it.

Sorry for the big PR, I'd recommend you having a look to see if there is anything major wrong. If there isn't anything major wrong, we should probably merge, and then we can send followup PRs to improve it.

It seems like a good strategy to merge when the structure is right (it matches the suggestion in gh-197; let's give everyone a couple of days to have at least a high-level look at this) and what is there in terms of text is in decent shape. So we get the improved docs for the issues that this already closes. And then we can parallelize filling in the most important blanks.

By the way, on updating this PR: it would be quite useful to not rewrite history as you go. That makes it impossible to check what changed for reviewers. Rather, push new commits as updates, and then squash commits right at the end.

By the way, on updating this PR: it would be quite useful to not rewrite history as you go. That makes it impossible to check what changed for reviewers. Rather, push new commits as updates, and then squash commits right at the end.

Yeah, sorry. Github isn't a great git review platform. It would be awesome if they added support for rebase-merges with autosquash, that way I could push fixup commits for specific commit, and not have to squash the whole history. Currently, to update a specific commit I need to force-push, with the only alternative being committing to squash the whole history on merge. FYI you can actually click in "force-pushed" in the message to see what changed.
I want to push some of your feedback as separate commits, so instead of force-pushing, I can just push the fixup commits without squashing for review, and then when it comes time to merge, I will squash them and merge. Would that work for you? The other, more annoying, alternative would be to just push those changes as a separate PR.

I fixed the smaller stuff you mentioned, I will do the rest monday :+1:

The force-push was from a rebase to solve conflicts. The commits being reviewed haven't been changed other than just solving conflicts.
As mentioned previously, updates to the original commits are being done via fixup commits. They will be squashed after approval, just before merging.

@rgommers I think I've address all your comments, could you do a second pass?

I pushed a final update, here. I am not rebase and merge now.
@rgommers please do send a PR re-writing the SciPy description if you feel anything can be improved there.

@rgommers please do send a PR re-writing the SciPy description if you feel anything can be improved there.

Okay, will do.


Resolving subdependencies conflict

kfac > 0.2 requires tensorflow-probability==0.8.0. However, T2T requires tf-probability==0.7.0.
Restricting kfac to ==0.1.5 so that it can work.

@googlebot I signed it!


Remove unnecessary utf8 encoding

Hey team,
Do we need to interpret the binary data as UTF-8 encoded text?  Shall we just treat the binary data as raw bytes and convert each byte to its hex representation? This way, the integrity of the original binary data is maintained, and the final hex string is an accurate representation of the binary data.

@AlexV525 @NeutronProtocol could you please help me review the PR? thank you

Can you please resubmit this PR to clean up the code to make it use the shorter version? it seems confusing right now with the extra buffer.from

Are we sure it's not a problem either?

@atomicals Apologies for the delayed response; I was away from my keyboard yesterday. Do you still require me to resubmit the pull request?


init() missing 3 required positional arguments

Traceback (most recent call last):
  File "C:\Users\mikie\Desktop\test\main.py", line 11, in <module>
    connection = session.create_cloud_connection(pid)
  File "C:\Users\mikie\Desktop\test\scratchclient\ScratchSession.py", line 138, in create_cloud_connection
    return CloudConnection(project_id, self)
  File "C:\Users\mikie\Desktop\test\scratchclient\CloudConnection.py", line 20, in __init__
    self.connect(project_id)
  File "C:\Users\mikie\Desktop\test\scratchclient\CloudConnection.py", line 28, in connect
    self._ws = websocket.WebSocket()
TypeError: __init__() missing 3 required positional arguments: 'environ', 'socket', and 'rfile'

edit: oops, I was using an older version

edit: nevermind, seems like I had a conflicting library


Opportunity Naming Not Using Translated Record Type Label

Critical Changes
Changes

Fix Opportunity Naming to use the translated Record Type Label, if the {!RecordType.Name} has been specified in the Opportunity Name format and the label has been translated.

Issues Closed
Community Ideas Delivered
New Metadata
Deleted Metadata

@force2b @rjanjanam Another build just kicked off, but the last build I ran manually on the Feature Test - Robot produced 3 failed tests.  Trends on the errors showed wide spread failures across branches.  The build that I ran before that, produced another error that I have not seen personally:
Exception in task snapshot_changes
2020-02-11 17:39:54: Error Code 500. Response content: [{'message': 'An unexpected error occurred. Please include this ErrorId if you contact support: 136488570-152095 (-1298913099)', 'errorCode': 'UNKNOWN_EXCEPTION'}]
Could this be some sort of timing out of a server or network disruption?
I am waiting for the build to complete, will confirm any new errors, and then will merge this PR unless otherwise noted.

Thanks @rponti-sforg. As much as I want to use Robot tests, the 100% failure rate makes that a bit hard at the moment.

QE testing has been completed for this PR.  Based on the WI Description, Acceptance Criteria, and Test Charter feedback and discussion, tests have passed.
For further testing details, see: https://salesforce.quip.com/mHWxAcmbFUb6
Merging PR.  Will set WI status to Closed once post merge builds have successfully completed.

Thanks @rponti-sforg. As much as I want to use Robot tests, the 100% failure rate makes that a bit hard at the moment.

Understood.  Wasn't sure about the other error (Error Code 500), but you are correct ... wide spread / consistent.  Like you mentioned yesterday, Ratna is aware as well.  I am going to go ahead with merge.

@force2b @davisagli @rjanjanam All post merge tests completed successfully except for the Performance Tests:

Has this type of error been observed before?  Are we safe to proceed in closing the WI?

Duplicate Errors are generally a sporadic issue with the test data being created. Plus, it's a performance test, which isn't necessarily part of our standard suite of tests that we're looking at for passing (is that correct @davisagli?). My opinion is that the WI can be closed, but you're welcome to rebuild this if you'd like.
cc @prescod

This is 100% just a sporadic bad-luck failure. The same test probably passed on the same branch dozens of times. :(

Before I came to Salesforce I would have thought that the defining characteristic of enterprise software was reliable, predictable behaviour. I stand corrected.

Welcome to unit testing in Salesforce

Welcome to unit testing in Salesforce

Welcome to unit testing in Salesforce

There's got to be some SF swag for that, right?  Or is it Trailhead badges?  :)

The Robot test failures on this one seemed to be environment-related  and timing issues.
I want to keep track and see if these failures are being consistent and move them to unstable tests .
@rponti-sforg  we will observe the consistency of these failures on the next couple of builds


Issue 1048 reformat landesfeind electrolyte

Description
Reformatted the Landesfeind electrolyte parameters so now they can be called directly by setting "electrolyte": "lipf6_EC_EMC_3_7_Landesfeind2019" (or similar).
Fixes #1048
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[x] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ flake8
[x] All tests pass: $ python run-tests.py --unit
[x] The documentation builds: $ cd docs and then $ make clean; make html

You can run all three at once, using $ python run-tests.py --quick.
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

@ferranbrosa can you merge develop into your branch, this should fix the tests

All fixed now!


feat: release 1.12.0

Changed

add metrics dashboard
add support for IPv6 polling and traps for kubernetes deployment
add support for IPv6 polling and traps for docker deployment
add nodeSelector and podAntiAffinity to sim chart
add support for new IP format in dashboard

:tada: This PR is included in version 1.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


typo: updaing -> updating

@nschonni : Thanks for your contribution! The author, @tracsman, has been notified to review your proposed change.


Open ads in an in-app browser

Feature Description
Hi!
We are looking in to if it would be possible to open the ads using an in-app browser of some kind. Today I could not find any good way of implementing such a feature. Is it something you have on your roadmap?
Alternatively if we were to build such a feature ourselves, is the open of the link something Applovin handles, or is it done directly by the ad network SDK? E.g. we would need to modify the GoogleAdManagerAdapter in the Applovin iOS SDK if we wanted the links from Google Ad Manager on iOS to open in a browser.
Thanks in advance 😃

Hey @ghostops - feel free to send me an email so I can understand your ask more. Also, your website's Play Store badge is redirecting to the App Store instead :).


Replaced 'dotenv-webpack' with 'universal-dotenv' to support multiple dot env files (like CRA)

Issue: https://github.com/storybooks/storybook/issues/3743
What I did
Replaced the 'dotenv-webpack' plugin with Webkits native DefinePlugin with a configuration generated by 'universal-dotenv'. This enables usage of multiple .env files depending on e.g. NODE_ENV and BUILT_TARGET.
How to test
Is this testable with Jest or Chromatic screenshots? No
Does this need a new example in the kitchen sink apps? No
Does this need an update to the documentation? Probably, not sure whether DotEnv capabilities are mentioned at all already.
For maintainers only: Please tag your pull request with at least one of the following:
["cleanup", "BREAKING CHANGE", "feature request", "bug", "documentation", "maintenance", "dependencies", "other"]

@Hypnosphi Thanks for the feedback. I think it should be ready now.

Error: The NODE_ENV [development|production] environment variable is required but was not specified.
[08:06:21][Step 2/2]     at Object. (/mnt/agent/work/a1796458d49a7849/node_modules/universal-dotenv/lib/index.cjs.js:21:9)
[08:06:21][Step 2/2]     at Module._compile (internal/modules/cjs/loader.js:678:30)
[08:06:21][Step 2/2]     at Object.Module._extensions..js (internal/modules/cjs/loader.js:689:10)
[08:06:21][Step 2/2]     at Module.load (internal/modules/cjs/loader.js:589:32)
[08:06:21][Step 2/2]     at tryModuleLoad (internal/modules/cjs/loader.js:528:12)
[08:06:21][Step 2/2]     at Function.Module._load (internal/modules/cjs/loader.js:520:3)
[08:06:21][Step 2/2]     at Module.require (internal/modules/cjs/loader.js:626:17)
[08:06:21][Step 2/2]     at require (internal/modules/cjs/helpers.js:20:18)
[08:06:21][Step 2/2]     at Object. (/mnt/agent/work/a1796458d49a7849/lib/core/dist/server/config/env.js:3:1)
[08:06:21][Step 2/2]     at Module._compile (internal/modules/cjs/loader.js:678:30)

I figure dotenv-universal should regard the default NODE_ENV as being "development", right, @Hypnosphi

The reported error about NODE_ENV not being defined should be fixed in the latest version.

I also rebased the changes for alpha.9

Looks like something broke: https://deploy-preview-3744--storybooks-official.netlify.com

I am not sure how this relates to the changes. Wondering whether this is just the overall state of the alpha right now.

Nope http://storybooks-official.netlify.com

Rebased on upstream

Is there any way of reproducing these errors locally? I have now tested with "npm run test", "npm run bootstrap" and "npm start". All of them green and looking good.
That said, I studied the code more and figure there might be areas where the previous plugin might have replaced process.env. variables where the new plugin does not. In combination they should work fine though. Essentially the idea is that universal-dotenv reads in the multiple dotenv files like CRA does and then the Webpack DotEnv plugin replaces all remaining environment access fields like before.
Hopefully this fixes the issues.

I wasn't able to reproduce it locally, but it reproduces on all the CIs. This is probably a platform-specific issue. Anyway, I've added yarn resolution as suggested in the warning, this should help

Thanks for sharing how to reproduce locally.
The issue seems to be related to the not very maintained graphiql (last release December 2017) which relies on an old version of graphql. I played an hour with different versions. Unfortunately still without any success.
I am just relatively sure, that this is just some side-effect as the package introduced by this PR "dotenv-universal" has quite a small dependency list not anyhow related to graphql at all:
<EMAIL_ADDRESS>  version "1.5.1"
  resolved "https://registry.yarnpkg.com/universal-dotenv/-/universal-dotenv-1.5.1.tgz#fe256777b5757908b24e01ad25007cc16994e78a"
  dependencies:
    app-root-dir "^1.0.2"
    dotenv "^6.0.0"
    dotenv-expand "^4.2.0"

from yarn.lock.

Okay, it seems like my previous assumption was wrong. I got the hint by this thread on the GraphQL issue tracker: https://github.com/graphql/graphql-js/issues/1182#issuecomment-388563851
It's more related to the fact the NODE_ENV is not correctly applied as production when building storybooks.
In the docs it's mentioned that "When building storybook, we set NODE_ENV to ‘production’". https://storybook.js.org/configurations/env-vars/#node_env-env-variable - I am just not sure where this actually happens as when the CLI imports "universal-dotenv" it still seems to be unset.
I figure it's related to the fact that Storybooks CLI is setting the value during runtime, while universal-dotenv expects it to be set before that already e.g. via export/set or on the command line. This approach is required to let universal-dotenv correctly load environment specific configuration e.g. .env.development.

I think I found a solution. Hopefully CI runs through successfully :)

Unfortunately not. I don't like repeated code as well. Order is very important here. And we have to make sure that NODE_ENV is correctly set before importing the other stuff. Doing it here keeps CommonJS (which is required for these order requirements) at its minimum.

OK, then I think bin/build.js are a more appropriate place for that. They already use commonjs, so there's no need for comments

That looks like a good place... let be try it out...

Wouldn't hurt to get this finally merged. @Hypnosphi can you have another look? This is the far cleaner approach!

@swernerx I am looking at this part of code feel like the .env files should be loaded when the plugin is actually used instead of doing it early. Currently, loadEnv from this line takes all the system variables and filters the only STORYBOOK_ ones because the others might be system sensitive. The .env files are supposed to be safe and should be completely allowed. But the way your plugin is currently working, you are loading the files before loadEnv is called, which means only STORYBOOK_ variables from the .env files are being passed to webpack. All the variables from the .env files should be passing to the webpack.

@pksunkara I figure this was my intention. I think of environment variables being mostly static during one run. At lot of other libraries seem to have the assumption as well. They e.g. enable specific code branches for debugging with NODE_ENV being development, but this branching happens at declaration level, not during runtime of the function. That said, for the multi .env situation as supported by the library it would be quite tricky to suggest that it is loadable and initializable at any level because that is not true. Once values have been applied to process.env they are never overrided again so code like this:
process.env.NODE_ENV="development";
universalDotEnv.init();

will not work correctly when the init call happened before already.

Yeah, but your package doesn't have an init call. Just doing require('universal-dotenv') is loading the .env files. I would prefer if your package has an init() thing which I can use after filtering the STORYBOOK_ env variables. The usecase I mentioned in my previous comment is definitely something that would need loading at a different level of code, because the environment variables is not static here. They are being deleted by some parts of the code.


Video tutorials

Mikhail Andreev, [27.12.20 23:58]
If someone create video tutorials, I will be grateful, but I don’t have time for that yet 😞
Edi, [28.12.20 00:33]
Could you help me to do guides in text so I understand the principles and then I could make video tutorials 😁
https://t.me/instagrapi/605

I changed my mind about creating video tutorials, but you can make them and upload them to your YouTube channels


Unable to stream from IBM Ustream:channel

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that a supported site is broken
[X] I've verified that I'm running yt-dlp version 2023.03.04 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Australia
Provide a description that is worded well enough to be understood
I am not sure if this is related to #3702 as this is for channel.
I've noticed that ustream today has suddenly gotten quick snarky about playing m3u8's from their iPhone URL - so I am not sure if they have made changes holistically to prevent side access.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://video.ibm.com/channel/iss-hdev-payload']
[debug] Encodings: locale utf-8, fs utf-8, pref utf-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>[392389b7d] (pip)
[debug] Python 3.11.2 (CPython x86_64 64bit) - macOS-13.2.1-x86_64-i386-64bit (OpenSSL 1.1.1t  7 Feb 2023)
[debug] exe versions: ffmpeg 5.1.2 (setts), ffprobe 5.1.2
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1786 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Available version<EMAIL_ADDRESS>Current version<EMAIL_ADDRESS>yt-dlp is up to date<EMAIL_ADDRESS>[generic] Extracting URL: https://video.ibm.com/channel/iss-hdev-payload
[generic] iss-hdev-payload: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] iss-hdev-payload: Extracting information
[debug] Looking for embeds
[debug] Identified a twitter:player iframe
[ustream] Extracting URL: https://ustream.tv/embed/17074538
[ustream] 17074538: Downloading webpage
ERROR: [ustream] 17074538: Unable to extract content video IDs; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/Cellar/yt-dlp/2023.3.4/libexec/lib/python3.11/site-packages/yt_dlp/extractor/common.py", line 694, in extract
    ie_result = self._real_extract(url)
                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/yt-dlp/2023.3.4/libexec/lib/python3.11/site-packages/yt_dlp/extractor/ustream.py", line 172, in _real_extract
    content_video_ids = self._parse_json(self._search_regex(
                                         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/Cellar/yt-dlp/2023.3.4/libexec/lib/python3.11/site-packages/yt_dlp/extractor/common.py", line 1242, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)

Identical outcome:

Identical outcome for:
[debug] Command-line config: ['-vU', 'https://video.ibm.com/channel/6rnaS4ez9DU']
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.22621-SP0 (OpenSSL 1.1.1k  25 Mar 2021)

Related: https://github.com/ytdl-org/youtube-dl/issues/32088

And now: ytdl-org/youtube-dl#32996


Bucket analysis: Handle corner case where samples list is empty

Required by this PR in web.
When a user provides custom bucket intervals, the interval range may be too small that there are no samples within it. This causes bucket_collection.samples to become empty.
The previous code did not handle this case and will throw an error in metric_stat.filter(bucket_collection.samples), where data[indices_array.flatten()] complains "arrays used as indices must be of integer (or boolean) type" because indices_array is empty (cannot perform slicing using an empty array).
I thought it'd be better to handle the empty corner case at a higher level and added the logic in perform().
(Initially forgot to install pre-commit locally. It's installed now)

Hey @odashi do you think this PR could be merged first (needs at least one approval)? As you mentioned, #482 is resolvable by a schema update in MetricResult.


[Svelte] historyApiFallback should be enabled for serve command

In development, when we use routing with history strategy. It's necessary to fallback any non existing path to index.html, to let svelte handle the page.
Current Behavior:
After running nx serve, any direct navigation from browser to non existing page will lead to devserver's 404 file not found page
Expected Behavior:
After running nx serve, any direct navigation from browser to non existing page, should load index.html and bootstrap svelte application.
From https://github.com/nxext/nx-extensions/blob/main/packages/svelte/src/executors/utils/rollup-options.ts#L109
We need extra options for serve plugin, adding historyApiFallback: true should solve the problem
Thanks for your effort creating this.

There’sa Patch Release for that now

Updated to new version and work as expected
Thank you.


minor renaming of methods to avoid confusion in cluster patcher

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@ramaraochavali: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests_istio
eae053824e47345270f5df05a5088d384bf43bfe
link
true
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@ramaraochavali: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
eae053824e47345270f5df05a5088d384bf43bfe
link
unknown
/test integ-security-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster_istio

@ramaraochavali: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
eae053824e47345270f5df05a5088d384bf43bfe
link
true
/test integ-security-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster_istio

@ramaraochavali: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-security-multicluster_istio
eae053824e47345270f5df05a5088d384bf43bfe
link
true
/test integ-security-multicluster_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test integ-security-multicluster_istio


Reduce font size & print more character in each line

I need to print more character(now 28 characters / each line) and also formatting some style(reduce font size) while printing. Tag defination {s}, {/s} not supported in INTEL XDK.

Hi...
I also need a help to print multiple font size

So, these are the font styler available:

{b}, {/b} Set or clear bold font style.
{u}, {/u} Set or clear underline font style.
{i}, {/i} Set or clear italic font style.
{s}, {/s} Set or clear small font style.
{h}, {/h} Set or clear high font style.
{w}, {/w} Set or clear wide font style.

Why it's not supported by INTEL XDK? Couldn't understand...

Hi…
Thank for feedback…
I successful using your code in ionic using Oneil and StartPrinter.
My other problem is, i cannot print barcode and image using both printer,
I’m have a jar SDK for printer, how to integrate that
Thank you

On Oct 21, 2016, at 5:57 AM, Giorgio Fellipe<EMAIL_ADDRESS>wrote:
So, these are the font styler available:
{b}, {/b} Set or clear bold font style.
{u}, {/u} Set or clear underline font style.
{i}, {/i} Set or clear italic font style.
{s}, {/s} Set or clear small font style.
{h}, {/h} Set or clear high font style.
{w}, {/w} Set or clear wide font style.
Why it's not supported by INTEL XDK? Couldn't understand...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/giorgiofellipe/cordova-plugin-datecs-printer/issues/15#issuecomment-255239917, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4sSX3QxfGECgUS7Z_Kc2JUEl-4pulfks5q1-PigaJpZM4JnYAH.

Hi @megatdaharus,
Did you experience when printing text. There is a Capitalize i on the first line?
Thanks

HI…
Here the final result
I need to print 2 barcode for the header and 1 e-signature (jpg)...

On Nov 3, 2016, at 8:47 AM, jakeb-cloud<EMAIL_ADDRESS>wrote:
Hi @megatdaharus https://github.com/megatdaharus,
Did you experience when printing text. There is a Capitalize i on the first line?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/giorgiofellipe/cordova-plugin-datecs-printer/issues/15#issuecomment-258042128, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4sSQwlrY5VxMKlBxAU2FuwVxHXGmrQks5q6S8kgaJpZM4JnYAH.

Hi @megatdaharus,
Is the 2 barcode and 1 image is successfully printed?
Thanks

Hi…
Not success…

On Nov 3, 2016, at 9:28 AM, jakeb-cloud<EMAIL_ADDRESS>wrote:
Hi @megatdaharus https://github.com/megatdaharus,
Is the 2 barcode and 1 image is successfully printed?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/giorgiofellipe/cordova-plugin-datecs-printer/issues/15#issuecomment-258046946, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4sSUPuUutTAYMYGrShq0KkPff6ohJGks5q6Ti7gaJpZM4JnYAH.

Hi…
Can u help me to build a plugin using datamax-oneil (microflach 4Te) & star print sdk
I will pay for it…
thank you

On Nov 3, 2016, at 9:56 AM, Megat Daharus Megat Idris<EMAIL_ADDRESS>wrote:
Hi…
Not success…

On Nov 3, 2016, at 9:28 AM, jakeb-cloud<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Hi @megatdaharus https://github.com/megatdaharus,
Is the 2 barcode and 1 image is successfully printed?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/giorgiofellipe/cordova-plugin-datecs-printer/issues/15#issuecomment-258046946, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4sSUPuUutTAYMYGrShq0KkPff6ohJGks5q6Ti7gaJpZM4JnYAH.

@megatdaharus ping me<EMAIL_ADDRESS>

Hi…
Can u help me to build a plugin using datamax-oneil (microflach 4Te) & star print sdk
I will pay for it…
thank you

On Nov 3, 2016, at 9:56 AM, Megat Daharus Megat Idris<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Hi…
Not success…

On Nov 3, 2016, at 9:28 AM, jakeb-cloud<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Hi @megatdaharus https://github.com/megatdaharus,
Is the 2 barcode and 1 image is successfully printed?
Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/giorgiofellipe/cordova-plugin-datecs-printer/issues/15#issuecomment-258046946, or mute the thread https://github.com/notifications/unsubscribe-auth/AV4sSUPuUutTAYMYGrShq0KkPff6ohJGks5q6Ti7gaJpZM4JnYAH.

@megatdaharus I surely can, what is your email?

The first tag is not aligned to the left


[language-text] Fix test for grapheme offset in PII Entity

Packages impacted by this PR
Issues associated with this PR
#25272
Describe the problem that is addressed by this PR
All compound emojis are correctly counted as a single TextElement or grapheme after the service bug fixed
What are the possible designs available to address the problem? If there are more than one possible design, why was the one in this PR chosen?
Are there test cases added in this PR? (If not, why?)
Provide a list of related PRs (if any)
Command used to generate this PR:**(Applicable only to SDK release request PRs)
Checklists

[ ] Added impacted package name to the issue description
[ ] Does this PR needs any fixes in the SDK Generator?** (If so, create an Issue in the Autorest/typescript repository and link it here)
[ ] Added a changelog (if necessary)

API change check
API changes are not detected in this pull request.


Firefox required by hack1.py but not installed in box

During the run of hack1.py, the following error message was returned:
Traceback (most recent call last):   File "./hack1.py", line 103, in <module>     driver = webdriver.Firefox()   File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/webdriver.py", line 54, in __init__     self.binary = FirefoxBinary()   File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 49, in __init__     self._start_cmd = self._get_firefox_start_cmd()   File "/usr/local/lib/python3.4/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 161, in _get_firefox_start_cmd     " Please specify the firefox binary location or install firefox") RuntimeError: Could not find firefox in your system PATH. Please specify the firefox binary location or install firefox

When I try using apt to install firefox, I get the following error:
`vagrant@vagrant-ubuntu-trusty-32:/vagrant$ sudo apt install firefox
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
firefox : Depends: libstartup-notification0 (>= 0.8) but it is not installable
Recommends: xul-ext-ubufox but it is not going to be installed
Recommends: libdbusmenu-glib4 but it is not going to be installed
Recommends: libdbusmenu-gtk4 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.`
Please advise?

Can you try this before installing firefox:
sudo apt-get update
Then install firefox.


Wrong Link

[Enter feedback here]
The "Win 10 lab guides" doesn't link to the guides (Win11 lab guides links to https://download.microsoft.com/download/9/d/9/9d9e278e-a1ea-4704-85e1-cb24f3806f45/Win11_Lab_Guides_05.09.zip)
The URL for "Win 10 lab guides" is https://download.microsoft.com/download/2/9/9/29952cdb-b98d-4f9b-9d6e-9fb49644b0a0/Win10_21H1_Lab_05.12.zip
The above URL seems to be missing "Guides" in betwee "Lab" and "05" - although manually entering this takes you to a 404 page.

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

ID: 21195f1c-0f99-502b-c6e7-a87d35237a81
Version Independent ID: 1848a7e1-4919-8e28-27ea-cfdbef125609
Content: Windows and Office 365 deployment lab kit - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
Service: o365-solutions
GitHub Login: @cdmm12
Microsoft Alias: aaroncz

@Nath9119 The windows 10 Lab guide link is https://download.microsoft.com/download/8/5/e/85e007b0-1f3e-460c-bd0a-5a8c6ec490b5/Win10_21H2_guides.zip and the same has been updated in the document
Hope this helps!
Thanks
Sri


ExpoPhaser on Android not working

Trying to add ExpoPhaser to my Expo Android app and just making a game object causes the app to error. I am using a Galaxy S8.
undefined is not an object (evaluating window.emitter.emit
Not sure what to make of the error. Seems to build okay on the iOS simulator.
Can provide more details if needed. Thanks for library! Really like the idea!

This error changes on second load to:
EXGL: Invalid pixel data argument for gl.textImage2D()!
This is all I have in my App.js.
`import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import Expo from 'expo';
import ExpoPhaser from 'expo-phaser';
export default class App extends React.Component {
state = { loading: true };
async componentWillMount() {
this.setState({ loading: false });
}
render() {
if (this.state.loading) {
return <Expo.AppLoading />;
}
return (
    <Expo.GLView
        style={{ flex: 1 }}
        onContextCreate={context => startGame({ context })}
    />
);

}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
function startGame({ context }) {
const game = ExpoPhaser.game({ context });
//
// game.state.add('Playable', {
//   preload: function() {
//     /// This function cannot be async, preload all assets before getting here.
//     game.load.image(
//         'man',
//         Expo.Asset.fromModule(Assets['man.json']).localUri,
//     );
//   },
//   create: function() {},
//   update: function() {},
// });
//
// game.state.start('Playable');
}`

Right, I've tracked the issue down to a problem with base64 image conversion. lol apparently in Android ImageStore.addImageFromBase64 isn't available. We need an alternative to this in @expo/browser-polyfill to proceed.

Ok, how can we apply fix ?

Native code would need to be added to the android build, there is currently no way to parse base64 on Android

@axedre nothing definitive right now. I'm working on ARCore for android atm. This is phaser-ce (~2.7) which is a little outdated now. I think it might make sense to add support for the newer versions of Phaser with Android. We still need the FileSystem  updates either way. It also might make sense to support a simpler game engine like melon.js as well. If you have any input on any of this lemme know.

Nothing much really, apart from a quick SO search (which I'm sure you've already attempted) that yields https://stackoverflow.com/questions/42294821/convert-base64-string-to-image-in-android
I'm no Java developer though so I wouldn't know where to start... :-/

https://github.com/expo/expo/pull/2328

Can a new version be published to npm?  I am getting bit by this issue and the last version published was 10 months ago

How is this going? If it's still not working on Android, please add a note on README so that other people intending to use it for Android app could avoid to take time for this. Thank you!

I'm also experiencing this error on android, ios works fine.  EXGL: Invalid pixel data argument for gl.texImage2D()!
Here's my code after following https://github.com/expo/expo/pull/2328.  I'm not sure what to do with 'data:image/png;base64'.  Any insight is appreciated!
const downloads = [];
for (let key of Object.keys(Assets)) {
  let asset = Asset.fromModule(Assets[key]);
  await asset.downloadAsync();

  let localUri = asset.localUri;

  if (Platform.OS === 'android') {
    const b64 = await FileSystem.readAsStringAsync(localUri, {
      encoding: FileSystem.EncodingType.Base64,
      // length: 1,
      // position: 0,
    });
    console.log('cache directory: ', FileSystem.cacheDirectory);
    const nextUri = FileSystem.cacheDirectory + 'image.png';
    console.log('nextUri: ', nextUri);
    await FileSystem.writeAsStringAsync(nextUri, b64, {
      encoding: FileSystem.EncodingType.Base64,
    });

    localUri = nextUri;
  }
  downloads.push(localUri);
}
this.setState({ loading: false, downloads });

Same issue on expo-pixi.


cordova.js isn't found

@TheMushrr00m
In index.html

But the cordova.js file is in the src folder, so in the browser I get the error message that the file isn't found

@BennyAlex Can you give me more information?
Which browser are you using?
Version?
O.S. ?
I can't replicate this behavior.

Win 7
Node 8.5
npm 5.4.2
newest Chrome

I still wondering where the codova.js should comming from? It isn't in the same folder where index.html is


How do I run this project?

How do I run this project?
Also - I need to integrate this with a javascript app. So I need to run phython AND the javascript server at the same time. thanks!

Never tried, but in theory...

Install and test your SDR receiver. Instructions depend on SDR receiver.
Git clone or download+unzip files and run python3 server.py or python2 server.py If ncessary add arguments to command line (check server.py source code).
Open in your browser http://localhost:8000 or https://localhost:8000


Reverse / map / filter / reduce / every / some

Buffer.prototype.[reverse / map / filter / reduce / every / some] exists in node v6.3.1,  implementation could be grabbed directly from https://github.com/crypto-browserify/buffer-reverse

Buffer.prototype.reverse only needed for object implementation. Except reverse object implementation also doesn't have map / filter / reduce / etc..

I don't think it's reasonable or important to support these methods in browsers that lack typed array support.
Usage of reverse / map / filter / reduce / every / some in real-world npm packages is likely low or non-existant because:

These methods are not documented in the Node.js docs
There are zero tests that uses these methods in the buffer test suite.
Buffer.prototype.map doesn't even work correctly in Node v4, so no reasonable packages will use it while Node v4 is in LTS. Example:

B.from('abc').map(function (letter) { console.log(letter) })
// Throws "TypeError: this is not a typed array."

Even still, folks are free to use these methods in their browser code and they'll work in browsers that support typed arrays and array subclassing. But I really have no interest in shipping implementations of map, filter, etc. just to support this edge case.
Feel free to continue discussion if you disagree, but I'm going to close this.

By the time that Node v4 is out of LTS and folks actually start using these methods, this won't be an issue anymore.

Is that to say it will be implemented in the future?

They're already implemented. The methods are inherited from the superclass TypedArray.prototype. But they only work correctly in browsers that support typed arrays and Array subclassing. Today, that's the latest versions of Chrome/Opera, Firefox, Edge, and Safari (technology preview).


Generate the Wide Windows Icons correctly

When generating the icons, the Windows Wide Icons are still square, and this causes Cordova build to fail for Windows 10 Apps.
The Wide size should be 310 x 150 (744 x 340 @2x). But square 310 x 310 (744 x 744 @2x) images are produced instead.

Same problem, fix pls!


UB in libsais_unbwt

Hi! The following C code will trigger undefined behaviour in libsais' unbwt code:
unsigned char arr[] = { 0xFB, 0xB7, 0x46, 0xA8, 0x13, 0xBC, 0x88, 0xC8, 0x9B, 0xBC, 0x97, 0xCB, 0x1A, 0xA6, 0xAE, 0x96, 0xBC, 0xBD, 0x13, 0xB7, 0xA3, 0xE2, 0x95, 0x88, 0x9B, 0xB6, 0xC2, 0x87, 0x65, 0x77, 0xF7, 0xB8, 0x8E, 0xCE, 0xE1, 0xCB, 0x9F, 0x63, 0x9B, 0xF3, 0xCB, 0x63, 0x42, 0x26, 0x14, 0x2F, 0xC4, 0xCE, 0x43 };
int size = 49; int bwt_idx = 1;

int main(void) {
    s32 * A = (s32 *) malloc(sizeof(s32) * (size + 1));
    libsais_unbwt(arr, arr, A, size, NULL, bwt_idx);
    printf("%d\n", arr[0]);
}

The Valgrind output follows:
==2044781== Use of uninitialised value of size 8
==2044781==    at 0x11D5C2: libsais_unbwt_decode_1 (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x11F638: libsais_unbwt_decode (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12016F: libsais_unbwt_decode_omp (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120205: libsais_unbwt_core (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12031E: libsais_unbwt_main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120601: libsais_unbwt_aux (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120489: libsais_unbwt (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x10927E: main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==
==2044781== Use of uninitialised value of size 8
==2044781==    at 0x11D5EA: libsais_unbwt_decode_1 (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x11F638: libsais_unbwt_decode (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12016F: libsais_unbwt_decode_omp (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120205: libsais_unbwt_core (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12031E: libsais_unbwt_main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120601: libsais_unbwt_aux (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120489: libsais_unbwt (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x10927E: main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==
==2044781== Use of uninitialised value of size 8
==2044781==    at 0x11D5A8: libsais_unbwt_decode_1 (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x11F638: libsais_unbwt_decode (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12016F: libsais_unbwt_decode_omp (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120205: libsais_unbwt_core (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12031E: libsais_unbwt_main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120601: libsais_unbwt_aux (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120489: libsais_unbwt (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x10927E: main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==
==2044781== Conditional jump or move depends on uninitialised value(s)
==2044781==    at 0x11D5CA: libsais_unbwt_decode_1 (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x11F638: libsais_unbwt_decode (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12016F: libsais_unbwt_decode_omp (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120205: libsais_unbwt_core (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12031E: libsais_unbwt_main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120601: libsais_unbwt_aux (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120489: libsais_unbwt (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x10927E: main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==
==2044781== Use of uninitialised value of size 8
==2044781==    at 0x11D607: libsais_unbwt_decode_1 (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x11F638: libsais_unbwt_decode (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12016F: libsais_unbwt_decode_omp (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120205: libsais_unbwt_core (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x12031E: libsais_unbwt_main (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120601: libsais_unbwt_aux (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x120489: libsais_unbwt (in /home/palaiologos/Desktop/bzip3/unit)
==2044781==    by 0x10927E: main (in /home/palaiologos/Desktop/bzip3/unit)

After a closer investigation, this happens on the if statement below:
static void libsais_unbwt_decode_1(u8 * RESTRICT U, sa_uint_t * RESTRICT P, sa_uint_t * RESTRICT bucket2,
                                   u16 * RESTRICT fastbits, fast_uint_t shift, fast_uint_t * i0, fast_uint_t k) {
    u16 * RESTRICT U0 = (u16 *)(void *)U;

    fast_uint_t i, p0 = *i0;

    for (i = 0; i != k; ++i) {
        u16 c0 = fastbits[p0 >> shift];
        if (bucket2[c0] <= p0) {
            do {
                c0++;
            } while (bucket2[c0] <= p0);
        }
        p0 = P[p0];
        U0[i] = libsais_bswap16(c0);
    }

    *i0 = p0;
}

This input is not valid BWT string. I attempted to decode it with different algorithm (see below) and it failed as well. libsais uses variation of BWT with sentinel symbol ($) as oppose to variation with cyclic permutation (like in bzip2). This BWT variations are not compatible and behavior of libsais_unbwt is not defined for such inputs.
static void unbwt_mergedTL(unsigned char * T, unsigned int * P, int n, int index)
{
    unsigned int bucket[256];

    for (int i = 0; i < 256; ++i) { bucket[i] = 0; }

    for (int i = 0; i < index; ++i)
    {
        unsigned char c = T[i];
        P[i] = ((bucket[c]++) << 8) | c;
    }

    for (int i = index; i < n; ++i)
    {
        unsigned char c = T[i];
        P[i + 1] = ((bucket[c]++) << 8) | c;
    }

    for (unsigned int sum = 1, i = 0; i < 256; ++i)
    {
        unsigned int tmp = sum; sum += bucket[i]; bucket[i] = tmp;
    }

    for (int p = 0, i = n - 1; i >= 0; --i)
    {
        unsigned int  u = P[p];
        unsigned char c = u & 0xff;
        T[i] = c; p = (int)((u >> 8) + bucket[c]);
    }
}


[FR] Exclude file from word count in folder

novel word count has yaml property
---
wordcount: false
---

for file in a folder to be excluded from counting words. Would be great to have a similar option (this one, or tag liketags: exclude-from-word-count, or new, similar but non-overlapping with other plugin solution) in the case of counting words in folders (often auxiliary files with other materials are stored together at the same level with the actual writing)

I'd prefer wordcount. I know Novel Word Count allows for that and the tag but I'd prefer just to go for this single option.
Would this only apply to notes not contributing to the parent/grandparent etc. word count? So, a note could have this wordcount: false frontmatter property set and still have a goal and a daily goal set for that note?

I don't have opinion in that matter, I was thinking in this case about examples like Index.md from long form or files like kanban boards to track progress et cetera

Added in 0.5.1.


Web pack 2

Could you please upgrade to Web pack 2? Ir would be helpful to know if solution is future proof.

@dcworldwide the solution does appear to be future proof. @jwasilgeo has updated my babel fork of this repo to use webpack 2: https://github.com/tomwayson/esri-webpack-babel/pull/8
I don't see anything there that wouldn't be compatible w/ TypeScript. You should give those changes a spin, and if they work, PR back here.

Will do thanks. I'm about to update a large esri js Webpack 1 project to 2 so happy to hear that.

Hey all--I just saw this today, not sure what happened to the notifications!
I went ahead and pulled in @jwasilgeo 's updates for webpack 2.  I also did some minor cleanup--adding a postinstall for the typings, hot module reloading, and generating the index file.

Sweet great work. Will be trying this out myself next week


abort & disconnect when .send timeout

I set a timeout for a provider.send call, when this timeout, I want to completed destroy the connection, and abort the .send, cause I will create a new instance to send this.
If I do not abort, this notification may be sent twice here, and if the tcp connection was not destroyed, this will cause too many opened fds problem.
So what should I need to do, just provider.destroy() , or should I do a small trick, empty the queue ?

Could you explain what your use case is?
Calling provider.shutdown() shuts down the connection after emptying the current queue.

@magicdawn I am closing this. If you still have any questions, feel free to reply to this issue.

Hello, sorry for forgetting this
Here is my concern, I set a timeout for a Notification Push. and when the timeout exceed, I need to retry. so I need to abort the timeout-exceeded push, no matter in what way. The retry may utilize another connection.

The purpose is try not to send multi times for a notification multi times

There should be no need to implement a custom retry in that way. The callback will called if sending fails and you can then retry.
What are you trying to achieve with this timeout?

A flow control. I'm using a single push once, and with a concurrency limit, after single push complete, the worker is idle to deliver another push. Actually I'm using rabbitmq, and 100 consumer, 1 node-apn Provider per consumer. After the push success or fail or timeout exceed, the consumer will ack the queued notification. So A timeout is need.
And Pour all notifications to the memory will blow the node application. And it's also not easy to have persistence.

100 instances of node-apn? O___O How many devices are in your user base?

@oliversalzburg 30k, since a single apn.Provider cause problems, like #449 #471 , I change the number to 100


[FEATURE] Swagger Offline Support

Hi everyone! When running the docs (Swagger) of FastAPI  the UI is not rendered while offline.
Would it be possible to include the swagger-ui-bundle.js and swagger-ui.css files (which are currently loaded via a CDN in https://github.com/tiangolo/fastapi/blob/4cea311e6ef112edfa1e42fde2f63b6ab2d7e413/fastapi/openapi/docs.py) in the project so those resources are available offline as well?
Best regards

Hi, support for this was added in #112, but the documentation is missing for it. I've created #557 for it, documenting the way it works for me at least. As stated in the PR, I'm not sure if it is the easiest way, though.

@svalouch oh yea you're absolutely right, it's already implemented. Thanks for mentioning it and they should include your example, works as advertised! Cheers

Hi @svalouch. Tried to use your example and can't figure out why I'm getting 404 not found while the current files are under /static/ directory.
INFO: ('<IP_ADDRESS>', 45654) - "GET /amm/docs HTTP/1.1" 200
INFO: ('<IP_ADDRESS>', 45654) - "GET /static/swagger-ui.css HTTP/1.1" 404
INFO: ('<IP_ADDRESS>', 45656) - "GET /static/swagger-ui-bundle.js HTTP/1.1" 404

Just in case how did I solve this, may be helpful for anybody. We need to mount static folder to make our files visible.
from starlette.staticfiles import StaticFiles
........
app.mount("/static", StaticFiles(directory="static"))

Thanks for the help here everyone! :clap: :bow:
Thanks for reporting back and closing the issue :+1:
The new docs are here: https://fastapi.tiangolo.com/advanced/extending-openapi/#self-hosting-javascript-and-css-for-docs

I have used the instructions with the example of sub-applications in https://fastapi.tiangolo.com/advanced/sub-applications/, but I don't get the desired result. the 1st UI is showing correctly but not the second one, <IP_ADDRESS>/subapi/docs and if I add the instructions at the subapi level, I have a blank page

When using swagger and redoc offline and beeing behind nginx or traefik i get an error saying "Resource interpreted as Styleshet but transferred with MIME type text/html"
Any idea how to fix it ?

Posting here in case anyone else finds this useful...
I have the cut-and-paste from the instructions @tiangolo posted above way too many times in the past month, and finally just made a package that includes everything:  https://pypi.org/project/fastapi-offline/

I created a repository which is called 'Fastapi Offline Swagger UI' to which is only download js and css files for offline usage. You can find here ahmetoner/fastapi-offline-swagger-ui
Install
You can install this software via pip or poetry.
pip3 install git+https://github.com/ahmetoner/fastapi-offline-swagger-ui

or pyproject.toml

[tool.poetry.dependencies]
...
fastapi-offline-swagger-ui = {git = "https://github.com/ahmetoner/fastapi-offline-swagger-ui"}

Usage Examples
After installing the module, create a python file. Copy and run following.
from fastapi import FastAPI, File, UploadFile, Query, applications
from fastapi.responses import StreamingResponse, RedirectResponse
from fastapi.staticfiles import StaticFiles
from fastapi.openapi.docs import get_swagger_ui_html
import fastapi_offline_swagger_ui

app = FastAPI()

''' This following code block necessary to switch offline cdn files via fastapi_offline_swagger_ui module
'''
assets_path = fastapi_offline_swagger_ui.__path__[0]
if path.exists(assets_path + "/swagger-ui.css") and path.exists(assets_path + "/swagger-ui-bundle.js"):
    app.mount("/assets", StaticFiles(directory=assets_path), name="static")
    def swagger_monkey_patch(*args, **kwargs):
        return get_swagger_ui_html(
            *args,
            **kwargs,
            swagger_favicon_url="",
            swagger_css_url="/assets/swagger-ui.css",
            swagger_js_url="/assets/swagger-ui-bundle.js",
        )
    applications.get_swagger_ui_html = swagger_monkey_patch

Live Example
Alternatively you can browse ahmetoner/whisper-asr-webservice repository to see how it is implemented.


Moving artifact type out of annotations

This looks at what happens if we move artifact type out of annotations and into a dedicated field in the manifest.
Pros:

Registries are more likely to parse and provide filtering on the field
Client tooling may find it easier to avoid parsing annotations for this field

Cons:

Extends the descriptor struct to support pulling up the type field
Not all OCI artifacts today use an appropriate media type on the config object since registries may filter on this field
The mediaType is longer than what's expected in the annotation value, so a mapping is needed for the tag digest scheme

Signed-off-by: Brandon Mitchell<EMAIL_ADDRESS>

@michaelb990 I think I captured the request here. Comments/reviews welcome.

Is this meant to be a valid IANA-style mediatype?

Is this meant to be a valid IANA-style mediatype?

We should probably follow the requirements for the config mediaType in artifacts today which defers to IANA in some parts but I don't think it's a strict requirement:
https://github.com/opencontainers/artifacts/blob/main/artifact-authors.md#defining-a-unique-artifact-type

IANA was used as the clearing house. If two artifacts want to claim a mediaType, the one that registers with IANA would be "the official" one. This took OCI out of arbitrating a decision.

will this resolve https://github.com/opencontainers/wg-reference-types/issues/46 then?

@SteveLasker - could you help outline the shape of new artifact manifest for a standalone Helm artifact?
Docs: https://helm.sh/docs/topics/registries/#helm-chart-manifest
Would it be something like
Old application/vnd.oci.image.manifest.v1+json (OCI artifact)
{
  "schemaVersion": 2,
  "config": {
    "mediaType": "application/vnd.cncf.helm.config.v1+json",
    "digest": "sha256:8ec7c0f2f6860037c19b54c3cfbab48d9b4b21b485a93d87b64690fdb68c2111",
    "size": 117
  },
  "layers": [
    {
      "mediaType": "application/vnd.cncf.helm.chart.content.v1.tar+gzip",
      "digest": "sha256:1b251d38cfe948dfc0a5745b7af5ca574ecb61e52aed10b19039db39af6e1617",
      "size": 2487
    }
  ]
}

New application/vnd.oci.artifact.manifest.v1+json
{
  "mediaType": "application/vnd.oci.artifact.manifest.v1+json",
  "artifactType": "application/vnd.cncf.helm.chart.envelope.v1+json",
  "blobs": [
     {
       "mediaType": "application/vnd.cncf.helm.chart.content.v1.tar+gzip",
       "digest": "sha256:1b251d38cfe948dfc0a5745b7af5ca574ecb61e52aed10b19039db39af6e1617",
       "size": 2487
     }
  ]
}

could you help outline the shape of new artifact manifest for a standalone Helm artifact?

Your example above would be the functional equivalent, which also shows how the OCI Image manifest.config.mediaType = Artifact manifest.artifactType
There's two additional points:

We initially focused on putting config in the mediaType, and including a +json on the extension, simply as momentum for how they were represented at the time.
We later clarified config should be reserved when there's actually a config blob, and the +json|+yaml should be reserved to represent how the optional config blob is formatted.  See Defining a Unique Artifact Type
A better example would be: "artifactType" : "application/vnd.cncf.helm.chart.v1"
_Note: I'd also suggest avoiding envelope, as it's an overloaded term for signatures. It's really a Helm Artifact Type. envelope feels redundant as the manifest is an "envelope" for all types that have some content.
See OCI Artifacts issue: Add clarity when config should be used in the mediaType #60
To @sudo-bmitch's point about broad adoption, I wouldn't suggest top level artifacts adopt the new manifest yet. They can functionally get the same benefit using the OCI Image manifest, following the OCI Artifact guidance. I would reserve using the new manifest for reference types, like signatures, sboms, scan results, claims, and endorsements as these have unique functionality.

I'd also suggest the helm team shouldn't change, as the config.mediaType|.artifactType is a detail for the plumbers. We're really discussing what new artifacts would do.
If you really wanted to get interesting, consider this example. If we were to create a new runtime container image format, with the artifact manifest, we could put the config as just another one of the blobs. If you split the collection of blobs on mediaType, you could choose to sort the layers, while pulling out config separately. Why was "config" so special to make it's single property? Maybe new types have various types of blobs "config", "binaries", "___?"
OCI Image as an Artifact
{
  "mediaType": "application/vnd.cncf.oras.artifact.manifest.v1+json",
  "artifactType": "application/vnd.oci.image.manifest.v1+json",
  "blobs": [
    {
      "mediaType": "application/vnd.oci.image.config.v1+json",
      "digest": "sha256:e752324f6804d5d0b2c098f84507d095a8fd0031cf06cdb3c7ad1625dcd1b399",
      "size": 7097
    },
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "digest": "sha256:83c5cfdaa5385ea6fc4d31e724fd4dc5d74de847a7bdd968555b8f2c558dac0e",
      "size": 25851449
    },
    {
      "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
      "digest": "sha256:7445693bd43e8246a8c166233392b33143f7f5e396c480f74538e5738fb6bd6e",
      "size": 226
    }
  ],
  "annotations": {
    "io.cncf.oras.artifact.created": "2022-06-13T22:11:10.08Z"
  }
}

Notice the config object is in the blobs collection, and we know it's a config, because: "mediaType": "application/vnd.oci.image.config.v1+json"
Again, not suggesting we change, just showing the flexibility of minor tweaks of evolution to the awesome designs we're starting with.

The image example is interesting, thanks. All SGTM.
I just opened https://github.com/opencontainers/wg-reference-types/issues/66 the track the other ongoing convo about schemaVersion field in a thread above.

@sudo-bmitch, are you ready to take this PR out of draft status?

@sudo-bmitch, are you ready to take this PR out of draft status?

@SteveLasker no, we are still voting on this option in #64.


Prepare mmsghdr structure properly.

Motivation:
According to the Linux man page the msg_len field supposed to be used to return a number of bytes sent for the particular message. It does not make a sense to initialize it with a size of the message.
Modifications:
Change msg_leg field initialization, use 0 instead of message size.
Result:
Use sendmmsg() call properly.
[One line description of your change]
Motivation:
[Explain here the context, and why you're making that change. What is the problem you're trying to solve.]
Modifications:
[Describe the modifications you've done.]
Result:
[After your change, what will change.]

@swift-server-bot test this please

@swift-server-bot test this please