[matmul] define the dest descriptor format based on tensor dimensions

Arm Compute Library expects destination format tag to be set according to the dimensions.
Updated the initialization logic to rely on tensor descriptor class to set the format appropriately
based on the tensor dimensions.
since i made the change platform agnostic, I've tested x86 as well.
I have executed the PyTorch UT on AWS c6i (x86) instances and here are the results. In summary there is no regression with this PR, in fact 3 tests are additionally passing on test_ops.py and 1 additional test passing from test_quantization compared to the PyTorch master. I will keep you posted on the IPEX UT.
PyTorch master:
test_ops.py:

Ran 25514 tests in 1062.573s
FAILED (failures=20, errors=69, skipped=8001, expected failures=276)

test_mkldnn.py:

Ran 67 tests in 19.717s
OK

test_mkldnn_fusion.py:

Ran 3 tests in 77.529s
OK

test_mkldnn_verbose.py:

Ran 2 tests in 1.657s
OK

test_quantization.py:

Ran 930 tests in 382.495s
FAILED (failures=1, skipped=65)

PyTorch master + with this pr:
test_ops.py:

Ran 25514 tests in 1063.838s
FAILED (failures=17, errors=69, skipped=8001, expected failures=276)

test_mkldnn.py:

Ran 67 tests in 19.446s
OK

test_mkldnn_fusion.py:

Ran 3 tests in 77.601s
OK

test_mkldnn_verbose.py:

Ran 2 tests in 1.659s
OK

test_quantization.py:

Ran 930 tests in 383.025s
OK (skipped=65)

I've tested the IPEX unit tests as well. All the tests shown ~3-10% latency improvement (took fewer secs to finish) with this patch.

intel-extension-for-pytorch/tests/cpu$ test_*

Hi Xia-Weiwen, this PR is duplicate of https://github.com/intel/ideep/pull/109.
I raised it here as per your suggestion. Please review.

As I commented in the other PR, I think it's OK to remove tag::any if all PyTorch/IPEX UTs pass.

@Xia-Weiwen , I have completed both PT unit tests and  IPEX unit tests. The tests shown ~3-10% latency improvement (took fewer secs to finish) with this patch.

Thanks. I think it's OK. Need @yanbing-j @XiaobingSuper to merge.

Thanks, @XiaobingSuper , @yanbing-j  for merging the change!

Hi @snadampal , for this time period, it is too close for 1.13 code freeze. We need involve more testing and will raise to PyTorch after 1.13 branch is created.

Okay, thank you!


Add net462 or net472 as target framework for nuget package

The current NuGet package targets both netstandard2.0 and net45.
.NET 4.5 seems to require additional dependencies (Microsoft.NETFramework.ReferenceAssemblies) which are not required by netstandard2.0.
Unfortunately, when creating a C# project targeting net462 or net472 (both of which implement netstandard2.0), the NuGet client prefers the .NET 4.5 target instead of netstandard2.0 and the redundant extra dependencies are imported into the project.
Would it be possible to add a net462 or net472 target to the package to avoid pulling these extra dependencies?

There shouldn’t be any extra dependencies pulled in. Everything 45 has, is supported by 462. Could you talk a little bit more about what issue you are actually hitting?

when creating a C# project targeting net462 or net472 (both of which implement netstandard2.0), the NuGet client prefers the .NET 4.5 target instead of netstandard2.0

that is the correct TFM fallback.


Unable to login using email address longer than 35 chars

eg<EMAIL_ADDRESS>would give the error:
Username must contain at most 35 characters.
Version: <IP_ADDRESS>9 Beta.
Also reproducible at https://try.gogs.io

Thanks your feedback!

OK, so.... how long should be an e-mail address allowed in Gogs? Currently is 50.

This issue is now resolved, but I am not able to register with email id longer than 50.

but I am not able to register with email id longer than 50.

Why not?

I am trying to sign up on https://try.google.com using email<EMAIL_ADDRESS>but it says E-mail address must contain at most 50 characters.

OK...haven't update that yet...

Updated.

Tested up to 254 chars and works great now. thanks!

No problem.
Thanks your confirmation!


Updates date time format to use millseconds instead of microseconds for abdm calls

Context
For datetime format for outgoing calls, we use serializers (at most places) and use isoformat at other places. The serializers utilise
drf setting DATE_FORMAT for the conversion which is set at project level.
Python isoformat uses microseconds by default and in HQ it is also set to use microseconds currently.
It has been observed a couple of times that ABDM APIs gave an error for the datetime format that it was incorrect and was expecting milliseconds. The error went away on its own after some time.
And Irony is they themselves use microseconds for the callback APIs.
Change Made
In order to be safe, this PR makes sure that all outbound calls to ABDM uses the format of milliseconds instead of microseconds with Z appended at the end.

This PR is to be merged only after testing all the flows once the ABDM API's resumes working.


fix rundata for DP-1.4

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 50.147%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
854

Relevant Lines:
1703

💛  - Coveralls


feat(linter) add support for custom filenames in tests

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

main

#1951

#1952

#1953

#1954

#1955   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @camc314 and the rest of your teammates on  Graphite

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

main

#1951

#1952

#1953

#1954

#1955   👈

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @camc314 and the rest of your teammates on  Graphite

Merge activity

Jan 8, 10:11 PM: @Boshen started a stack merge that includes this pull request via Graphite.


[infra] LUCI gives Mac flakiness, unreadable logs and wrong analyze result

Type of Request
bug
Infrastructure Environment
LUCI, Github
What is happening?
I made a PR in flutter/packages/flutter_tools but:

Linux mac_android_aot_engine gives unstable result and failed 2 times in 3 attempts.
CI logs have unreadable symbols due to wrong encoding (at least on analyze fail)
On my machine dart analyze in folder /flutter_tools/ is ok, but it repo failed in LUCI.

Can we make prehook on each commit that will make dart analyze fix instead of dart analyze?
Fix for character encoding. And make mac_android_aot_engine as last target. Thanks.
Steps to reproduce

Make your own PR in flutter.
Fight with CI.

Expected results
Good DX on pull requests.

Become better but RTFM in contributions.md not helps with tests.


How to call transition from 2 statefields

Hello, love the design of this package thinking of integrating it with our exisitng app.
I tried following your example of having 2 state fields in a model
process.py
class ApprovalProc(BaseProcess):
    transitions = [
        Transition(action_name='approve', sources=['pending', 'awaiting_seller'], target='approved'),
        Transition(action_name='schedule', sources=['approved'], target='scheduled'),
        Transition(action_name='reject', sources=['pending', 'awaiting_seller'], target='rejected'),
        Transition(action_name='await_seller', sources=['pending'], target='awaiting_seller'),
        Transition(action_name='cancel', sources=['pending', 'approved'], target='cancelled'),
        # Action(action_name='update', side_effects=[]),
    ]
class AuctionProc(BaseProcess):
     transitions = [
        Transition(action_name='start', sources=['not_started', 'on_hold'], target='ongoing'),
        Transition(action_name='pause', sources=['ongoing',], target='on_hold'),
        Transition(action_name='end', sources=['ongoing',], target='ended'),
        Transition(action_name='void', sources=['not_started', 'on_hold', 'ongoing', 'ended'], target='voided'),

        # Action(action_name='update', side_effects=[update_data]),
    ]
ListingProcess = ProcessManager.bind_state_fields(listing_status=ApprovalProc,auction_status=AuctionProc )

class Listing(ListingProcess, models.Model):
    listing_status = models.CharField(choices=ApprovalProc.states, default='pending', max_length=100, blank=True)
    auction_status = models.CharField(choices=AuctionProc.states, default='not_started', max_length=100, blank=True)

When i try to play around with in the shell
l = Listing.objects.first()
l.process.approve()

I get this error
django_logic.exceptions.TransitionNotAllowed: Process class <class 'listings.process.AuctionProc'> has no transition with action name approve
transitions from the AuctionProc get called without any errors. So how do I call the other process?

if i
l.process.state_fields

I get this, not sure if the bind state fields function is getting both of the declarations
functools.partial(<bound method Process._get_transition_method of <listings.process.AuctionProc object at 0x7fbd93a395b0>>, 'state_fields')

@zenners sorry for late reply 😃
Since you have more than one process class related to the same model, it needs to define different process name. For example:
class ApprovalProc(BaseProcess):
    transitions = [
        Transition(action_name='approve', sources=['pending', 'awaiting_seller'], target='approved'),
        Transition(action_name='schedule', sources=['approved'], target='scheduled'),
        Transition(action_name='reject', sources=['pending', 'awaiting_seller'], target='rejected'),
        Transition(action_name='await_seller', sources=['pending'], target='awaiting_seller'),
        Transition(action_name='cancel', sources=['pending', 'approved'], target='cancelled'),
        # Action(action_name='update', side_effects=[]),
    ]
class AuctionProc(BaseProcess):
     process_name = "auction_process"
     transitions = [
        Transition(action_name='start', sources=['not_started', 'on_hold'], target='ongoing'),
        Transition(action_name='pause', sources=['ongoing',], target='on_hold'),
        Transition(action_name='end', sources=['ongoing',], target='ended'),
        Transition(action_name='void', sources=['not_started', 'on_hold', 'ongoing', 'ended'], target='voided'),

        # Action(action_name='update', side_effects=[update_data]),
    ]
ListingProcess = ProcessManager.bind_state_fields(listing_status=ApprovalProc,auction_status=AuctionProc )

Then, you will be able to do the following:
l.process.approve()
l.auction_process.start()


Fancy Zone Layouts reset on computer restart.

Microsoft PowerToys version
0.70.1
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
FancyZones
Steps to reproduce
Create a custom layout (in my case, a custom with 2 equal columns on a 1920x1080 monitor) and use "Priority Grid" on my primary (3440x1440) monitor.
Upon reboot, both monitors are in Priority Grid view.
✔ Expected Behavior
The monitors to keep their respective layouts on reboot.
❌ Actual Behavior
Both monitors reset to Priority Grid view on reboot. Only happens when using a custom view on a non-primary monitor.
Other Software
No response

/bugreport

I have the same issue as this. Have attached my bug report zip (although I did switch back to my layouts before creating the bug report. Not sure if it's a problem)
PowerToysReport_2023-06-27-08-52-39.zip

This issue also occurs on my system, but notably after hibernation.
Restart of PowerToys required to restore the custom layouts.
v0.70.1
2x 2560x1440 monitors
PowerToysReport_2023-06-27-09-35-26.zip

Related / similar issues:
#27120
#26998
#26650

Need to check


Override prompt coloring

Just getting my head wrapped around how zsh works.  If i wanted to change the prompt color of an item is there a way to do this?
I know that say in sorin the colors are set in the prompt_sorin_setup file
  zstyle ':prezto:module:git:info:commit' format ' %%B%F{3}%.7c%f%%b'
  zstyle ':prezto:module:git:info:deleted' format ' %%B%F{1}✖%f%%b'
  zstyle ':prezto:module:git:info:modified' format ' %%B%F{4}✱%f%%b'
  zstyle ':prezto:module:git:info:position' format ' %%B%F{13}%p%f%%b'
  zstyle ':prezto:module:git:info:renamed' format ' %%B%F{5}➜%f%%b'
  zstyle ':prezto:module:git:info:stashed' format ' %%B%F{6}✭%f%%b'
  zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{3}═%f%%b'
  zstyle ':prezto:module:git:info:untracked' format ' %%B%F{7}◼%f%%b'

If i want to change these files can i put a redefinition command somewhere or do i have to edit the prompt_sorin_setup file directly?

Some of this is already outlined in the prompt readme, however, some additional information may be helpful here.
Create a directory for your modified theme mkdir ${HOME}/.zsh_prompts and then save the current sorin theme to that folder with a new name (eg. prompt_jeeftors_awesome_sorin_setup). Modify it to your hearts content.
In your .zshrc after it says # Customize to your needs...
autoload promptinit
fpath=(${HOME}/.zsh_prompts $fpath)
promptinit

prompt 'prompt_jeeftors_awesome_sorin_setup'

Ok so the answer is to modify an existing prompt - which means if say the sorin prompt gets updated - my custom prompt is now out of date.  Correct?

Yes, unfortunately. There are a few prompts which ship with zsh where you can change the colors, but I'm not sure if we have any plans to support that in many prompts here.

If you do what I suggested, no. You copy it as your own theme and put it in
the location stated and it will function without the need for you to do
anything else with the base sorin version. It only needs to be named
differently on the filesystem as that's how themes are pulled up when
running any of the prompt commands.
On Aug 10, 2017 15:16, "Kaleb Elwert"<EMAIL_ADDRESS>wrote:

Yes, unfortunately. There are a few prompts which ship with zsh where you
can change the colors, but I'm not sure if we have any plans to support
that in many prompts here.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sorin-ionescu/prezto/issues/1422#issuecomment-321661462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAXql9UsdQ3EMh9ql30QiuNoPFL6wfF5ks5sW2UegaJpZM4OwGxE
.

Right, the prompt will still work, but it won't get any of the changes from the original prompt.

Correct, you'll just get what you get and generate a patch each time there's an update and apply it (modifying the colors based on that).

If this answers your question, please close the issue. If it doesn't, then let us know what else you need to be able to close it.

Additionally, specifically for the sorin prompt, if you modify those git definitions after the prompt is set, it should work.

If this answers your question, please close the issue. If it doesn't, then let us know what else you need to be able to close it.

I think it's better to default close when a maintainer thinks the issue is resolved, with a note that we're happy to re-open if still needed. For several other large projects that I'm involved with, this saves a lot of time and makes life much easier.

Yep, I even ask them to open a new issue sometimes as it's easy for a comment on a closed issue to get lost. :)

Treading softly after the last few days, but agree I should have closed it.
Thanks gents.
On Aug 16, 2017 15:45, "Kaleb Elwert"<EMAIL_ADDRESS>wrote:

Yep, I even ask them to open a new issue sometimes as it's easy for a
comment on a closed issue to get lost. :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sorin-ionescu/prezto/issues/1422#issuecomment-322894038,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAXql4yObaMXrbJ1ZrcQdM1j3-cGM1Urks5sY1T3gaJpZM4OwGxE
.


Removing a selected breakpoint does not clear out frames and variables

Before:

After clicking the "remove" button:

Also happens when clicking "delete all"

Was this recently introduced?
On Wed, Feb 10, 2016 at 1:08 PM, Etan Shaul<EMAIL_ADDRESS>wrote:

Before:
[image: image]
https://cloud.githubusercontent.com/assets/1735744/12956675/271a93a4-cff7-11e5-8438-05e7d2e1a9e7.png
After clicking the "remove" button:
[image: image]
https://cloud.githubusercontent.com/assets/1735744/12956710/426c724e-cff7-11e5-929c-b9945c3b4a9b.png
Also happens when clicking "delete all"
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/gcloud-intellij/issues/434.

No. I checked out an old (several weeks ago) commit and it was there as well.


In 644 fix plotting following lane changes

Closes #92
Backend

get_data_for_plotting:

make the gathering of data dynamic i.e. if multiple lanes, check absence of data for each lane

get_metric_filter:

build the filter as soon as read_data aka fastqc or base_distribution is detected for lane purposes

format_data_for_plotly_js:

remove median trace
create boxes for the first and second lanes if needed
setup traces to be further divided by month

NEW create_trace:

allows fine tuning of trace creation via kwargs

NEW get_date_from_project_name:

given the project name extract the date to format it for the xaxis

NEW calculate_mean_across_columns:

allows computation of mean across columns given a pandas series (used in conjunction of apply)

Models

fix error field names for base_distribution

Template

plot:

add dividers to xaxis to display month and year
show lines for x/y axes
boxmode thingy for no overlap when having multiple boxes for one tick

This change is

Hello @Yu-jinKim! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file trendyqc/trend_monitoring/backend_utils/plot.py:

Line 183:80: E501 line too long (83 > 79 characters)
Line 190:80: E501 line too long (81 > 79 characters)
Line 307:80: E501 line too long (155 > 79 characters)
Line 309:80: E501 line too long (155 > 79 characters)
Line 310:80: E501 line too long (155 > 79 characters)
Line 311:80: E501 line too long (155 > 79 characters)
Line 312:80: E501 line too long (155 > 79 characters)

Coloring by group (assay sequencer id)

Coloring by sequencer id

Grouping by assay

Couldn't actually trigger the error message because i can cover all possible groups with the amount of colors i have right now.
Will check when i do the unittesting


Expose sqlite3_changes()

I don't currently see a way to get the information exposed by sqlite_changes().
Would be very valuable to have this.

@theduke Should I rollback the fix ?

Ah, @gwenn , I hadn't noticed the return value!
That indeed makes this unnecessary.


Added support for 3D group conv.

Set the argument groups in keras.layers.Conv3D as n_groups to support 3D group convolution.

hello, @kaimingkuang.
Thank you for your pull request!


Error when updating cartridge

When pushing to the cartridge I get the following error:
remote: CLIENT_MESSAGE: Stopping Node.js application...
remote: CLIENT_RESULT: Warning! Could not stop Node.js application!
remote: An error occurred executing 'gear prereceive' (exit code: 1)

I'm going to assume this was introduced in #11

D'oh, this line should have been updated as part of #11. I'll get a hot fix for this now

Done. I've just refactored start_command into a standalone bash function and now everything seems to be fine. At least on a very simple test deployment.
Thanks again, and feel free to take a look at this if / when you're in the mood ;-)


fix metadata when writing more than one probe

This is a draft. It should be working but reuquires tests and some cleaning.

This all looks to me like a larger ProbeInterface metadata enhancement for this interface; while that's fine in general (and you're the person to do that) I was thinking all we really need for a simple fix to 'get the parent PR through' is to override the group names property of the extractors in the SpikeGLXConverterPipe (maybe like imec_{probe_index}_s0), as well as the metadata to match
Surely that's only a few lines there?

The key thing is to write group_name using the probeinstead of shanks. No need to reference the shanks with "s0" though. I added the shank id because that information is not in the probe group anymore. The name of the devices and the electrodes also needs to be changed for the metadata to match. That would be what you need to add to the parent PR if you want to solve https://github.com/catalystneuro/neuroconv/issues/958 and have proper metadata in the parent.
Adding the following quantities is an addition and I can add that into another PR though:

contact ids, probe_port and probe_slot

As I understand, our current write tools are still based on the use of group_name as a property on the extractor, with or without a probe attached
A 'group' in the classical sense being equivalent to a global shank ID and the 'device' being the probe
What you say probably sounds like all the better ways of representing (though TBH it's probably best to just do it when you integrate ndx-extracellular-channels into our write tools here) but not necessarily a minimal fix to get what we need for now
How should we proceed with #957 to get the core fix in for the user?

In the current state of neuroconv the global id of an electrode is "group_name" + "channel_name". See:
https://github.com/catalystneuro/neuroconv/blob/8912133ea17e39fe0b184dd77ad391ce632049c3/src/neuroconv/tools/spikeinterface/spikeinterface.py#L354-L362
https://github.com/catalystneuro/neuroconv/blob/8912133ea17e39fe0b184dd77ad391ce632049c3/src/neuroconv/tools/spikeinterface/spikeinterface.py#L668-L677
The minimal fix that will allow the user to write data from two probes right metadata needs either of the following options:

The group name (and therefore the ElectrodeGroup) needs to be based on the probe  and not in the shank.
Change the logic for the global id as described above so it does not use the "group name" but another yet to be added attribute that reflects the probe.

Oh, now that you mention it, it does seem that you can create a group_name that contains both the probe and shank as you mention above:

SpikeGLXConverterPipe (maybe like imec_{probe_index}_s0), as well as the metadata to match

I think that should work.


jQuery ion range slider does not work when it is inside a slide

Check that this is really a bug

[X] I confirm

Reproduction link
https://jsfiddle.net/stla/r8kpb7La/
Bug description
It is impossible to drag the jQuery ion range slider which is in a swiper slide.
Expected Behavior
The slider should be draggable, like the one outside the carousel.
Actual Behavior
The slider inside the carousel is not draggable.
Swiper version
8.4.5
Platform/Target and Browser Versions
Linux, Chrome 107
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

I've found. One has to set the class ´'swiper-no-swiping'´.


"npm run test" is not recognized as an internal or external command

From @drguildo on June 17, 2017 10:13

VSCode Version: Code 1.13.1 (379d2efb5539b09112c793d3d9a413017d736f89, 2017-06-14T18:21:47.485Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author
Version

html-snippets
abusaidm
0.1.0

vscode-javascript-snippet-pack
akamud
0.1.5

vscode-theme-onedark
akamud
2.0.2

path-intellisense
christian-kohler
1.4.2

jshint
dbaeumer
0.10.15

vscode-eslint
dbaeumer
1.2.11

monokai-plusplus
dcasella
1.6.0

python
donjayamanne
0.6.5

gitlens
eamodio
4.1.2

vscode-npm-script
eg2
0.2.0

auto-close-tag
formulahendry
0.4.2

beautify
HookyQR
1.1.1

vscode-icon-theme
jtlowe
1.5.0

vscode-colorize
kamikillerto
0.5.1

PowerShell
ms-vscode
1.3.2

live-server-preview
negokaz
0.0.4

red
red-auto
0.2.1

java
redhat
0.6.0

vscode-wakatime
WakaTime
1.1.12

Steps to Reproduce:

Alt + Shift + R
Select npm: run test

Instead of getting npm output I get:
'"npm run test"' is not recognized as an internal or external command, operable program or batch file.

Both npm and node are in my path. I've tried putting npm in both my user path and system path and neither worked. If I open an integrated terminal, I can run npm run test as expected.
Copied from original issue: Microsoft/vscode#28928

From @dbaeumer on June 19, 2017 7:0
@egamma  Looks like this is caused by vscode-npm-script.

@dbaeumer agreed, moving the issue.

I cannot reproduce in the latest using the following package.json.
{
  "name": "empty",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "tslint-config-airbnb": "^5.2.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


example/cv_example.py fp8 error

System Info
Hopper GPU

Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
RuntimeError: Tensors must be CUDA and dense
Expected behavior
RuntimeError: Tensors must be CUDA and dense

Traceback (most recent call last):
File "./cv_example.py", line 198, in
main()
File "./cv_example.py", line 194, in main
training_function(config, args)
File "./cv_example.py", line 161, in training_function
outputs = model(inputs).to(accelerator.device)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/modules/module.py", line 1533, in _call_impl
return forward_call(*args, **kwargs)
File "/usr/lib/python3.8/contextlib.py", line 75, in inner
return func(*args, **kwds)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/parallel/distributed.py", line 1129, in forward
self._sync_buffers()
File "/usr/local/lib/python3.8/dist-packages/torch/nn/parallel/distributed.py", line 1727, in _sync_buffers
self._sync_module_buffers(authoritative_rank)
File "/usr/local/lib/python3.8/dist-packages/torch/nn/parallel/distributed.py", line 1731, in _sync_module_buffers
self._default_broadcast_coalesced(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/parallel/distributed.py", line 1754, in _default_broadcast_coalesced
self._distributed_broadcast_coalesced(
File "/usr/local/lib/python3.8/dist-packages/torch/nn/parallel/distributed.py", line 1668, in _distributed_broadcast_coalesced
dist._broadcast_coalesced(
RuntimeError: Tensors must be CUDA and dense


[2.1.0 stabilization] Hand Menu Examples scene fix

Overview
Hand Menu Example scene's toggle buttons were broken, missing proper theme profiles.

Reassigned theme profile for the toggle buttons.
Renamed the scene file name for consistency.
Reassigned the new scene file in the ExampleHubMainMenu (SceneSystem profile updated)
Tested on HoloLens 2 device

***No code changes.
Changes

Fixes: #6057 #6056

/azp run


About the zeroshot video-text retrieval

Dear author,
Thanks for your great work!
I'd like to know something about the zeroshot video-text retrieval result, is it fine-tuning with coco on a 14M BLIP or a 129M BLIP?

Thanks again, I learned a lot from BLIP.


[V2] Potential code block improvements

🚀 Feature
v2 code blocks currently have the ability to highlight specific line numbers, like this:
```jsx {1,4-6,11}

However, highlighting lines based on line numbers is somewhat difficult to use.
The gatsby-remark-prismjs plugin has the ability to highlight individual lines by putting a // highlight-next-line comment in front, or highlight ranges of lines using // highlight-start and // highlight-end pairs.  It looks like the logic is implemented in this directives.js file.
This would be a great addition to the Docusaurus Prism plugin.
In addition, I've seen that many docs websites have code snippets that include a filename in front of the block, such as Gatsby (example) and Ember (example).
Gatsby's Markdown for this looks like:
```javascript:title=src/pages/about-css-modules.js
import React from "react"
// highlight-next-line
import styles from "./about-css-modules.module.css"
import Container from "../components/container"

// highlight-next-line
console.log(styles)

Have you read the Contributing Guidelines on issues?
Yes
Motivation
Easier line highlights and filenames would be very useful, especially as part of tutorials that are telling users what to edit.

Sounds very useful indeed!

I've built these features out for an internal site on docusaurus v1 before. I'll take a stab at implementing it with this syntax sometime next week if no one takes it before then.

It looks life @KohheePeace has the code titles figured out. I can take a stab at the code highlight comments.

Looks like the filename title PR is almost done.  @elviswolcott , are you still looking at doing the code highlighting comments feature?

Yeah, lost track of this with everything going on the last few weeks. I'll get a PR together in the next few days.

My PR implements highlight-next-line, highlight-start, and highlight-end.
The linked Gatsby plugin also includes a highlight-range comment which I did not implement, as it doesn't seem particularly useful. It is somewhat more useful than the current method (e.g. highlighting relative to a function declaration) but it seems that highlight-next-line, highlight-start, and highlight-end will always be more readable and maintainable.
If anyone thinks it should be added, I can throw it in.

Looks like both the requested features are in https://github.com/facebook/docusaurus/releases/tag/v2.0.0-alpha.49 , so I'll close this.  Thanks!

Thank you @KohheePeace and @elviswolcott!


Broken compatibility with UI.Core 3.0.0

Seems at least starting from version 3.2.0 UI.Web stopped working with UI.Core 3.0.0 despite the fact it references it. The symptoms are that page object controls are not initialized.

It seems c9bc4b3 the only commit possibly related to it.
It works with UI.Core 3.1.0, so need to up dependency version


Add command-line verbosity

Would like the option to have the command-line output be more verbose that may or may not be in the logs to include:

Queries & responses to/from caching server / pkg server
Copy / hard link packages

Not sure what you mean...
In the 2.0.5 release I've fixed a bug where the process would not copy/hard link a file even though it was present, and it now logs that to stdout.
The logs should be catching when the process falls back to using the Apple servers, but that's pretty easy to also include in stdout. Will double check when I can get back to the project.

I'm not planning on adding any additional verbosity for CLI output as it's verbose enough as it is.


Deadlock on index building

I got an deadlock on index building using python bindings on pytest.
This reproduced only with specific test order (that's wired).
I can't share full tests (sorry for that), but can mention important parts
Granne version: 0.5.2
Python version: 3.8
Code called in both tests looks like
import granne

index_builder = granne.GranneBuilder('angular', 500)
for v in vectors:  # no matters how much `vectors` or dimensions
    index_builder.append(v)

index_builder.build()  # < - deadlock happens here

I traced them using py-spy and got stack that looks like
Thread 73895 (idle): "MainThread"
    pthread_cond_wait@@GLIBC_2.3.2 (libpthread-2.31.so)
    core::sync::atomic::atomic_load::h40d363a33a87228c (atomic.rs:2353)
    core::sync::atomic::AtomicBool::load::h98755e393c876abe (atomic.rs:378)
    std::sys_common::poison::Flag::get::hf277343eec2966e7 (poison.rs:44)
    std::sync::condvar::Condvar::wait::h14c20325128edf7e (condvar.rs:189)
    rayon_core::latch::LockLatch::wait_and_reset::h1c8244bf740f09b9 (latch.rs:240)
    rayon_core::registry::Registry::in_worker_cold::_$u7b$$u7b$closure$u7d$$u7d$::hc01231cc1f5776b3 (registry.rs:475)
    std::thread::local::LocalKey$LT$T$GT$::try_with::hcb9dc379c39268fa (local.rs:272)
    std::thread::local::LocalKey$LT$T$GT$::with::h340944f8b882cf1f (local.rs:248)
    rayon_core::registry::Registry::in_worker_cold::hd65bc2a269d982ed (registry.rs:458)
    rayon_core::registry::in_worker::ha625d863b1ab5202 (registry.rs:877)
    rayon::iter::plumbing::bridge_producer_consumer::helper::h161e56cd8915cee0 (mod.rs:436)
    _$LT$$LT$rayon..iter..skip..Skip$LT$I$GT$$u20$as$u20$rayon..iter..IndexedParallelIterator$GT$..with_producer..Callback$LT$CB$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$T$GT$$GT$::callback::hbff8b682fd113b73 (skip.rs:85)
    _$LT$$LT$rayon..iter..enumerate..Enumerate$LT$I$GT$$u20$as$u20$rayon..iter..IndexedParallelIterator$GT$..with_producer..Callback$LT$CB$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$::callback::h12880f40ae46697b (enumerate.rs:79)
    _$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h3a55feac6c8e7771 (raw_vec.rs:498)
    core::ptr::drop_in_place$LT$alloc..raw_vec..RawVec$LT$lock_api..rwlock..RwLock$LT$parking_lot..raw_rwlock..RawRwLock$C$$RF$mut$u20$$u5b$u32$u5d$$GT$$GT$$GT$::hc1e4faf2b4194c14 (mod.rs:179)
    core::ptr::drop_in_place$LT$alloc..vec..Vec$LT$lock_api..rwlock..RwLock$LT$parking_lot..raw_rwlock..RawRwLock$C$$RF$mut$u20$$u5b$u32$u5d$$GT$$GT$$GT$::hb58aa88a82306982 (mod.rs:179)
    granne::index::GranneBuilder$LT$Elements$GT$::index_elements::h00507be69e0b3db2 (mod.rs:783)
    granne::index::GranneBuilder$LT$Elements$GT$::index_elements_in_last_layer::h0c3bc587b9a5cb50 (mod.rs:693)
    _$LT$granne..index..GranneBuilder$LT$Elements$GT$$u20$as$u20$granne..index..Builder$GT$::build_partial::hd77479376bbc9da5 (mod.rs:392)
    granne::GranneBuilder::build::ha4747e7418026a87 (lib.rs)
    granne::GranneBuilder::create_instance::init::wrap_instance_method::_$u7b$$u7b$closure$u7d$$u7d$::h5afe2b0665ab803c (members.rs:99)
    cpython::function::handle_callback::_$u7b$$u7b$closure$u7d$$u7d$::h403681d837d8438a (function.rs:218)
    std::panicking::try::do_call::h62939ca7a79bd0c1 (panicking.rs:379)
    std::panicking::try::h38c9f96318d0de5c (panicking.rs:343)
    std::panic::catch_unwind::h814cfa00d891a4c7 (panic.rs:431)
    cpython::function::handle_callback::hc27b96a79fdcc7de (function.rs:215)
    granne::GranneBuilder::create_instance::init::wrap_instance_method::hcadb94cd6edba93c (members.rs:103)
    ...
    <..... HIDDEN ........>
    ...
    _process_worker (concurrent/futures/process.py:239)
    run (multiprocessing/process.py:108)
    _bootstrap (multiprocessing/process.py:315)
    _launch (multiprocessing/popen_fork.py:75)
    __init__ (multiprocessing/popen_fork.py:19)
    _Popen (multiprocessing/context.py:277)
    start (multiprocessing/process.py:121)
    _adjust_process_count (concurrent/futures/process.py:608)
    _start_queue_management_thread (concurrent/futures/process.py:584)
    submit (concurrent/futures/process.py:645)
    ...
    <..... HIDDEN ........>
    ...
    call_fixture_func (_pytest/fixtures.py:791)
    pytest_fixture_setup (_pytest/fixtures.py:936)
    _multicall (pluggy/callers.py:187)
    <lambda> (pluggy/manager.py:84)
    _hookexec (pluggy/manager.py:93)
    __call__ (pluggy/hooks.py:286)
    execute (_pytest/fixtures.py:894)
    _compute_fixture_value (_pytest/fixtures.py:587)
    _get_active_fixturedef (_pytest/fixtures.py:502)
    getfixturevalue (_pytest/fixtures.py:479)
    _fillfixtures (_pytest/fixtures.py:469)
    fillfixtures (_pytest/fixtures.py:296)
    setup (_pytest/python.py:1468)
    prepare (_pytest/runner.py:362)
    pytest_runtest_setup (_pytest/runner.py:116)
    _multicall (pluggy/callers.py:187)
    <lambda> (pluggy/manager.py:84)
    _hookexec (pluggy/manager.py:93)
    __call__ (pluggy/hooks.py:286)
    <lambda> (_pytest/runner.py:198)
    from_call (_pytest/runner.py:226)
    call_runtest_hook (_pytest/runner.py:197)
    call_and_report (_pytest/runner.py:173)
    runtestprotocol (_pytest/runner.py:87)
    pytest_runtest_protocol (_pytest/runner.py:78)
    _multicall (pluggy/callers.py:187)
    <lambda> (pluggy/manager.py:84)
    _hookexec (pluggy/manager.py:93)
    __call__ (pluggy/hooks.py:286)
    pytest_runtestloop (_pytest/main.py:271)
    _multicall (pluggy/callers.py:187)
    <lambda> (pluggy/manager.py:84)
    _hookexec (pluggy/manager.py:93)
    __call__ (pluggy/hooks.py:286)
    _main (_pytest/main.py:250)
    wrap_session (_pytest/main.py:206)
    pytest_cmdline_main (_pytest/main.py:243)
    _multicall (pluggy/callers.py:187)
    <lambda> (pluggy/manager.py:84)
    _hookexec (pluggy/manager.py:93)
    __call__ (pluggy/hooks.py:286)
    main (_pytest/config/__init__.py:82)
    <module> (pytest:8)

Deadlock related to https://github.com/granne/granne/blob/fe2fe5aca4be879be8cbaf4fc34a5abf6ed2593d/src/index/mod.rs#L774 par_iter call (not itself call, but rayon usage) and most probably related to https://github.com/rayon-rs/rayon/issues/592.
After I set default = ["singlethreaded"] in https://github.com/granne/granne/blob/master/Cargo.toml#L26, deadlock goes away
Unfortunately, I can't provide fully reproducible code sample for that, but will be glad to answer to any question.

Update from [16.07.21]
I have an reproducible toy example that deadlocked in the same manner. Looks like an condition was

Build granne index in the current process
After that, build granne index again, but in child process, and ... deadlock happens :skull:

@plenkl hope this can be useful for you
import granne
from multiprocessing import Process

def f():
    builder = granne.GranneBuilder('angular')
    builder.append([1, 2])
    builder.append([3, 4])
    builder.build()  # stuck here

f()

p = Process(target=f)
p.start()
p.join()

Note: this example can executes without stuck if I change spawn mode to forkserver or spawn (instead of fork)

Thanks for the smaller example. I just had a quick look and in your link on spawn modes it says

Note that safely forking a multithreaded process is problematic.

Since the first call to f() initializes the rayon threadpool, my guess is that we bump into these problems when we fork the process.
Some more info here https://stackoverflow.com/a/46440564
Have you been able to reproduce this issue without forking?

Have you been able to reproduce this issue without forking?

Nope, I pretty sure than the reason mentioned by you are correct.
Just curious, can we completely destroy rayon pool after building an index (re-create them every time from scratch)?
I remember almost same problem with fork + openmp + pytorch.

I don't know if that is possible. However, it seems as long as you do not run builder.build() in the parent process the threadpool remains uninitialized and you fork without deadlocking.


Adding a new card when 'Category Filter' is selected is failing back to 'Any' when the card is added

Would be a good idea to keep the current filter when a new card is added

Yeah, the filter(s) should not change when cards change.


JSON.parse should accept more types thant string

Hi,
TypeScript Version: 4.3.4
Code
var foo = JSON.parse(localStorage.getItem('foo'));
console.log(foo); //null

Expected behavior:
No error. Console logs null
Actual behavior:
TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.
According to ecma262 spec, the first step of the parse function is :

Let jsonString be ? ToString(text).

And ToString returns meaningful values for most types
So IIUC JSON.parse should accept string | boolean | number | bigint | null
And testing it in Firefox, Chrome and NodeJS confirms that it works:
["{}", true, 42, 3.14, 2n ** 54n, null].map(JSON.parse);

returns
[
  {},
  true,
  42,
  3.14,
<PHONE_NUMBER>9481984,
  null
]

Workaround is to use JSON.parse(String(...)) which result in the exact same behaviour
regards,
Nicolas

You forgot to fill out the issue template. It asks for search terms you used to find existing issue. Duplicate of #43232.

Sorry about that .. the template didn't popout when I created the bug (directly from the es5.d.ts file)
And #43232 seems close without a valid explanation to me.
The linked SO question does not seem to apply here as the ecma spec clearly allows null and other values

Jcalz and me provided the reasoning for it.

Ok.
I don't necessarily agree with the reasoning, especially since workarounds could induce more harm than a more relaxed interface.
Imagine something like the example I provided JSON.parse(String(localStorage.getItem('foo'))) where String accept more types than just string | boolean | number | bigint | null it will work but we won't get a warning if someone refactor the code to use something else than localStorage but keep String around it
IMHO it lessens the safeguards provided by TS
But I won't argue anymore. Thanks a lot for your time (and sorry for the dup)

I don't understand your argumentation. You want the signature to be more spec compliant, and the spec allows any value that can be coerced to a string, so the only meaningful type would be any. But then you say you wouldn't get a warning for specific values..?


Question about nginx

nginx - > Coraza WAF -> Application

What are your plans with this integration?
Send NGINX traffic to a Coraza using a subrequest (njs or lua)?

For now unix socket and http socket, for the next steps there should be a lua wrapper but I'm not sure if focusing on a Openresty module or a C++ wrapper for nginx using the future unix socket rpc interface. Anyway, both alternatives are possible with the current design.
RPC and Wrappers are going to be developed after the API is stable.


Add RAW_URI to environ (as Gunicorn does)

Add the original raw URI to environ, as Gunicorn does.
This provides access to the original request URI, without breaking existing code or standards. Simply using something like request.url wouldn't work if the client included URL-encoded characters like slash, equals, semi-colon or question-mark, as these would be unquoted and then not requoted.
Having the same environ name as in Gunicorn means we can use Gunicorn in production and Werkzeug server for development, and they will both have the same environ variable.
See also:
https://github.com/benoitc/gunicorn/pull/1211#issuecomment-188283031
https://github.com/pallets/werkzeug/issues/477

This seems like a no brainer to me. Otherwise there's simply no way to recover the client's original request URL.

Would you provide an example of when the original url is not the url that Request.url returns and that ProxyFix doesn't fix?

@davidism, consider for example the original url:
http://localhost:8080/abc%2Fdef/ghi%3Bjkl;mnop
This ends up in environ as:
'PATH_INFO': '/abc/def/ghi;jkl;mnop'
and with request.url as:
http://localhost:8080/abc/def/ghi%3Bjkl%3Bmnop
Any distinction between URL-encoded slashes and actual slashes (or semicolons) are lost. However, these would still be recoverable from RAW_URI, which contains /abc%2Fdef/ghi%3Bjkl;mnop.
This issue has been raised before https://github.com/pallets/werkzeug/issues/797, but closed by @mitsuhiko as changing the behaviour would break backwards compatibility. The change I propose, adding RAW_URI, will not break backwards compatibility and enable the recovery of the original URL when needed.

The entire idea of being able to get a "raw URL" is flawed. If we provide the key developers get the idea that they can depend on that being there. So I prefer not having that.

@mitsuhiko, the key is available in Gunicorn, which we use in production, and we have the requirement that the encoded characters must be allowed in the path, so it would be nice to have it in Werkzeug too so we can use it as a development server.

and we have the requirement that the encoded characters must be allowed in the path

And this is precisely why I will not add this to Werkzeug. Once that key is there developers start to think this is something they can depend on but you can't. Raw URLs cannot be preserved in many environments. You can monkey patch it in now that you already depend on it but to prevent others from making this mistake in the future I do not want to have this in as a general feature.


Path.expand before Path.wildcard for Windows

Hello friends.  Thanks for doing the hard yards!
This PR sneaks Path.expand in before any Path.wildcard so it can be used on Windows.
Are there any other blockers for Windows builds?  I've shoehorned a soon-to-be-released project I've been working on that generates an executable instead of all the batch scripts and allows extra CLI commands.  That felt easier than figuring out passing/escaping args, which I know you have enjoyed playing with!  I'm able to build my project, but it uses a custom build pipeline, no wrapping.  Happy to help with Windows nightmares.

First, thanks for the PR! It's always appreciated -- I'll try and review/merge this soon!
As far as Windows build support goes, we simply haven't written the alternative commands (for example we use which to determine if a command exists in the user's path, and I'm sure there's a few other spots where we rely on more POSIX conventions, so those will have to be searched out and replaced with an alternative Windows backend at runtime. The new build flow refactor probably helps in this regard.

Righto, I can look into that.  I tend to scoop install coreutils which puts all that stuff in my path, so that's probably why it worked for me.

@ashea-code can we merge this?  I'd like to submit some more PRs but doing anything with Burrito on Windows depends on this.

Sorry about the delay, this looks good!


⚠ Bofrost.be has degraded performance

In 78e4d0c, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 921 ms

Resolved: Bofrost.be performance has improved in 6d45780 after 9 minutes.


Best way to use HttpClient in ASP.NET Core

Hi,
I am using  HttpClient in our ASP.NET core application but i found this article has the below note.

HttpClient is intended to be instantiated once and re-used throughout the life of an application. Especially in server applications, creating a new HttpClient instance for every request will exhaust the number of sockets available under heavy loads. This will result in SocketException errors.

Then after more search i found another article .
According to the articles the solution is to use single instance of HttpClient throughout the life of an application, so I decided to use Singleton DI for HttpClient but again there is an issue with singleton regarding DNS change according to this issue .
So my question what will be the best way to use HttpClient in ASP.NET Core.
Thanks.

So my question what will be the best way to use HttpClient in ASP.NET Core.

The best way, in general, is to use a single instance.
I've never had any problems with DNS resolution and HttpClient, but that might not always be the case, as you can see in the issue you linked.
So the answer, as usual, is "it depends". If you're hitting servers that frequently change IP adresses, it might be a problem. In that case, it might be an idea to do some kind of HttpClient management, where you periodically swap and return a new instance.

@khellang Thanks a lot for your answer 👍


ZEVA - Write Unit Tests for Organizations Components

Describe the task
There is a considerable lack of unit tests for Organizations Components. We aim to fill this gap.
Purpose
Adding unit tests will increase the confidence in capturing the business logic and ensure the consistent functioning of the Organizations Components.
Acceptance Criteria

[ ] Pick 3 files and create test files for the components that currently lack coverage
[ ] Write unit tests to reach 50% coverage in the Components test files
[ ] Focus on capturing business logic in each of the component files such as calculation logic, user input validation, state changes, etc.

Additional context
use the jest --coverage command to view the current coverage percentages for the files

No user testing applies.


Does lightning support read write file operation?

I have to do read write operation in file in lightning.is it possible to do in lightning.

Since you've reached out to us via Slack i'm going to paste the answer here:
Lightning's responsibility is rendering graphics on screen via WebGL. It has no out of the box support for file I/O so that's a layer that you need to build yourself. I assume that you don't need to store that file locally right? So you can set-up (i.e) a REST web service that accepts POST request, and as it's body you send the JSON data you wish to store. Next thing, it's up to the Web service to store it into a JSON file:


Add scATAC-seq Level 2

Information
Proposed change:
Add scATAC-seq Level 2 to the data model per RFC

Dicussion link:
Link to where the changes have been discussed/approved eg Closed RFC, Service desk ticket, DCC coordination/operations agenda
https://docs.google.com/document/d/1VeyMlmCrJe7gGnim9h6av69Rek1PBDTV6Bxxc8VISYU/edit?usp=sharing

How important is this feature?
Select from the options below

🌋 Important - it's a blocker and can't do work without it

When will use cases depending on this become relevant?
Select from the options below

Short-term - 2-4 weeks

Additional context
Add any other context or screenshots about the feature request here
Implementation checklist

[ ] Branch created
[ ] HTAN.model.csv editied and pushed
[ ] HTAN.model.jsonld validated and created by Github action
[ ] PR opened
[ ] PR approved
[ ] PR merged into main
[ ] New Component added to ncihtan/HTAN-data-curator (if required)
[ ] DCA update requested
[ ] DCA updated

FYI @Gibbsdavidl

@elv-sb @adamjtaylor   Hi there!  I don't think the github action is running on my branch.   rfc-sc-atac-seq-l2-l3

The action only runs on PR's, so it will run once you open one to merge your branch into main.


fix default port used in the http header's host entry

Hello Zach,
I noticed that some websites don't support the default port added in the host entry in http headers. Here is an example that fails: http://mashable.com/2011/11/07/barnes-and-noble-tablet-launch/
I patched aleph to not add default port if no one is provided.
David

What do you think about this one?


Update OpenSSLEngine.java  changed 'toArray(new String[size])'  to  'toArray(new String[0])'

It should use 'toArray(new String[0])' instead of 'toArray(new String[size])'

It doesn't make sense to do this.

It usually does make sense. See https://www.baeldung.com/java-collection-toarray-methods
I thought we'd been through the code base and fixed all these previously. A quick search indicates that isn't the case - or we missed quite a few. I have patch locally to address all of the remaining toArray() calls that I just need to review before committing.

It usually does make sense. See https://www.baeldung.com/java-collection-toarray-methods

Wow, interesting, it turns out that there is a difference in performance between these. I am ashamed of my ignorance.

I have patch locally to address all of the remaining toArray() calls that I just need to review before committing.

Ok

@DigitalFatCat  Thanks for the PR.  : )

If we really want to improve performance, we should be using static zero-sized arrays instead of instantiating them each time. A zero-item array is immutable, and thus infinitely sharable everywhere.

It usually does make sense. See https://www.baeldung.com/java-collection-toarray-methods

Wow, interesting, it turns out that there is a difference in performance between these. I am ashamed of my ignorance.

You should not feel bad at all. It makes absolutely zero sense that this would be faster than anything else, and yet it is measurably so.


Remove the null terminator from flask_utils.py

Proposed changes
Types of changes
What types of changes does your code introduce to the project?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Maintenance (update of libraries or other dependences)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have run all the existing tests locally (not just those related to my feature) and there are no errors
[x] After the last push to the PR branch, I have run the lint script locally and there are no changes to the code base
[x] I have updated the RELEASE NOTES
[x] I have added necessary documentation (if appropriate)
[x] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

#707

@NEC-Vishal before going ahead w/ this PR, can you please have a read through #707. I realised the TODO in the code isn't really helpful, it's so vague that's basically impossible to understand. #707 now explains the whole thing in detail.

@NEC-Vishal another thing I realised is that if we merged the small change you implemented, the whole WQ query API would break. This is my fault b/c I didn't realise we needed to have test cases to cover the array streaming format. So let's add test cases. Can please create a Python package wq.ql.tests and a file test_flaskutils.py with the following content
import json
import pytest

from wq.ql.flaskutils import *

class Item(BaseModel):
    id: int

    @staticmethod
    def range(stop: int) -> ['Item']:
        return [Item(id=x) for x in range(stop)]

items_array_supply = [
    Item.range(stop) for stop in range(4)
    # [], [Item(id=1)], [Item(1), Item(2)], ...
]

def stream_to_json_doc(xs: Iterable[BaseModel]) -> str:
    lines = [line for line in json_array_streamer(xs)]
    return "".join(lines)

def extract_item_ids(streamed_doc: str) -> [int]:
    item_array = json.loads(streamed_doc)
    return [x['id'] for x in item_array if x is not None]

@pytest.mark.parametrize('items', items_array_supply)
def test_json_array_streamer(items: [Item]):
    want = [x.id for x in items]
    got = extract_item_ids(stream_to_json_doc(items))

    assert want == got

@NEC-Vishal then you should hook up the new tests to the ql suite. If you run the tests in that file against your code that zaps the JSON null value, you should see a JSON decode exception.


Make emoji dep optional

Thanks for creating this rich-featured library.
I think the natsort dependency is very welcome. However, the emoji dependency might not be needed by default. I think it can be made optional (like many libraries do in similar situations). This dependency doesn't support wheels :( What do you think?

@J535D165 I had never considered this, but I am not opposed to it.  I pretty much agree - the emoji library is really only necessary for one printing style, and seedir should be totally functional without it.  I do need to google what a wheel is, however 😄 But if omitting emoji would be helpful for some use cases, that sounds good to me.
I think the changes would be:

in seedir.printing, make the creation of STYLE_DICT['emoji'] dependent on the emoji package being available
add an informational error to seedir.printing.get_styleargs() when 'emoji' is requested but not available
remove emoji from the requirements in setup.py
Add extras_require={'emoji': ['emoji']} to setup.py.  Then people should be able to pip install seedir[emoji].
Indicate this change in documentation.
Rerun and update any test cases dependent on emoji.

I would also be open to making natsort be an optional dependency, so that seedir is otherwise all standard library.  But I don't feel strongly either way

Nice outline of the changes needed. I think this is exactly what we need.
I think natsort is lightweight and very well maintained. I don't think it will hurt anyone to keep this a dependency.
And don't worry to much about the wheels. Your package has wheels on PyPI.

Great - do you want to submit a pull request for this?  Otherwise I should be able to implement in the coming weeks.


Range of IR blaster

So I followed this diagram exactly
100ohm resistor
2n2222 transistor
1k resistor
IR333-A
However the range of my IR blaster is about 3 metres. I need about 5m
I'm using the 5v Vin pin 30
am wondering if there is actually 5v
I've been able to use an IR LED between GND and GPI04 and it works with no transistor, resistor but still doesn't give the required range.
Any ideas on how I can get the range up?
David

5V should be the highest output, can check with a voltmeter if you're getting that, some knock off or v3 boards might not give you full 5V, not much you can do about that though other than get a different board
Otherwise, you have essentially 2 options to get more brightness

Get a different LED
Use a lower resistance

If you combine a bright LED that can handle more current, you should get more brightness
Connecting directly to GPIO4 will give you pretty low current and brightness, the whole reason for using the transistor and connecting to 5V is to push as much as possible
The 1k resistor won't affect brightness, that's just for the transistor to control the circuit
I use a 10-ohm resistor and these LEDs https://www.amazon.com/gp/product/B00ULB0U44/ which can handle higher bursts of current for short stints on some of my devices that need longer range

Hi Michael,
I'm using a V2 board, https://www.az-delivery.uk/products/nodemcu
I couldn't get the same IR LED as you from anywhere so I looked on this website where the datasheet was and found out its actually an Everlight IR333-A https://cdn-shop.adafruit.com/datasheets/IR333_A_datasheet.pdf
After I messaged I found a circuit diagram which had a similar setup but no R1 1k ohms on the base of the transistor.
I tried it just to see what it would do and strangely I got brighter output and more range, not as much as I would like but I'm guessing that this will be down to the voltage as you say. I will have to get a voltmeter on Vin and see what its reading.
I'll try a 10ohm and see whether it makes it brighter
David

I wouldn't think the transistor resistor would make a difference (unless you maybe have it connected to the wrong leg of the transistor) but I'm no electrical engineer

I'm wrong
https://forum.arduino.cc/t/how-to-calculate-resistor-to-a-base-of-a-2n2222/206798/22
Decreasing both resistors is probably beneficial here

Looks like you should just max the current coming off the GPIO in addition to maybe lowering your LED resistor
12mA appears to be the max for the GPIO pins so adjust your resistor accordingly

@mdhiggins So it appears that there are slight variations on the ESP8266, I have 2  circuits (one excluding all resistors) which works great has a long range and one which I had to add the resistors back in as it Popped the IR LED.
Must be a sign of poor manufacturing or quality control, I've ordered the LED you suggested and will use it with a 10 ohm resistor.


Return error if database is not found when calling (c *Client) Database

Instead of returning nil, nil in case of no DB being found return
errors.New("Database '%s' does not exist", name)
Fixes #5504

+1

Please do not merge... Adding unit test

@seiflotfy  okay, will wait for unit test.  Can you also update CHANGELOG.md?  Thanks!

+1 Thanks!


Fix for #46

I re-implemented LinkedList in a non-recursive format.
I also re-implemented DoublyLinkedList implementation with non-recursive format, but this relies on the fact that does compiler optimize calling of array on LinkedList because of it's tail-recursion or not.

Travis is just super slow today 👎. I will merge (or you can) when CI is done.
Thank you for your contributions. This project would've been much worse without your help ✊

🙏🏼🙏🏼


serial::windows::com::COMPort does not implement Send trait

I'm writing an application using serial-rs, and I've found an obstacle trying to use it in a multithreading context.
The point is that I'm make a sort of serial port scanner. A listener thread will scan serial ports until a new device is connected. Then it creates a new thread and passes the SerialPort instance to it using move semantics.
In order to do that, SerialPort implementations must implement Send trait. The native implementation for Windows, serial::windows::com::COMPort if I'm not wrong, does not according to the following compilation error:
src\port\serial.rs:43:9: 43:18 error: the trait `core::marker::Send` is not implemented for the type `*mut *mut libc::c_void` [E0277]
src\port\serial.rs:43         Self::new(domain, proto::oacsp())
                              ^~~~~~~~~
src\port\serial.rs:43:9: 43:18 help: run `rustc --explain E0277` to see a detailed explanation
src\port\serial.rs:43:9: 43:18 note: `*mut *mut libc::c_void` cannot be sent between threads safely
src\port\serial.rs:43:9: 43:18 note: required because it appears within the type `serial::windows::com::COMPort`
src\port\serial.rs:43:9: 43:18 note: required because it appears within the type `proto::oacsp::output::MessageConsumer<serial::windows::com::COMPort>`
src\port\serial.rs:43:9: 43:18 note: required because it appears within the type `proto::oacsp::writer::EventWriter<proto::oacsp::output::MessageConsumer<serial::windows::com::COMPort>>`
src\port\serial.rs:43:9: 43:18 note: required by `port::serial::SerialPort::new`

Moving the SerialPort instance from one thread to another should not be forbidden. Sharing it perhaps should not. Thus, Send + 'static should be implemented but Sync should not.

@apoloval Thanks for catching this. I merged your PR that fixes this for Windows. Did you happen to try your serial port scanner on Unix as well?

No, I didn't. But I guess there should be no problem. In Unix, file descriptors are integer values, which are Send by default in Rust. In Windows, resource handles are pointers, which are not Send.

@apoloval No worries. I came to the same conclusion. Just thought I'd check.

I wrote something quick to verify that it works on Unix. Looks okay.


fix: actually fix the tokens page

High Level Overview of Change
This PR actually fixes the problems that https://livenet.xrpl.org/tokens was having. It turns out that the 20 queries that are needed for this page (2 for each of the 10 tokens) triggers the rate limiter. This PR runs those queries slightly more in series, instead of in parallel as it was doing before. It doesn't matter if it takes extra time, because this doesn't run very often.
Context of Change
Tokens page went down with all the changes to our rippled nodes last week
Type of Change

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

TypeScript/Hooks Update
not worth the effort for a quick bugfix
Before / After

Test Plan
CI passes. Works locally.

Remind me, what are the TOTAL ISSUERS and TOTAL TOKENS numbers on the page actually counting? (A couple of question-mark explainers on the page may be useful)

Looks like it's counting only the tokens with at least 50 trustlines.

Unrelated to this PR, it may be worth adding a note on the page that these tokens are not vetted nor endorsed by anyone, including XRPL.org, Ripple, nor the XPRLF. (Might want to check in with Legal or Comms for exact wording though)

I think that falls under @ledhed2222 's purview.


AVATTO ZWT198 - It's possible to add battery information?

Hi
I've used avatto zwt198 quirk file and it works ok.  Thanks!
This device is powered with 3 batteries.
Into device configuration I don't see any information about battery status, and I have "Unknown" value for this information

I wonder if it's possible to add this battery information.
I can see attribute information at TuyaPowerConfigurationCluster, therefore, it seems the information about battery is available, but I don't know how to modify this quirk file in order to add this feature.

Moreover, when I see TuyaPowerConfigurationCluster  attributes,  like battery2 percentage remaining, the value is None. If it doesn't show that information, even if the quirk is modified, won't it work?

Because none of the user knows on which attribute the battery level is.
So you would need to debug it.
Firstly there's need to check on the app+gateway setup if an app gets a battery level. There are devices that doesn't report it at all through Zigbee or only report Full/Empty
Enable DEBUG level logging according to:
https://github.com/jacekk015/zha_quirks?tab=readme-ov-file#in-case-of-errors-or-to-support-new-function
Second - when paired with ZHA remove temporary battery and put it back.
That way device sends all data through Zigbee to HA.
Post here a FULL log
Then we can try to search for something that looks like that.
Above play, with ZHA, could be repeat again with almost empty set of batteries, so we could track the difference.

Because none of the user knows on which attribute the battery level is. So you would need to debug it. Firstly there's need to check on the app+gateway setup if an app gets a battery level. There are devices that doesn't report it at all through Zigbee or only report Full/Empty Enable DEBUG level logging according to: https://github.com/jacekk015/zha_quirks?tab=readme-ov-file#in-case-of-errors-or-to-support-new-function
Second - when paired with ZHA remove temporary battery and put it back. That way device sends all data through Zigbee to HA. Post here a FULL log Then we can try to search for something that looks like that. Above play, with ZHA, could be repeat again with almost empty set of batteries, so we could track the difference.

HI, thanks for your support. I've attached my zigbee log file, but maybe it only contains a few minutes of info and  maybe I need to get logs more time?
zigbee2.log
If this file is enough, I'll find a almost empty set of batteries and repeat the test.
.


Resolve Dataset.dims FutureWarning

The below code gives a FutureWarning with xarray 2023.12.0:
import xugrid as xu
import dfm_tools as dfmt
file_nc = dfmt.data.fm_curvedbend_map(return_filepath=True)
uds = xu.open_dataset(file_nc)

"[...]\site-packages\xarray\core\utils.py:494: FutureWarning: The return type of Dataset.dimswill be changed to return a set of dimension names in future, in order to be more consistent withDataArray.dims. To access a mapping from dimension names to lengths, please use Dataset.sizes."
The used netcdf file is also available on opendap.

Relevant xarray issue: https://github.com/pydata/xarray/issues/8496


Prototype MacOS CI

This PR sets up Github Actions CI for MacOS. It uses a build matrix to run on both Mac and Linux builders. I've made some changes that affect the Linux build in the interest of getting this prototype working. If people are interested in this addition, I can go back add the conditional settings that will make the Linux build behave as it did before.
Changes

Run all tests except tests-format on both Mac and Linux. That one doesn't appear to be platform-specific.
Upgrade cachix/install-nix-action to v22. The release notes mention a MacOS issue with previous versions.
Un-pin nixpkgs. The pinned version broke the Mac build.

Discussion
I'm new to Nix, so I don't fully understand how requesting a specific nixpkgs version in the install phase interacts with the flake.lock. The Linux tests pass after unpinning. It seems like it would be good to test against unstable as well as the pinned version anyway. If we want, we can put both in the build matrix.
This PR was motivated by #474. The CI jobs exhibit failures of several different kinds, so the PR uncovers at least one issue unrelated to #474 (and might not overlap with it at all).

Thanks for this!
What is pinned through install_url is not the nixpkgs version but the nix version. Since you upgraded the action anyways, the pin is probably not required anymore.

@DanLipsitt I just noticed that most of these tests will be deprecated as soon as we switch over to v1. Having functional CI pipelines for macos is still valuable but maybe it makes sense to wait until we have switched over, to prevent unnecessary work.

Thanks, @DavHau. Is there a v1 branch where it would make more sense to do this? I see @phaer's v1-test-runner branch and your new actions-macos-dave. I don't mind doing extra work if it will be useful to build on later, but I'm also happy to leave it to others if it's already being taken care of.

The v1 code is living on main under the subdir v1/. The only tests for v1 are example packages defined under v1/nix/modules/drvs and are exposed via the main flake.
You might want to play with it a little and track our progress via the issue linked above.
During the next few days we plan to create more detailed issues and probably a project board for moving v1 forward. After that it should be easier to see how to get involved.

Hello & thanks for your contribution @DanLipsitt !
It's a bit unlucky timing, due to the v1 switch as @DavHau wrote. We also started to use nix-community's hercules-ci.com account for a nix-native CI infra.
Hercules also has the advantage that we got an aarch64-darwin builder there, which github actions doesn't support afaik.
I've started a branch to use those builders and it seems to work well in principle, even though some jobs are still broken atm:  https://github.com/nix-community/dream2nix/pull/576
So all in all I'd propose we continue with hercules ci and close this?

We since have switched to a nix-community-hosted buildbot instance which features support for both aarch64-darwin and x86_64-darwin.


Using consola breaks build

pnpm create solid
pnpm add consola

src/entry-server.tsx
import { consola } from "consola/basic";
const log = consola.withTag("a-tag");

pnpm build
⚙  Preparing app for node-server...
✔ Generated public .output/public                                                                                vinxi 10:47:29 AM
ℹ Building Nitro Server (preset: node-server)                                                                                vinxi 10:47:29 AM

[vinxi 10:47:29 AM]  ERROR  Error: Could not load<EMAIL_ADDRESS>(imported by .vinxi/build/ssr/ssr.js): ENOENT: no such file or directory, open<EMAIL_ADDRESS>

undefined

[10:47:29 AM]  ERROR  Could not load<EMAIL_ADDRESS>(imported by .vinxi/build/ssr/ssr.js): ENOENT: no such file or directory, open<EMAIL_ADDRESS>
  at async open (node:internal/fs/promises:637:25)
  at async readFile (node:internal/fs/promises:1246:14)
  at async node_modules/.pnpm/rollup@4.21.2/node_modules/rollup/dist/es/shared/node-entry.js:19003:24
  at async Queue.work (node_modules/.pnpm/rollup@4.21.2/node_modules/rollup/dist/es/shared/node-entry.js:20028:32)

[10:47:29 AM]  ERROR  Could not load<EMAIL_ADDRESS>(imported by .vinxi/build/ssr/ssr.js): ENOENT: no such file or directory, open<EMAIL_ADDRESS>
 ELIFECYCLE  Command failed with exit code 1.

I have no problem building with vinxi 0.4.3 and consola 3.2.3

Thanks for the info. I just reproduced this again as described in my initial comment.
After that I reproduced it in a docker container to ensure this is not caused by some local state (ie. pnpm-store).
docker run -it --rm --entrypoint sh node:22.10.0-alpine

corepack enable
pnpm create solid@latest
...

All packages are up-to-date
{
  "name": "example-basic",
  "type": "module",
  "scripts": {
    "dev": "vinxi dev",
    "build": "vinxi build",
    "start": "vinxi start",
    "version": "vinxi version"
  },
  "dependencies": {
    "@solidjs/meta": "^0.29.4",
    "@solidjs/router": "^0.14.10",
    "@solidjs/start": "^1.0.9",
    "consola": "^3.2.3",
    "solid-js": "^1.9.2",
    "vinxi": "^0.4.3"
  },
  "engines": {
    "node": ">=18"
  },
  "packageManager"<EMAIL_ADDRESS>}

Oh yeah, if you import from import { consola } from "consola/basic";it breaks.
I had  imported from import { consola } from "consola";
BUT ...
Adding the alias to the server config solved it:
// app.config.ts
export default defineConfig({
  server: {
    alias: {
      consola: 'consola',
    },
  },
});

https://stackblitz.com/edit/github-vefktf?file=src%2Fentry-server.tsx,app.config.ts


Change license from GPL to Apache

Change license to allow proprietary online judges to use the sunwalker-box :chart_with_upwards_trend:

Yeah, right. Totally forgot about this. Thanks!


Maintainers for the Repo.

This repo is getting too big for one guy to maintain.
If you have worked as a collaborator before or contributed to this repo and are interested to help maintain it. 🤔
Join our Discord Server ✉

Great✌✌

Great✌✌


Logical OR operator is not working correctly in MongoDB query builder

Module: graphback-runtime-mongodb
Version: 0.16.x but this issue has probably always existed as the unit test did not correctly cover this case.
Node.js / npm versions: *

The or operator is behaving like an and operator and will only return a match if both conditions are met.
query {
  findNotes(filter: {
    title: {
      startsWith:"[DRAFT]"
    },
    or: {
      description: {
        endsWith: "[DRAFT]"
      }
    }
  }) {
    items {
      _id
      title
      description
    }
  }
}

Automatically generated comment to notify maintainers
/cc @machi1990, @wtrocki

I think the issue with this stems from the fact that the logical OR operator in the CRUD spec accepts an object only, whereas the MongoDB $or operator only accepts an array:
{ $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

Therefore the remapping of the $or conditions attempted in https://github.com/aerogear/graphback/pull/1985 is kind of impossible.

I think the issue with this stems from the fact that the logical OR operator in the CRUD spec accepts an object only, whereas the MongoDB $or operator only accepts an array:
{ $or: [ { <expression1> }, { <expression2> }, ... , { <expressionN> } ] }

I think accepting an array of expression makes sense and in this case it will mean that the condition is satisfied when either of the expression evaluates to true.

Therefore the remapping of the $or conditions attempted in #1985 is kind of impossible.
We will have to change the or operator to accept an array, but this will also require changes in Postgres.

How big is this change?

Quick discussion needed.

Ah my bad - I can see that or is already a GraphQLList. Need to look into this.

We will have to change the or operator to accept an array, but this will also require changes in Postgres.

Also Schema and AWS compatibility.
Can we use/recomend nested syntax for or?


Lost work when bailing from lint-staged run in unstaged files

Description
When bailing on lint-staged with ctrl c, new changes in previously staged files are lost.
Steps to reproduce
Change file A and file B and save both.
Stage both files.
Make another change to file B and save it, but don't stage it.
Run lint-staged see that new change in file B is stashed during the run.
Hit ctrl c to stop lint-staged. Stashed changes in file B are not restored.
You can see this begin in release 10.2.0 up to the current release 10.2.7. Release 10.1.7 does not have this issue. (I tried different versions to trace where the issue began)
Debug Logs
... % yarn precommit
yarn run v1.22.4
$ lint-staged -p true --debug
  lint-staged:bin Running<EMAIL_ADDRESS>+0ms
  lint-staged:bin Options parsed from command-line: { allowEmpty: false,
  concurrent: 'true',
  configPath: undefined,
  debug: true,
  maxArgLength: 131072,
  stash: true,
  quiet: false,
  relative: false,
  shell: false,
  verbose: false } +2ms
  lint-staged Loading config using `cosmiconfig` +0ms
  lint-staged Successfully loaded config from `/Users/[redacted]t/package.json`:
  lint-staged { '**/*.{js,ts,tsx}':
  lint-staged    [ 'prettier --write',
  lint-staged      'tslint --project tsconfig.json',
  lint-staged      'eslint',
  lint-staged      'jest --findRelatedTests' ],
  lint-staged   '**/*.{css,scss}': [ 'prettier --write', 'stylint' ] } +20ms
  lint-staged:cfg Validating config +0ms
Running lint-staged with the following config:
{
  '**/*.{js,ts,tsx}': [
    'prettier --write',
    'tslint --project tsconfig.json',
    'eslint',
    'jest --findRelatedTests'
  ],
  '**/*.{css,scss}': [
    'prettier --write',
    'stylint'
  ]
}
  lint-staged Unset GIT_LITERAL_PATHSPECS (was `undefined`) +3ms
  lint-staged:run Running all linter scripts +0ms
  lint-staged:resolveGitRepo Resolving git repo from `/Users/[redacted]` +0ms
  lint-staged:resolveGitRepo Unset GIT_DIR (was `undefined`) +0ms
  lint-staged:git Running git command [ 'rev-parse', '--show-toplevel' ] +0ms
  lint-staged:resolveGitRepo Resolved git directory to be `/Users/[redacted]` +25ms
  lint-staged:resolveGitRepo Resolved git config directory to be `/Users/[redacted]/.git` +0ms
  lint-staged:git Running git command [ 'log', '-1' ] +25ms
  lint-staged:git Running git command [ 'diff', '--staged', '--diff-filter=ACMR', '--name-only', '-z' ] +22ms
  lint-staged:run Loaded list of staged files in git:
  lint-staged:run [ 'client/package.json',
  lint-staged:run   '[filePath]/[fileName].tsx' ] +70ms
  lint-staged:chunkFiles Resolved an argument string length of 157 characters from 2 files +0ms
  lint-staged:chunkFiles Creating 1 chunks for maxArgLength of 131072 +0ms
  lint-staged:gen-tasks Generating linter tasks +0ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '**/*.{js,ts,tsx}',
  lint-staged:gen-tasks   commands:
  lint-staged:gen-tasks    [ 'prettier --write',
  lint-staged:gen-tasks      'tslint --project tsconfig.json',
  lint-staged:gen-tasks      'eslint',
  lint-staged:gen-tasks      'jest --findRelatedTests' ],
  lint-staged:gen-tasks   fileList:
  lint-staged:gen-tasks    [ '/Users/[redacted]/package.json',
  lint-staged:gen-tasks      '/Users/[redacted]/[fileName].tsx' ] } +5ms
  lint-staged:gen-tasks Generated task:
  lint-staged:gen-tasks { pattern: '**/*.{css,scss}',
  lint-staged:gen-tasks   commands: [ 'prettier --write', 'stylint' ],
  lint-staged:gen-tasks   fileList: [] } +0ms
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'prettier --write', 'tslint --project tsconfig.json', 'eslint', 'jest --findRelatedTests' ] +0ms
  lint-staged:task cmd: prettier +0ms
  lint-staged:task args: [ '--write' ] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:task cmd: tslint +1ms
  lint-staged:task args: [ '--project', 'tsconfig.json' ] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:task cmd: eslint +0ms
  lint-staged:task args: [] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:task cmd: jest +0ms
  lint-staged:task args: [ '--findRelatedTests' ] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:make-cmd-tasks Creating listr tasks for commands [ 'prettier --write', 'stylint' ] +2ms
  lint-staged:task cmd: prettier +0ms
  lint-staged:task args: [ '--write' ] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:task cmd: stylint +0ms
  lint-staged:task args: [] +0ms
  lint-staged:task execaOptions: { preferLocal: true, reject: false, shell: false } +0ms
  lint-staged:chunkFiles Resolved an argument string length of 157 characters from 2 files +8ms
  lint-staged:chunkFiles Creating 1 chunks for maxArgLength of 131072 +1ms
[STARTED] Preparing...
  lint-staged:git Backing up original state... +0ms
  lint-staged:git Getting partially staged files... +1ms
  lint-staged:git Running git command [ 'status', '-z' ] +37ms
  lint-staged:git Found partially staged files: [ 'client/package.json' ] +49ms
  lint-staged:git Running git command [ 'diff',
  '--binary',
  '--unified=0',
  '--no-color',
  '--no-ext-diff',
  '--src-prefix=a/',
  '--dst-prefix=b/',
  '--patch',
  '--output',
  '/Users/[redacted]/.git/lint-staged_unstaged.patch',
  '--',
  'client/package.json' ] +49ms
  lint-staged:git Backing up merge state... +27ms
  lint-staged:file Reading file `/Users/[redacted]/.git/MERGE_HEAD` +0ms
  lint-staged:file Reading file `/Users/[redacted]/.git/MERGE_MODE` +0ms
  lint-staged:file Reading file `/Users/[redacted]/.git/MERGE_MSG` +0ms
  lint-staged:file File `/Users/[redacted]/.git/MERGE_HEAD` doesn't exist, ignoring... +1ms
  lint-staged:file File `/Users/[redacted]/.git/MERGE_MODE` doesn't exist, ignoring... +0ms
  lint-staged:file File `/Users/[redacted]/.git/MERGE_MSG` doesn't exist, ignoring... +0ms
  lint-staged:git Done backing up merge state! +1ms
  lint-staged:git Getting deleted files... +0ms
  lint-staged:git Running git command [ 'ls-files', '--deleted' ] +28ms
  lint-staged:git Found deleted files: [] +33ms
  lint-staged:git Running git command [ 'stash', 'create' ] +33ms
  lint-staged:git Running git command [ 'stash',
  'store',
  '--quiet',
  '--message',
  'lint-staged automatic backup',
  'aa65292fa298ac06a7174f17c43b5a9f924292b2' ] +52ms
  lint-staged:git Done backing up original state! +78ms
[SUCCESS] Preparing...
[STARTED] Hiding unstaged changes to partially staged files...
  lint-staged:git Running git command [ 'checkout', '--force', '--', 'client/package.json' ] +27ms
[SUCCESS] Hiding unstaged changes to partially staged files...
[STARTED] Running tasks...
[STARTED] Running tasks for **/*.{js,ts,tsx}
[STARTED] prettier --write
[SUCCESS] prettier --write
[STARTED] tslint --project tsconfig.json
^C

Environment

OS: MacOS Catalina
Node.js: 10.15.1
lint-staged: >=10.2.0

Please post your debug logs. The changes should be in the backup stash and get restored from there. If there is a bug, it's easier to find from the logs.
It might be, for example, that the backup stash doesn't get restored when hitting CTRL-C. You can try this guide on recovering it if it's been dropped:
https://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git#91795

Thanks for the response! Updated original issue description with debug logs (file path info removed). I haven't lost any changes, so no worries. I was setting this up for our team, and want to prevent any future accidents.

If that is the entire log, then it looks like the cleanup is broken. Let me take a look and get back to you.

It seems listr2 by default registers its own signal listeners, which caused this regression. I have opened a PR which fixes this, as it was a simple configuration change. Thanks for the issue!

Awesome! Thanks for the quick fix!

Merging the PR automatically close this issue, but @SarahFowler73 if you could confirm that it fixed the issue, I would appreciate it!
Feel free to reopen if it didn't.

@iiroj Tested it out, and it's working perfectly! Thanks!

I lost my work after a CTRL + C during the lint-staged process, but I found out (thanks God) that there is a lint-stage automatic backup in the git stash. Just needed to pop it from the stash.

git stash list
Look into  the stash that has lint-staged automatic backup message
Now pop the stash by the index with:
git stash apply stash@{1} -> 1 as an example of the stash index

th

git stash list
Look into the stash that has lint-staged automatic backup message
Now pop the stash by the index with:
git stash apply stash@{1} -> 1 as an example of the stash index

thank you so much, you saved me!


New to Python and Jupyter#2 - Using cdstoolbox

To speed-up my learning curve in python/jupyter I'd like to  use some of the examples in the toolbox gallery. I've picked a random one
https://cds.climate.copernicus.eu/toolbox-editor/gallery/10_anomaly_plot
but I'm not able to import the cdstoolbox
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 2
      1 import calendar
----> 2 import cdstoolbox as ct
      4 # Define the list of years to retrieve
      5 ERA5_YEARS = [str(year) for year in range(1979, 2020 + 1)]

ModuleNotFoundError: No module named 'cdstoolbox'

The gallery has a lot of nice exemples that will be useful to implement use cases. Is it possible to have it available on the VM?

Hi @sandrocalmanti,
It is not possible to install cdstoolbox on the VM. It can only be used here (see Toolbox Editor): https://cds.climate.copernicus.eu/cdsapp#!/toolbox
Some clarifications:

ECMWF is leading the development of a new version of it, which is called cads-toolbox. The new version is open-source and c3s-eqc-automatic-quality-control is using it under the hood. At the moment, only download and caching have been implemented in cads-toolbox.
The training material shared by ECMWF does not use cdstoolbox. This is the link: https://ecmwf-projects.github.io/copernicus-training-c3s/intro.html
If you need some of the old functionalities of cdstoolbox to develop your notebook, you would have to make a feature request to ECMWF. I think confluence is the best place to discuss it. Please add a comment here tagging both Eddy and James as they are the maintainers of the new cads-toolbox.

Ok thanks.


Auto-Sync frequency to be configurable from login api .

test cases for AUTO SYNC FREQUENCY:-

if you get autoSyncfrequency and autoSync flag as true from backend then your timer of background process will have autoSyncFrequency value.
if you dont get autoSyncFrequency and you get autoSync flag as true from backend then background process will work with default timer.
if you dont get autoSyncFrequency and you get autoSync flag as false from backend then background process will not start .
if you dont get autoSyncFrequency and autoSync field from backend then background process will not start .


Fix android crop alignment issue

Forked from master repo.
The crop overlay had alignment issue with the rendered image. This PR implements the fix for the rendered image to be centre aligned in the view. This helps the crop overlay to calculate the correct region

LGTM.
Will you create a PR for the original repo?

Yes. I'll create a PR for the original repo as well


[Python] Update documentation on FlightCallOptions regarding headers type

Describe the enhancement requested
Currently the headers parameter in FlightCallOptions is specified as being a list of tuples where both elements are strings.
This actually crashes out if you provide a list of tuples with each tuple containing two strings.
What you actually have to do is to provide them as bytes encoded.
I see two options:

Identify if the elements are strings and encode
Update the docs to mention bytes encoded values rather than strings.

I'm happy to contribute to whichever works better if you think this has value.
Component(s)
Python

Do you mean a hard crash, or just an exception?
I think auto-encoding is fine

Exception only. So - should this try to encode if strings are provided ?

Yes, I think that's reasonable


entities extraction

Why can't I extract any entities?

It’s possible that the 3B model's capability is not sufficient to generate the required output in the desired format.


Component governance fix

Related Issue
Please use one of the well-known github fixes keywords to reference
the issues fixed with this PR (eg Fixes #). If an issue doesn't yet exist please create one if reasonable to aid
in issue tracking.
NOTE: For multiple issues resolved by this PR use the corresponding keywords every time in a comma-delimited list per the reference
page above.
Description
Create a descriptive title and provide all of the relevant details in the description.
This information lives with the code and will help future readers (including yourself) and will serve as documentation.
At the very least please describe the issue you are addressing, and what your fix entails.
How Verified
How you verified the fix, including one or all of the following:

New unit tests that were added if any. If none were added please add a quick line explaining why not.
Existing relevant unit/regression tests that you ran
Manual scenario verification if any; Do include .gif's or screenshots of the testing you performed here if you think that it
will aid in code reviews or corresponding fixes on other platforms for eg.

Microsoft Reviewers: Open in CodeFlow

@almedina-ms please reactivate (after fixing PR description title please) if this PR is still valid. Am closing it out for now.


Cannot open file, path = 'C:\src\flutter.pub-cache_temp\dir6d9426e1\test\fixtures\invalid\n_structure_<.>.json' (OS Error: The filename, directory name, or volume label syntax is incorrect. , errno = 123) pub get failed (66; , errno = 123)) exit code 66

i have similar issue

Did anyone find the fix to that?

I suppose it was caused by json_ast package which firexcode depends on.
https://github.com/javiercbk/json_ast/pull/1

still cannot run pub get, brand new install of everything, so the software is unusable without a solution here.
Cannot open file, path = 'C:\src\flutter.pub-cache_temp\dir6530a7c5\test\fixtures\invalid\n_structure_<.>.json' (OS Error: The filename, directory name, or volume label syntax is incorrect.
, errno = 123)
pub get failed (66; , errno = 123))

I have same problem tried to cache clear and flutter clean but still have problem
E:\flutter\bin\flutter.bat --no-color pub get
Running "flutter pub get" in photoedit_repo...
Cannot open file, path = 'E:\flutter\.pub-cache\_temp\dir6aad5034\test\fixtures\invalid\n_structure_<.>.json' (OS Error: The filename, directory name, or volume label syntax is incorrect.
, errno = 123)
pub get failed (66; , errno = 123))
Process finished with exit code 66

Pubyaml
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons:
  image_editor_pro:
  firexcode:
  image_picker:
dev_dependencies:
  flutter_test:
    sdk: flutter

I have same problem tried to cache clear and flutter clean but still have problem
E:\flutter\bin\flutter.bat --no-color pub get
Running "flutter pub get" in photoedit_repo...
Cannot open file, path = 'E:\flutter\.pub-cache\_temp\dir6aad5034\test\fixtures\invalid\n_structure_<.>.json' (OS Error: The filename, directory name, or volume label syntax is incorrect.
, errno = 123)
pub get failed (66; , errno = 123))
Process finished with exit code 66

pubspec.yaml
dependencies:
  flutter:
    sdk: flutter

  cupertino_icons:
  image_editor_pro:
  firexcode:
  image_picker:
dev_dependencies:
  flutter_test:
    sdk: flutter

Flutter Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.0, on Microsoft Windows [Version 10.0.19044.1620], locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.0.0)
[✓] Chrome - develop for the web
[!] Visual Studio - develop for Windows (Visual Studio Build Tools 2017 15.9.44)
    ✗ Visual Studio 2019 or later is required.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default
      components
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.66.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.


Fix typo insetead -> instead.

@TerraVenil, thanks for the contribution! I encourage you to make more contributions to this repo, for example, would be very nice add support for Autofac 😃

What do you think if I add support of SimpleInjector?


Update supported Python versions and update CI/CD

FYI @lorycontixd I had to update your test introduced in #33 to make it work on Windows.

@diegoferigo Yep, no problem.


Countdown and current time discrepancy

There is a discrepancy in current time and countdown. Under SUT years and seconds work correctly. Days can occasionally be off by one day, but hours and minutes are completely off.

Lines 144 to 164 are suspect.


fix: remove a bad Algebra instance in FractionRing

Thanks, I certainly don't see a way to make this defeq.
bors merge


Cassandra authentication settings?

Hello,
I just followed the (very short) installation guide. I understand this is a work in progress.
Based on my first experience with this component I may try to help improving the documentation of the initial configuration steps.
My setup is using Cassandra 3.7 with authentication enabled and using 9044 port for the CQL native transport. Therefore, the first steps were:
export CASSANDRA_NODES=localhost
export CASSANDRA_CQL_PORT=9044
$HS_HOME/bin/standalone.sh  -Dhawkular.rest.user=<myUser> -Dhawkular.rest.password=<myPass> -Dhawkular.agent.enabled=true
Since org.hawkular.metrics.api.jaxrs.MetricsServiceLifecycle is not aware of any authentication settings, the startup still fails:
16:10:58,808 WARN  [org.hawkular.metrics.api.jaxrs.MetricsServiceLifecycle] (metricsservice-lifecycle-thread) HAWKMETRICS200003: Could not connect to Cassandra cluster - assuming its not up yet: Authentication error on host localhost/<IP_ADDRESS>:9044: Host localhost/<IP_ADDRESS>:9044 requires authentication, but no authenticator found in Cluster configuration
Therefore, for now, I assume I should continue with a basic setup of Cassandra, without any authentication, right?

Thanks for reporting this issue !
Let me add @stefannegrea and @jsanda. I don't think they monitor this GitHub issue tracker (we normally use https://lists.jboss.org/mailman/listinfo/hawkular-dev for such discussion and the "issues" tab has not been disabled on this new repo)

So, there are two options: either I will post this issue on the aforementioned mailing list or I will provide a PR to cover this case. For the latter option, any advice on the standard configuration options would help.
Thanks.

On 12 Aug 2016, at 9:39, Marius Ileana wrote:

So, there are two options: either I will post this issue on the
aforementioned mailing list or I will provide a PR to cover this case.
For the latter option, any advice on the standard configuration
options would help.

Providing a PR would be super-awesome.


Hide ToC during search if requested

Fixes #194812
Please see the issue for the actual and expected behaviours.

Will have to debug the smoke test first before this PR can be merged.


Should I use tag for userId when having a million users?

Hey guys I read that tag cardinality should be less than 100k but I have a series and I have a series with user data I want to be able to draw a graph for a given user. Is it a good idea to use a tag by userId when having more than 1 million users and user data 30-40 million rows? And if not what should I do?

@abeninskibede I believe the best way would be to add the user_id as a column in the user data series and then use continuous queries to pre-populate the graphs you want to do. As the user_id won't be indexed in the user data series querying against that series won't be practical. But if you make use of continuous queries you can have your data pre-populated to show different kind of graphs
Hope it helps!.

BTW: Going for the tag alternative is not an option as I've tried that before and it will definitely won't scale.

Hey there,
thank you for your answer but I can't seem to understand how would continuous queries solve my problem?
EG:
I have the following schema {userId: string, value: long}
I have data for 10 days.
I want do draw a graph showing the data for the past 2 days for user with id = 5.
When I say: select * from userData where time > '2015-05-19' where userId = 5
Even when using continuous queries influx will first select a set of data from the 19th to 21st for all users and then make a full table scan to filter out the results for user with id = 5.
I would be very grateful if you give me an example.

@abeninskibede that's exactly how it works. The first time the CQ will run it will take a lot of time because it need to make a full scan into the raw series.
But if you make a downsample of that data (IE. weekly / daily / hourly) then the CQ will only update the new records and will not need to re-process the whole raw data again. CQ's will only backfill data when they're created and then just apply new data periodically.
That way you can have downsampled series like this:
select count/sum/avg(value), user_id from userData where time > '2015-05-19' group by time(1d), user_id >> not sure about the query syntax
Then querying daily / monthy / hourly data should be quite fast if you go to the corresponding series .

In conclusion: You'll always end up doing full scans to look for the specific user_id but if you downsample correctly you shouldn't have to go through a really huge data set to get the info you're looking for.
Keep in mind that influx cares about time series... you do have the tags option but it's very limited to get indexed data out of it.

Thanks for the answers mate!

@marcosnils i was under the impression that using a tag is going to result in effectively the same thing as running a CQ to populate another measurement  can you explain why a CQ is better than using a tag?

effectively the same thing as running a CQ to populate another measurement

this is assuming that the CQ writes to a separate series per user and the tag includes the userid.
however, using a CQ to downsample (as you've suggested) and then scan by user over a subset of time would be effective in cases where you want to query over random time ranges but if you had a case where you might let each user see their own data then tags would seem to be the right choice since i would think that would be more efficient at seeing all the data for one user.

@neonstalwart the tag approach is not viable as it will require huge amount of memory to keep millions of users indexed and to keep cardinality of all those values. I've tried to do that in the past with a 2M unique tag values and in a 64GB single instance influx was running out of memory.

this is assuming that the CQ writes to a separate series per user and the tag includes the userid.
I wasn't thinking about generating one series per user, my idea was to generate downsampled series which will help to query the information "per time" based for the user.

@neonstalwart I believe it's a trade-off between filtering the data on dynamo and doing it in your application if you can handle it . However, I will insist in not using tags as having a high cardinality really causes resource degradation and bad performance.

Therefore if I have 7 million users and they will look at monthly, daily and hourly values, I should have 7 million * 3 series, right?
Or should I have 7 million users in 3 different series regarding the aggregation (monthly, daily etc.), and still filter by the userid tag? E.g. CQ plus Tags.
Would there also be a way to limit the number of users, which are indexed and kept in memory?

This is a great discussion, but it is more appropriate for the<EMAIL_ADDRESS>mailing list, as there are no actions to be taken with respect to the code.
Alternately raise this as an issue on the documentation, which is sorely lacking in details on how to design a schema.