Only allow sorting by columns that are indexed

Not doing so has significant performance penalties (much more than you would expect, due to our use of to_json(row)) as seen in #380
Caleb:

Do you think we should only allow you to order on columns that have an index? Or perhaps add a deprecation warning (using GraphQL enum deprecations) to orderings without an index?

Benjie:

I've been thinking that we should only allow ordering by columns with an indexes for a few weeks now (I keep seeing the ability to order by my JSON fields which is unexpected!); I would definitely support deprecating them now and removing them from the next major version.
One caveat to this is that someone may have a compound index (e.g. (user_id, thing_id)) where they want to allow sorting by thing_id and they know that user_id will always be set to one specific value. I think, in this case, we should just take the naïve way out and only allow sorting by columns that have the index on the first field.
Since we're talking about this, it would be nice to also allow sorting by computed values - we may be able to accomplish this at the same time by reflecting over the indexes; however we'd need to have a decent naming convention for them.

Maybe the old discussion would be more suitable for this, but wouldn't it also have an effect to remove the to_json call all together and doing any kind of json serialization on the node js server?
I think that this is a perfect use case for node and would (even if only slightly) improve performance of the database, because it would have do less?
Apparently this might also increase performance in other areas like it does with the sorting.

That presumably won't solve computed column performance with the same index issue, so I think it's worth discussing JSON in a different issue. (It would also be a basically independent body of work so it makes sense to discuss separately)

The reason why I decided to use to_json (at least initially) was because that is the best way to get any compound types in a JSON format. However, the codebase has changed a lot since I made that decision so it’s probably a good one to reevaluate.

See also #393


Application performance is very slow using IE

Using IE, all functions on the map are very slow and sluggish response. The performance with Firefox and Chrome are fine.

Unfortunately, this is a memory and performance intensive application due to all the scripting that is happening on the front-end by the Angular framework. You could say that this is an application built for the long term and for the browsers of the future. In addition, I don't really have much control over most of the functions in the map as they are controlled by Esri's API. But if you can tell me which functions, in particular, feels almost unusable on IE, I can take a look at it and improve their performance as there's always some refactoring that can be done.

David, I understand. I would suggest if a user attempts to use IE they receive a message that it is not an acceptable browser or not allowed to use IE at all.


more options for /addothers

[x] Allows users to have more addothers function (currently max:5)
[x] To utilize the other rows in trackers for use in addothers
[ ] Allow edits to addothers

coming in version 1.2.0, less edits to addothers (currently have to do so manually)


Initial M1 changes

Fixes (somewhat) #72 -- subject to problems stated there and here

confirms that different run types (-ref, -noport) are not delivering markedly different results on M1, justifying running only one profiling type on that platform (done/commencing as per May 1, 2022). The same small/nonexistent performance differential can be observed for all algorithms, see full JSON report. https://github.com/open-quantum-safe/profiling/pull/73/commits/77a392e17c34043fd24d1fcfa69b0878313b3778 contains that logic. The Dockerfile has to be built on an M1 platform and lacking this platform support on CCI requires doing this manually.


Add functions for calculating affinity matrix (both SOAP and FSC)

These were so far created in separate scripts. Probably shouldn't be fully integrated with the training routines, but it would be good to add them in utils or somewhere similar so that users can crate them for their data (even if they might want to use another similarity function, for proteins FSC will always be useful).

This should be in tools


ARROW-18068: [Dev][Archery][Crossbow] Comment bot only waits for task if link is not available

This has been tested on my own fork. Previous to the PR if the comment for the bot contained multiple tasks we were waiting multiple times, see log for the comment bot and the new log I added here https://github.com/raulcd/arrow/actions/runs/3260111092/jobs/5353427827#step:6:99 , output:
Waiting for task
Waiting for task
Waiting for task
Waiting for task

Comment triggered on this PR on my own fork:
https://github.com/raulcd/arrow/pull/10
Once the fix is applied the same comment bot only waits once (the first one because the task url is not available) log here https://github.com/raulcd/arrow/actions/runs/3260112211/jobs/5353429747#step:6:99, output:
Waiting for task

Comment bot triggered on this PR on my own fork:
https://github.com/raulcd/arrow/pull/12

@kou the fix I initially proposed yesterday was good, I was just too sleepy and I had to test it. Let me know what you think. Thanks

Thanks!
But this may not work because Task.status() caches its TaskStatus(): https://github.com/apache/arrow/blob/master/dev/archery/archery/crossbow/core.py#L866-L871
We may need to call task.status(force_query=True) after time.sleep():
    def task_url(self, task):
        # Only wait if the link to the actual build is not present.
        if not task.status().build_links and self._wait_for_task:
            time.sleep(self._wait_for_task)
            task.status(force_query=True)

FYI: I tested #14412 by the followings:
$ cat /tmp/a.json
{
    "sender": {
	"login": "kou"
    },
    "action": "created",
    "repository": {
	"id": "apache/arrow"
    },
    "issue": {
	"number": 14409
    },
    "comment": {
	"id":<PHONE_NUMBER>,
	"body": "@github-actions crossbow submit r-binary-packages",
	"author_association": "OWNER"
    }
}
$ ARROW_GITHUB_TOKEN='...' CROSSBOW_GITHUB_TOKEN='...' GITHUB_SERVER_URL=https://github.com GITHUB_REPOSITORY=apache/arrow GITHUB_RUN_ID=3246777470 archery trigger-bot --event-name issue_comment --event-payload /tmp/a.json

The result will be commented to #14409 .

Revision: a7a9c987940e09b2054ec73bc913602ed7abde17
Submitted crossbow builds: ursacomputing/crossbow @ actions-42c1da27e0

Task
Status

example-cpp-minimal-build-static

example-cpp-minimal-build-static-system-dependency

example-python-minimal-build-fedora-conda

example-python-minimal-build-ubuntu-venv

Thanks @kou the snippet to test was super useful I was testing adding a commit to my master branch fork:
https://github.com/raulcd/arrow/commit/f670e11a982bc396beff9c94a4245309c3de8290
that allows me to trigger archery using my branch PR code instead of master's code and then creating temporary PRs to my own fork to trigger and test but your approach is less convoluted.
I have tested and debugged locally and you are correct we had to refresh the task status. Thanks for that.
I've found a different issue though. If I trigger a group of tasks that contain a lot of them, the GitHub action triggers might take much longer. As an example these two tasks:
https://github.com/ursacomputing/crossbow/actions/runs/3263866752
and
https://github.com/ursacomputing/crossbow/actions/runs/3263950113
were triggered by the same comment with the tests group but as you can see their start time is 12 minutes apart. I think this is a different issue and we should improve it as a follow up.


getLinode() return AxiosPromise vs Promise

most of the API returns Promise however some return AxiosPromise.  Is there a specific reason for this as you have to do an extra layer of extraction from the .data field from axios that appears to be an implementation detail.

@delaneyj thanks for catching this. I opened a PR, though since it's a breaking change, we'll need to wait until our next major version release (date TBD).

@delaneyj This has now been released. Interested in your input: we're considering a future enhancement where we add a new wrapper that exposes some of the request metadata (response code and possibly headers). Would that useful to you?

@delaneyj This has now been released. Interested in your input: we're considering a future enhancement where we add a new wrapper that exposes some of the request metadata (response code and possibly headers). Would that useful to you?


Performance on the BDD110k dataset

Hello,
Thank you for providing the code. I haven't seen many BDD results yet.
I was wondering if you have the final performance number (MOTA, MOTP, etc) for the Multi-Object Tracking?
Please let me know.
Best,
Saurabh

Hi @sfarkya,
I am currently also using the repo to train on the BDD100K dataset. The MOT metrics I was able to get after training for 60 epochs is as follows. This is with loading the COCO-pretrained CTdet model with DLA34 backbone. Do you get similar numbers?

Is there something wrong in Track_bdd.py? The length of accs is (num_of_seqs * classes), which does not match the input size in Evaluator.get_summary function.


check if pybind11 from Anaconda can be used

https://github.com/open-ce/open-ce/pull/1140

https://github.com/open-ce/open-ce/pull/115

Fixed : https://github.com/open-ce/open-ce/pull/1150


Draft issue improvements for Projects (beta)

Summary
This update to draft issues in projects (beta) will include support for a new side-panel, markdown bodies and the ability to add assignees.
Intended Outcome
These improvements to draft issues are designed to help with initial shaping of an idea.
The new side panel (which will come to issues in the project board in the future) now includes the ability to add a markdown based body and shows all the custom fields present in the view.
Editable within the table layout, draft issues now support assignees.
Converting a draft issue to an issue will include the markdown body and selected assignees.
How will it work?

https://github.blog/changelog/2021-12-16-the-new-github-issues-12-16-update/


Proposed revisions to the text

Hello,
I found that the "Taiwan" area on the map is not "China Taiwan" but Taiwan. In order not to cause any impact, it is recommended to modify it.

This topic is very sensitive in China

See https://github.com/umami-software/umami/issues/1019 and https://github.com/umami-software/umami/issues/1298


Allow RAC admins to create organization user accounts

This is done via the "Unassigned users" page. Will add additional enhancement suggestion.


How to deal with removal of BasicAer?

What is the expected enhancement?
The removal of BasicAer is under discussion.
https://github.com/Qiskit/qiskit-terra/issues/4443
There are some Aqua modules that use BasicAer, e.g., CircuitOp.
It would be good to discuss how to deal with the removal.

I checked c1375ff and found following lines that use BasicAer.
There are two types

BasicAer as backend. run_circuits.py and backend_utils.py

Can we replace it with Aer?
If so, we need to change requirements.txt to include qiskit-aer

BasicAer is used as a utility to get a state vector, unitary matrix, or counts.

It can be replaced with terra.quantum_info.Operator

aqua/utils/run_circuits.py
27:from qiskit.providers.basicaer import BasicAerJob
197:                                               only works for Aer and BasicAer providers
341:            job = BasicAerJob(backend, job_id, backend._run_job, qobj)

aqua/utils/backend_utils.py
90:    """Detect whether or not backend is from BasicAer provider.
95:        bool: True is BasicAer
98:    from qiskit.providers.basicaer import BasicAerProvider
100:    return isinstance(backend.provider(), BasicAerProvider)

optimization/algorithms/minimum_eigen_optimizer.py
21:from qiskit import QuantumCircuit, BasicAer, execute
267:    result = execute(circuit, BasicAer.get_backend('statevector_simulator')).result()

aqua/components/initial_states/custom.py
119:        from qiskit import BasicAer
124:                    self._state_vector = np.asarray(q_execute(self._circuit, BasicAer.get_backend(

aqua/operators/expectations/expectation_factory.py
20:from qiskit import BasicAer
74:                        backend_to_check = BasicAer.get_backend('statevector_simulator')
80:                            'the BasicAer qasm backend for this expectation to avoid having to '
85:                        backend_to_check = BasicAer.get_backend('qasm_simulator')
92:            # If the user specified a statevector backend (either Aer or BasicAer),
103:            # All other backends, including IBMQ, BasicAer QASM, go here.

aqua/operators/primitive_ops/circuit_op.py
21:from qiskit import QuantumCircuit, BasicAer, execute
149:        unitary_backend = BasicAer.get_backend('unitary_simulator')

aqua/operators/state_fns/circuit_state_fn.py
21:from qiskit import QuantumCircuit, BasicAer, execute, ClassicalRegister
234:        statevector_backend = BasicAer.get_backend('statevector_simulator')
335:        qasm_backend = BasicAer.get_backend('qasm_simulator')

quantum_info.Operator's way
from qiskit import QuantumCircuit
from qiskit.quantum_info import Operator, Statevector

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0,1)

zero = Statevector.from_int(0, 2**qc.num_qubits)
state = zero.evolve(qc)
print('unitary matrix\n', Operator(qc).data)
print('state vector: ', state.data)
print('probability: ', state.probabilities())

Output:
unitary matrix:
 [[ 0.70710678+0.j  0.70710678+0.j  0.        +0.j  0.        +0.j]
 [ 0.        +0.j  0.        +0.j  0.70710678+0.j -0.70710678+0.j]
 [ 0.        +0.j  0.        +0.j  0.70710678+0.j  0.70710678+0.j]
 [ 0.70710678+0.j -0.70710678+0.j  0.        +0.j  0.        +0.j]]
state vector:  [0.70710678+0.j 0.        +0.j 0.        +0.j 0.70710678+0.j]
probability:  [0.5 0.  0.  0.5]

I tried to replace BasicAer in Aqua and found quantum_info.Operator does not handle reset and measure instructions. Because some circuits generated in Aqua contains them, we need to think how to deal with such circuits with BasicAer.

Just use Aer instead of BasicAer
Modify circuits not to include reset and measure

I was more thinking that QuantumInstance would support using QuantumInfo in the absence of any specific backend being passed in, in a way that allowed the algorithms to still perceive a counts based (qasm simulator) type output or statevector one. Algorithms already only include measurements when using backends such as qasm simulators or real devices. This would then allow any algo to run on Aer and or real backend and if none were provided would use QuantumInfo via the QuantumInstance (maybe with a flag on QuantumInstance to say counts versus statevector). This implicit use of QuantumInfo in QuantumInstance would thus replace the explicit passing of BasicAer as a backend since it will no longer exist.
For other components that directly used the BasicAer backend to access certain function then directly switch to QuantumInfo since they know what they are using.

I think it's possible to fallback to QuantumInfo if no backend is specified. My PoC code to generate statevector and counts is simple. https://github.com/Qiskit/qiskit-aqua/blob/895d968371c45cea6e44f7a03e3beb8174bd8695/qiskit/aqua/utils/circuit_utils.py#L85
But, we have to deal with reset instruction included by Initialize. I'm not sure how it is difficult to simulate reset in QuantumInfo.

My take would be that we do not attempt to add extra logic to support function that is not there in QuantumInfo. If we can avoid using such specifics it might be good. But if not then we could either detect these, which may be unnecessary overhead, or just let them pass through which presumably will result in an error. Depending on the error we might want to catch/augment it suggest use of Aer etc to run the algorithm in this case.
I would hope it was not too much code to support use of Quantum info - getting statevector or counts looked simple enough. Things just need to be transparent to the algo so it can, like it does already, pass a set of circuits to QuantumInstance and get the results back in a consistent way that it can handle them no matter what 'backend' is being used.

I agree. Extending QuantumInfo is not a good strategy. We have to discuss whether Aqua should depend on Aer or not. What do you think of including Aer in requirement.txt?

Internally in the couple of places where Aqua relies on doing some conversion can we not just always use QuantumInfo. For running an algo, when the user passes a QuantumInstance, if they explicitly give it a backend we would use that, otherwise QuantumInstance would use QuantumInfo (with a flag to choose counts/statevector). I do not see why we would need to include Aer as a hard dependency.

As for QuantumInstance, your idea makes sense. I'm thinking of circuit_state_fn because it uses execute and initializer, that contains reset. We need Aer or BasicAer to execute it.
https://github.com/Qiskit/qiskit-aqua/blob/fe2ce8e554123dcfd9ff26e3db3af75e91fae7e8/qiskit/aqua/operators/state_fns/circuit_state_fn.py#L116
https://github.com/Qiskit/qiskit-aqua/blob/fe2ce8e554123dcfd9ff26e3db3af75e91fae7e8/qiskit/aqua/operators/state_fns/circuit_state_fn.py#L235
https://github.com/Qiskit/qiskit-aqua/blob/fe2ce8e554123dcfd9ff26e3db3af75e91fae7e8/qiskit/aqua/operators/state_fns/circuit_state_fn.py#L336

I agree with Steve in the above, if we can avoid adding objects on our side then that would be great (and no hard Aer dependency).
As for reset: The initializers shouldn't use reset in the beginning I think, they are applied at the beginning of a circuit anyways. And there's currently a discussion going on to tell the circuit instance that it should start in zero. Is there another place where this is used?
Measurements could probably be taken care of inside the QuantumInstance: figure out which registers are measured and trace the rest out.
Another case we need to keep in mind, is that the operator cannot handle Barriers, but I think we can just remove them before simulation.
I think we should talk to Chris to see if that's how the Operator is intended to be used. In principle there are also non-unitary constructs such as the SuperOperator which can do reset, but they are more complex than just the Operator.

Perhaps the issue of the Initialize needs to be brought up then in the Terra Issue that is discussing the BasicAer removal. Clearly that extension will then not work with Terra, and require Aer or some other backend having reset, unless something is done. Terra itself treats Aer as optional.
If it turns out that the circuit_state_fn has to end up dependent on Aer then we can always still treat Aer as an optional pkg and raise an exception that this logic cannot be used without Aer being installed.

The comment of Initializer explains as follows. So, I think it is as intended.

Note that Initialize is an Instruction and not a Gate since it contains a reset instruction, which is not unitary.

https://github.com/Qiskit/qiskit-terra/blob/ad11f087dee21de3dd762647d2790b9ff7e3b63c/qiskit/extensions/quantum_initializer/initializer.py#L40
I found that circuit_state_fn is the only module that uses the initializer.
In my local env, test.aqua.operators.test_state_construction fails, but, there seems no failure in Travis. I'm wondering what is happening...
https://github.com/Qiskit/qiskit-aqua/pull/1009/checks?check_run_id=706308592

In my local env, test.aqua.operators.test_state_construction fails, but, there seems no failure in Travis. I'm wondering what is happening...

Do you have a different version locally that you would expect it to fail the lint for you (lint being run via make lint of course). The version I see checked in (its not updated by the your PR you refer to) has docstring comment on each test function. The build is failing on circuit utils in lint though.

I remembered that transpile removes reset in initializer if possible. I tried it (https://github.com/Qiskit/qiskit-aqua/pull/1009/commits/83c90b10e12e0e3411b526878e3161282d75a1b1), but it results in bunch of unit test fails. I will look into them.

I found that some gates are converted into another that is equal to the original up to global phase, e.g., X -> U3(pi,0,pi).
The following gates have this issue: ID, X, H, Hamiltonian.
I managed to pass all unit tests related to operators by disabling unrolling of these gates.
See #1009

As a side effect, my PoC finishes unit tests faster than master.
master
$ python -m unittest test/aqua/operators/test_*.py
.......Measured Observable is not composed of only Paulis, converting to Pauli representation, which can be expensive.
.............Evolved Hamiltonian is not composed of only Paulis, converting to Pauli representation, which can be expensive.
..........................sMeasured Observable is not composed of only Paulis, converting to Pauli representation, which can be expensive.
....................
----------------------------------------------------------------------
Ran 67 tests in 14.738s

OK (skipped=1)

#1009
$ python -m unittest test/aqua/operators/test_*.py
.......Measured Observable is not composed of only Paulis, converting to Pauli representation, which can be expensive.
.............Evolved Hamiltonian is not composed of only Paulis, converting to Pauli representation, which can be expensive.
..........................sMeasured Observable is not composed of only Paulis, converting to Pauli representation, which can be expensive.
....................
----------------------------------------------------------------------
Ran 67 tests in 6.983s

OK (skipped=1)

Just talked to Chris, the removal of the functionality of BasicAer.get_backend('qasm_simulator') is not definite yet, it might be kept because otherwise there's no easy way to include classical logic, measurement etc. with the quantum info module. If that's the case, and I think we are in a position to argue in favor of keeping it, that would make the switch a lot easier.

It's a good news. As far as Terra keeps BasicAer, it would be nice keep BasicAer in Aqua too.
But, quantum_info-based replacement is almost ready. We don't need to worry it for a while.
What do you mean "just concerns the qasm_simulator"? It is easy to generate counts from statevector.probabilities_dict.

E.g. how would you run this with quantum info?
        ┌───┐┌─┐ ┌───┐
    q0: ┤ H ├┤M├─┤ X ├─
        └───┘└╥┘ └─┬─┘
              ║ ┌──┴──┐
    c0: ══════╩═╡ = 1 ╞
                └─────┘

The main restriction of the Statevector object is that you cannot handle all instruction Qiskit offers, but the Aer/BasicAer simulators can.

You are right. Statevector and Operator cannot deal with conditionals. Are such circuits used in Aqua?

We had not used conditionals in circuits we created in Aqua in the past. Unless any circuits had these introduced when they became part of the library, from where we now use these, and I do not think they did, I do not think we use these.

There were no conditionals introduced with the move to the library, so I think no algorithm currently uses them. But in future there might be algos that do, so we probably shouldn't add any restrictions on what can be run or not

If algos choose to use this in the future it would need to be based on whether the backend supports them or not, as appropriate, since conditional is presently not supported by actual devices. So in that regard there are restrictions that need to be catered to.

Thank you for all information. As far as real devices don't support conditionals, Aqua don't have to support it either. Otherwise, such quantum algorithms can run with only Aer/BasicAer.
I think of the following strategy.

While Terra maintains BasicAer, Aqua continues to use it.
When Terra removes BasicAer, we will discuss again so that we replace BasicAer with Aer or Statevector (Operator).

So, how about putting this issue on hold?

As far as real devices don't support conditionals, Aqua don't have to support it either.

I don't agree. Only because our hardware isn't quite there yet that doesn't mean we cannot test more advanced quantum algorithms. After all, we've been testing large qubit number and circuits w/o decoherence, which hardware doesn't support (yet) 😉
After all it's about testing what quantum algorithms could do.
We can always tell users that this won't yet run on actual hardware -- which happens right now already if you try to run conditionals.

The strategy sounds good. As such we have a plan ready, if we need it.

So, how about putting this issue on hold?
Sure, we do not need to act until we know it will be removed. It was good to get an understanding of what this might entail so that we can add to the discussion.

In terms of support of various backend capabilities (conditionals or whatever) ideally the algorithms should be built to run and leverage, potentially optionally, any capabilities that would improve their performance/behavior but arguably not at the expense of limiting their ability to run on any backend including real devices where people want to try them out albeit on smaller problems that may fit. Algos currently adapt to qasm or statevector modes and the goal has been to made algorithms more hardware (backend) aware/adaptable in order to improve their outcome.

Yes, the implementations of the algorithms in Aqua should be able to run on hardware, if possible. We shouldn't introduce artificial limitations by default (like adding conditionals). But if users come up with an algorithm that uses these things that we are able to simulate and will be able to run in future, I don't see why we should disallow this.

I am not saying to disallow as such. More that it would be preferable if such an algorithm would optionally run, in some alternate manner, such that one can target more backends. Maybe it runs less optimally. If it were such that even for small problems some alternate mode is unrealistic then it maybe that it could only run on certain backends until some future time. I would not see us rejecting such an algo, just preferring that it be more adaptable until that point if possible.


Add a Github Action for the Automatic Reviewers

Create  a GitHub Action for the Automatic Reviewers
Person for review
@Vikash-8090-Yadav

I'm in GSSOC'23. Can I work on this issue?


Update McMcall II

Having issues with the LaTeX other than that good.

@jlperla Maybe working with LaTeX and Jupinx is something Adam could help out with.

The latex issue is in the notebook itself, and not with labels?


Support importing JS files with multiple dots

Original Discussion: https://www.pika.dev/npm/snowpack/discuss/322
/cc @gil0mendes, @ColinKrist, @FredKSchott
Currently, users are expecting that this will work:
import foo from './foo.factory'; // File: foo.factory.js

Our current import scanner assumes that factory is the file extension, marks it as "unknown", and then treats this as an unknown import.
Instead, we should treat "unknown" imports as JS files, and just leave the import untouched. The thinking is that this is much more common to be a partial JS file than it is to be some Non-JS web asset.
Proposal

Add known non-JS assets to src-file-extension-mapping to correctly map as a non-JS asset. (jpeg, jpg, etc)
Add + '.js' as the default behavior, instead of + '.proxy.js'

Relevant

Should not be tackled until https://github.com/pikapkg/snowpack/pull/432 is merged, which is currently making changes to our resolver.
Current workaround is just to add ".js" extensions yourself.
fwiw I'm still not 100% convinced this is a good idea, and we may still want to close this as wont-fix. It makes the most sense for TypeScript, since importing a ".js" file that's actually a ".ts" file is strange, and this is blessed by the TS community. But, for every other language it's a bit outdated (even Node is moving away from this).

Update: Given the simple workaround (just adding ".js" to the import) this probably won't be prioritized by the team for a while in favor of other blocking issues, but I'm happy to review a PR if someone wants to add support in the meantime.


subprocess.CalledProcessError: Command '['cmake', '../..', '-DCMAKE_CXX_FLAGS=-fPIC']' returned non-zero exit status 1.

python setup.py build
^[[A
running build
running build_ext
-- The C compiler identification is GNU 8.4.0
-- The CXX compiler identification is GNU 8.4.0
-- Check for working C compiler: /cm/shared/apps/gcc8/8.4.0/bin/gcc
-- Check for working C compiler: /cm/shared/apps/gcc8/8.4.0/bin/gcc -- broken
CMake Error at /cm/shared/apps/cmake/3.5.1/share/cmake-3.5/Modules/CMakeTestCCompiler.cmake:61 (message):
The C compiler "/cm/shared/apps/gcc8/8.4.0/bin/gcc" is not able to compile
a simple test program.
It fails with the following output:
Change Dir: /home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeTmp
Run Build Command:"/usr/bin/gmake" "cmTC_302d1/fast"
/usr/bin/gmake -f CMakeFiles/cmTC_302d1.dir/build.make
CMakeFiles/cmTC_302d1.dir/build
gmake[1]: Entering directory
`/home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_302d1.dir/testCCompiler.c.o
/cm/shared/apps/gcc8/8.4.0/bin/gcc -o
CMakeFiles/cmTC_302d1.dir/testCCompiler.c.o -c
/home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_302d1
/cm/shared/apps/cmake/3.5.1/bin/cmake -E cmake_link_script
CMakeFiles/cmTC_302d1.dir/link.txt --verbose=1
/cm/shared/apps/gcc8/8.4.0/bin/gcc
CMakeFiles/cmTC_302d1.dir/testCCompiler.c.o -o cmTC_302d1 -rdynamic
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
gmake[1]: *** [cmTC_302d1] Error 1
gmake[1]: Leaving directory
`/home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeTmp'
gmake: *** [cmTC_302d1/fast] Error 2
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:34 (project)
-- Configuring incomplete, errors occurred!
See also "/home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeOutput.log".
See also "/home/xxx/CrowdNav-master/Python-RVO2-main/build/RVO2/CMakeFiles/CMakeError.log".
Traceback (most recent call last):
File "setup.py", line 49, in
'Topic :: Software Development :: Libraries :: Python Modules',
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/command/build.py", line 135, in run
self.run_command(cmd_name)
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "setup.py", line 19, in run
cwd=build_dir)
File "/home/xxx/.conda/envs/env_RVO2/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '../..', '-DCMAKE_CXX_FLAGS=-fPIC']' returned non-zero exit status 1.
Any advice?

Erase the build folder inside the Python-RVO2 folder and try rebuilding it.


Use renderbuffer depth for post-process buffers when appropriate

Fixes: https://github.com/godotengine/godot/issues/34055
rt->depth is sometimes a renderbuffer on older hardware, so make sure that it is being properly attached using glFramebufferRenderBuffer() when that is the case.

Thanks!


Add FewRel Dataset

Hi,
This PR closes this Card and Issue #1757.
I wasn't sure how to add pid2name along with the dataset so I added it as a separate configuration. For each (head, tail, tokens) triplet, I have created one example. I have added the dictionary key as "relation" in the dataset. Additionally, for pubmed_unsupervised, I kept "relation":"" in the dictionary.
Please recommend better alternatives, if any.
Thanks,
Gunjan

Hi @lhoestq,
Sorry for the late response. What do you mean when you say "adding names to default config"? Should I handle "pid2name" in a single config?

Yes I was thinking of having the pid2name field available in the default configuration (and therefore only have one config). What do you think ?

Hi @lhoestq,
Sorry again, the last couple of weeks were a bit hectic for me. I am wondering how do you want me to achieve that. Using a custom BuilderConfig which takes in whether it is the regular data or pid2name?

# coding=utf-8
# Copyright 2020 The HuggingFace Datasets Authors and the current dataset script contributor.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""FewRel Dataset."""

from __future__ import absolute_import, division, print_function

import json

import datasets

_CITATION = """@inproceedings{han-etal-2018-fewrel,
    title = "{F}ew{R}el: A Large-Scale Supervised Few-Shot Relation Classification Dataset with State-of-the-Art Evaluation",
    author = "Han, Xu and Zhu, Hao and Yu, Pengfei and Wang, Ziyun and Yao, Yuan and Liu, Zhiyuan and Sun, Maosong",
    booktitle = "Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing",
    month = oct # "-" # nov,
    year = "2018",
    address = "Brussels, Belgium",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/D18-1514",
    doi = "10.18653/v1/D18-1514",
    pages = "4803--4809"
}

@inproceedings{gao-etal-2019-fewrel,
    title = "{F}ew{R}el 2.0: Towards More Challenging Few-Shot Relation Classification",
    author = "Gao, Tianyu and Han, Xu and Zhu, Hao and Liu, Zhiyuan and Li, Peng and Sun, Maosong and Zhou, Jie",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)",
    month = nov,
    year = "2019",
    address = "Hong Kong, China",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/D19-1649",
    doi = "10.18653/v1/D19-1649",
    pages = "6251--6256"
}
"""

_DESCRIPTION = """\
FewRel is a large-scale few-shot relation extraction dataset, which contains more than one hundred relations and tens of thousands of annotated instances cross different domains.
"""

_HOMEPAGE = "https://thunlp.github.io/"

_LICENSE = "https://raw.githubusercontent.com/thunlp/FewRel/master/LICENSE"

DATA_URL = "https://raw.githubusercontent.com/thunlp/FewRel/master/data/"
_URLs = {
    "train_wiki": DATA_URL + "train_wiki.json",
    "val_nyt": DATA_URL + "val_nyt.json",
    "val_pubmed": DATA_URL + "val_pubmed.json",
    "val_semeval": DATA_URL + "val_semeval.json",
    "val_wiki": DATA_URL + "val_wiki.json",
    "pid2name": DATA_URL + "pid2name.json",
    "pubmed_unsupervised": DATA_URL + "pubmed_unsupervised.json",
}

class FewRelConfig(datasets.BuilderConfig):
    def __init__(self, *args, type=None, **kwargs):
        super().__init__(
            *args,
            name=f"{type}",
            **kwargs,
        )
        self.type = type
class FewRelDataset(datasets.GeneratorBasedBuilder):
    """The FewRelDataset."""

    VERSION = datasets.Version("1.0.0")

    BUILDER_CONFIGS = [
        FewRelConfig(type="train_wiki",version=VERSION, description="This covers the `train_wiki` part of FewRel dataset."),
        FewRelConfig(type="val_wiki", version=VERSION, description="This covers the `val_wiki` part of FewRel dataset."),
        FewRelConfig(type="val_nyt", version=VERSION, description="This covers the `val_nyt` part of FewRel dataset."),
        FewRelConfig(type="val_pubmed", version=VERSION, description="This covers the `val_pubmed` part of FewRel dataset."),
        FewRelConfig(type="val_semeval", version=VERSION, description="This covers the `val_semeval` part of FewRel dataset."),
        FewRelConfig(type="pubmed_unsupervised", version=VERSION, description="This covers the `pubmed_unsupervised` part of FewRel dataset."),

    ]

    def _info(self):
        if self.config.type in ["train_wiki","val_wiki","val_nyt"]:
            features = datasets.Features(
                {
                    "relation": datasets.Value("string"),
                    "tokens": datasets.Sequence(datasets.Value("string")),
                    "head": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                    "tail": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                    "relation_names": datasets.Sequence(datasets.Value("string"))
                    # These are the features of your dataset like images, labels ...
                }
            )
        elif self.config.type == "pubmed_unsupervised":
            features = datasets.Features(
                {
                    "tokens": datasets.Sequence(datasets.Value("string")),
                    "head": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                    "tail": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                }
            )
        else:
            features = datasets.Features(
                {
                    "relation": datasets.Value("string"),
                    "tokens": datasets.Sequence(datasets.Value("string")),
                    "head": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                    "tail": {
                        "text": datasets.Value("string"),
                        "type": datasets.Value("string"),
                        "indices": datasets.Sequence(datasets.Sequence(datasets.Value("int64"))),
                    },
                }
            )
        return datasets.DatasetInfo(
            # This is the description that will appear on the datasets page.
            description=_DESCRIPTION,
            # This defines the different columns of the dataset and their types
            features=features,  # Here we define them above because they are different between the two configurations
            # If there's a common (input, target) tuple from the features,
            # specify them here. They'll be used if as_supervised=True in
            # builder.as_dataset.
            supervised_keys=None,
            # Homepage of the dataset for documentation
            homepage=_HOMEPAGE,
            # License for the dataset if available
            license=_LICENSE,
            # Citation for the dataset
            citation=_CITATION,
        )

    def _split_generators(self, dl_manager):
        """Returns SplitGenerators."""
        if self.config.type in ["train_wiki", "val_wiki", "val_nyt"]:
            new_URLs = {self.config.type: _URLs[self.config.type], "pid2name": _URLs["pid2name"]}
            data_dir = dl_manager.download_and_extract(new_URLs)
            return [
                datasets.SplitGenerator(
                    name=datasets.Split(self.config.type),
                    # These kwargs will be passed to _generate_examples
                    gen_kwargs={
                        "filepath": data_dir[self.config.type],
                        "pid2name": data_dir["pid2name"]
                    },
                ),
            ]
        else:
            new_URLs = {self.config.type: _URLs[self.config.type]}
            data_dir = dl_manager.download_and_extract(new_URLs)
            return [
                datasets.SplitGenerator(
                    name=datasets.Split(self.config.type),
                    # These kwargs will be passed to _generate_examples
                    gen_kwargs={
                        "filepath": data_dir[self.config.type],
                    },
                ),
            ]

    def _generate_examples(self, filepath, pid2name=None):
        """ Yields examples. """
        pid2name_dict = {}
        if pid2name is not None:
            with open(pid2name, encoding="utf-8") as f:
                data = json.load(f)
            for key in list(data.keys()):
                name_1 = data[key][0]
                name_2 = data[key][1]
                pid2name_dict[key]=[name_1, name_2]
        with open(filepath, encoding="utf-8") as f:
            data = json.load(f)
            # print(data)
            if self.config.type in ["train_wiki", "val_wiki", "val_nyt"]:
                id = 0
                for key in list(data.keys()):
                    for items in data[key]:
                        tokens = items["tokens"]
                        h_0 = items["h"][0]
                        h_1 = items["h"][1]
                        h_2 = items["h"][2]
                        t_0 = items["t"][0]
                        t_1 = items["t"][1]
                        t_2 = items["t"][2]
                        id += 1
                        yield id, {
                            "relation": key,
                            "tokens": tokens,
                            "head": {"text": h_0, "type": h_1, "indices": h_2},
                            "tail": {"text": t_0, "type": t_1, "indices": t_2},
                            "relation_names": pid2name_dict[key]
                        }

            elif self.config.type =="pubmed_unsupervised":
                id = 0
                for items in data:
                    tokens = items["tokens"]
                    h_0 = items["h"][0]
                    h_1 = items["h"][1]
                    h_2 = items["h"][2]
                    t_0 = items["t"][0]
                    t_1 = items["t"][1]
                    t_2 = items["t"][2]
                    id += 1
                    yield id, {
                        "tokens": tokens,
                        "head": {"text": h_0, "type": h_1, "indices": h_2},
                        "tail": {"text": t_0, "type": t_1, "indices": t_2},
                    }
            else:
                id = 0
                for key in list(data.keys()):
                    for items in data[key]:
                        tokens = items["tokens"]
                        h_0 = items["h"][0]
                        h_1 = items["h"][1]
                        h_2 = items["h"][2]
                        t_0 = items["t"][0]
                        t_1 = items["t"][1]
                        t_2 = items["t"][2]
                        id += 1
                        yield id, {
                            "relation": key,
                            "tokens": tokens,
                            "head": {"text": h_0, "type": h_1, "indices": h_2},
                            "tail": {"text": t_0, "type": t_1, "indices": t_2},
                        }

Okay, I apologize, I guess I finally understand what is required.
Basically, using:
few_rel = load_dataset('few_rel')

should give all the files. My bad. I was overthinking.
Will fix this.

Yes that's it, sorry if that wasn't clear !

Hi @lhoestq,
Since pid2name has different features from the rest of the files, how will I add them to the same config?

If I understand correctly each sample in the "default" config has one relation, and each relation has corresponding names in pid2name.
Would it be possible to also include the names in the "default" configuration for each sample ? The names of one sample can be retrieved using the relation id no ?

Yes, that can be done. But for some files, the name is already given instead of id. Only "train_wiki", "val_wiki", "val_nyc" have IDs. For others, I can set the name equal to the key.

I think that's fine as long as we mention this processing explicitly in the dataset card.

Hi @lhoestq,
I have added the changes. Please let me know in case of any issues.
Thanks,
Gunjan

Hi @lhoestq,
Thanks for fixing it and approving :)


Encrypt Web.Config

This issue was originally opened by @moorecreative in the old Security Analyzer repo here https://github.com/DNNCommunity/DNN.SecurityAnalyzer/issues/6
I am moving it here to cleanup the old repository.

If anyone would like to see what it did, or how it did it, we do have it running on some older sites, I could pull up if that's helpful to learn more about what/how it worked previously... I beleive that it used standard asp.net encrypting of the web.config and mainly encrypted sections of the web.config file, not the whole thing... so connection strings, smtp settings, they were all encrypted but the rest of the text content remained manually readable/editable.


Create SBR setup not working with FFD source antenna

When creating the Setup, the default frequency range is from 1 GHz to 10 GHz, if an FDD is used as the excitation, it will raise an exception because the Setup should include the frequencies of the FFD file.

Defect in AEDT API. With FFD, Default HFSS Setup must have a correct frequency sweep (correct freq. range)
Workarounds:

Create the setup with AEDT API.
Create the Setup, import ffd and update the setup.

Bug submitted in the BU (@amazirM  will submit it)


[WIP] Remove Dashboard CRDs during uninstall

Jira Issue : https://issues.redhat.com/browse/RHODS-5329

Description

How Has This Been Tested?

Merge criteria:

[ ] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] For commits that came from upstream, [UPSTREAM] has been prepended to the commit message.
[ ] JIRA link(s):
[ ] The Jira story is acked.
[ ] Live build image:
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has manually tested the changes and verified that the changes work

This change is blocked by deprecated go dependencies. In order to update the the apiextension package to v1, we need to update the corresponding kubernetes version.
In order to work around this opened a PR in odh-manifests to add CRDs in the manifests.

This change is blocked by deprecated go dependencies. In order to update the the apiextension package to v1, we need to update the corresponding kubernetes version.
In order to work around this opened a PR in odh-manifests to add CRDs in the manifests.

Closing this since odh-manifests PR is merged


Decision Point Condition Alias UI

User Story
Write an informal, general explanation of a feature written from the perspective of the end-user or customer.

User researcher needs to provide an alias for condition so that the alias can be passed to the client instead of the condition name.

Acceptance Criteria (can be added later)
Provide the conditions that the product must satisfy to be accepted by the end-user, customer, or other stakeholders.

Scenario: Experiment stepper

Given creating a new experiment or editing an existing experiment, when using the stepper Design step, then a new substep called "Aliases" should be available where the user can provide an alias for each decision point & condition, and the alias will default to the condition name.

Design Document

@zackcl @danoswaltCL Please update the issue with the relevant design and any other detail you want to capture. Thanks!

Updated Gist for backend changes: https://gist.github.com/ppratikcr7/b4c5c18154994a650d29cc952fa3804f

@zackcl is working on styling this up to match figma specs so we should leave open for now


[qBittorrent] Some dialog text are hard to read

The text color for the "File->Add Torrent File" and "Add Category" dialogs are hard to read and do not change with the selected theme. With themes other than dark the text is nearly invisible.
They use the default Body color.

@sarbian which installation method did you use?

Sorry, I should have added more details.
Docker mods with the lsio image (ghcr.io/linuxserver/qbittorrent)
DOCKER_MODS=gilbn/theme.park:qbittorrent
TP_THEME=dark

ok, think I know why it happens. That box is an iframe. So the stylesheet doesnt get applied to it using that method. Will need to sed the stylesheet into the iframe html too.

@sarbian recreate the container now and it should be good.

Thanks. It fixed the Add Torrent File, but the Add Category is still the same. Right-click on the "All" category to open this one.


adds option to hide virtual rides from activity feed

Hi,
This PR adds the option to hide virtual rides from the activity feed (I have noticed a lot of them on my feed and I would like the ability to hide them).
It also resolves activity type resolution in the activity feed hider module. Looks like the html structure has changed from when the initial code was written which I guess would mean the minimum distance ride/run filters may not have been working, unless I have misinterpreted what the original code was doing.
This is my first typescript PR so let me know if it is not stylistically correct. I have tried to follow the established patterns in the code as closely as possible.
I think there could be room for improvement around working out whether or not the modifiers should run or not? Maybe using a strategy pattern or something? I didn't want to refactor too much as I am not sure how open to that you are?
Thanks,
Ben

@benoj Very thanks for this work & involvement :) :) !! I wanted to do that also with "Hide commutes" option. Great :)
Unfortunately i can't get your PR working :( And lost "Hide ride under X"
Thanks :) :)

@thomaschampagne I am happy to do the "Hide Commutes" option too if you like?
Sorry just realised that I deleted the ride under! that wasn/t intentional . I have resolved that now. When you say you can't get it working, what do you mean? It won't compile or wont work? seems to be working when I run on my laptop

@benoj yes could be cool 👍 It's hard to me to concentrate on this with heavy work on other big feature.
i can compile. I mean i can see virtual rides with option enabled :(
Thanks for the work man ! Really appreciated !
Tom

Ah yes, can you try clearing your local storage. I had this same issue, looks like its to do with adding new user settings. The code which loads the user settings seems to ignore loading IF there is already something in the chrome storage meaning that adding new settings requires a clear :(

@thomaschampagne  I have added a new check on the load of the settings, which will check if the keys are the same between default settings and chrome synced settings. If it has changed (new setting added/removed) then it adds the key to the chrome synced settings

Perfect works like a charm :)
Thanks !


chore: update f36-components from 4.0.33 to 4.20.6

Does this fix the rich text being broken?

Yes, there was some issue in the F36 tooltip that was fixed in a later version


Added ignore file option

Options uses -I as ls seems to use this as well.
Not very sophisticated, just adds the ignore option to the already in-place ls command in the script.

Curious if this new switch will work with globs, eg. *.swp? I'm imagining yes, just curious if you've tested it.

I"ll have to look at the comments later, a bit busy at the moment (and not a big shell-wizard as you might have noticed :)  ). Will check back with updates later


[Proposed question] Best way to use L.GeometryUtil.geodesicArea

I am trying to use L.GeometryUtil.geodesicArea and am wondering if my method is suboptimal. Right now, to get the surface area of a feature (a simple GeoJSON polygon in Leaflet), Instead of
L.GeometryUtil.geodesicArea(feature)

I have to do:
L.GeometryUtil.geodesicArea(feature.geometry.coordinates[0].map(x => new L.latLng(x.reverse())))

If I don't the above,  I get 0.
There are several things wrong with the above implementation, and I assume that I am just missing something. First, and foremost, the use of "coordinates[0]". For my purposes (at this stage), this is fine, since I don't (yet) have polygons with missing inner areas. This may not always be the case, and if so, I guess the only thing I can do in that situation, if limited to this usage, is to take the outer polygon and subtract the area from all of the remaining inner polygons.
I am just wondering if, in my quick reading of the documentation, that I've missed something and that in my rush to get results, there is an easier way.
Thank you.

Use:
var area = L.GeometryUtil.geodesicArea(layer.getLatLngs()[0]);


feat(apps/prod/buildbarn): switch pvc to ceph-block type

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>

/approve


Ordinals of PE exports do not start at OrdinalBase which is set in Export Directory Table

As reported by PE Format specification, ordinal numbers should start at the number specified by OrdinalBase so the ordinal number of the export should be calculated like OrdinalBase + exports[i].Ordinal.
This will also change export table hash for certain files. Take as an example mscoree.dll for which OrdinalBase is 17 but we report that ordinals start at 0. Other tools such as pestudio got it right.

https://github.com/avast/pelib/pull/10
https://github.com/avast/retdec-regression-tests/pull/34

Thanks for the fix.


LEGO: Pull request from juno/hb_dd8dbf7b-874d-49f2-9313-853dd6e34f6c_20210702185722155 to main

LEGO: Pull request from juno/hb_dd8dbf7b-874d-49f2-9313-853dd6e34f6c_20210702185722155 to main with localized lcls

Codecov Report

Merging #230 (1568768) into main (cb0c484) will decrease coverage by 0.41%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #230      +/-   ##
==========================================
- Coverage   89.59%   89.18%   -0.42%
==========================================
  Files          87       87
  Lines        6008     6008
==========================================
- Hits         5383     5358      -25
- Misses        625      650      +25

Impacted Files
Coverage Δ

....Composition.AppDomainTests/OpenGenericExport`1.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportOnMember.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...mposition.AppDomainTests/ExternalExportWithLazy.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...osition.AppDomainTests2/CustomMetadataAttribute.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...dTypeReceiver/PartThatImportsLazyOfEmbeddedType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...rtThatLazyImportsExportWithMetadataOfCustomType.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...atLazyImportsExportWithTypeMetadataViaTMetadata.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...tLazyImportsExportWithTypeMetadataViaDictionary.cs
0.00% <0.00%> (-100.00%)
:arrow_down:

...ft.VisualStudio.Composition/LazyMetadataWrapper.cs
68.71% <0.00%> (-3.07%)
:arrow_down:

...soft.VisualStudio.Composition/ReflectionHelpers.cs
69.28% <0.00%> (-1.37%)
:arrow_down:

Continue to review full report at Codecov.

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


Preserve the arguments

Sometimes I need additional arguments pass to the handler,
eg:
events.bind('touchstart .sort-asc', 'sort', 'asc')
events.bind('touchstart .sort-dsc', 'sort', 'dsc')

adding you to the team!

No write access, I can't merge :disappointed:

The passed event argument have to be the touchstart to make it works component/delegate, as it have the delegateTarget property

oh...

i forgot they changed organization permissions

there you go. can you try now?


Fixed #736 and #737

#736: Fixed by verifying that the status code is 201, 202 or 3xx.
#737: Fixed by checking that if the response contains no cookies and a location header which points to the same URL as the current request, then stop redirecting.

Is there any reason not to merge my pull request?

Thanks -- too much stuff in here to merge, but have implemented similar redirect fixes, and cookie update in #1476

Thanks -- too much stuff in here to merge, but have implemented similar redirect fixes, and cookie update in #1476


[Feat]: Create a github bot to automatically comment on new issues created

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
I want to implement and make a bot that will automatically comment on the new issue created.
Use Case
This will help the contributors feel their issues are being looked after immediately.
This would save the time of the project admins.

Benefits
No response
Priority
High
Agreements

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC contributor
[X] I'm a Hacktoberfest contributor
[X] I want to work on this issue
[X] I'm willing to provide further clarification or assistance if needed.

@Tejashri-Taral Please assign the task to me, I want to work on it


fix Add debug log decide for performance when query rewrite by materialized view

Proposed changes
In method AbstractMaterializedViewRule#isMaterializationValid
Should add LOG.isDebugEnabled() before print debug log.
Because Plan#treeString in debug log is performance consume.

run buildall


add documentation for reading lower-dimensional objects

Solves #833
I smuggled in a configuration item - ext=0 is now a keyword arg instead of hard-coding it.

Codecov Report

Merging #834 (62b22b5) into master (bebd96a) will increase coverage by 0.30%.
The diff coverage is 75.00%.

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

This probably ought to be squashed on merge because of all the gh-suggest commits

afaict, the error is unrelated.  I'm gonna merge and hope the windows-based, dask-test error just goes away...


atom.project.path === undefined

Windows 8.1
Atom 0.180
Step to reproduce

Open Atom
Open Folder ...
Select a folder
Open Developer Tool CTRL+ALT+I
Type atom.project.path (Enter)

Output :
undefined

Expecting output from 0.179
D:\path\to\my\project

It was never a public field. Change to atom.project.getPath() for a quick
fix: that is deprecated but still supported.
Long term fix is to use atom.project.getPaths() because Atom is starting to
support multiple root folders. Note that can return an empty array.
On Feb 18, 2015 7:24 AM, "Michael Grenier"<EMAIL_ADDRESS>wrote:

Windows 8.1
Atom 0.180
Step to reproduce

Open Atom
Open Folder ...
Select a folder
Open Developer Tool CTRL+ALT+I
Type atom.project.path (Enter)

Output :
undefined
Expecting output from 0.179
D:\path\to\my\project
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom/issues/5613.

What @bolinfest said. Closing this since it isn't a bug.

Thanks for your quick reply. Will make changes.

atom.package.getPaths() is returning undefined for me. Any advice?


Implement nickel_bluetooth action

Implementation of a new action "nickel_bluetooth" to turn Bluetooth on and off via NickelMenu.
Available commands are:
enable
disable
toggle
I've been testing/using this modified version of NickelMenu on my Clara 2E and It should be compatible with all Bluetooth devices.
This should address issue  #142
Usage examples:
menu_item :main  :Bluetooth (enable)      :nickel_bluetooth     :enable
menu_item :main  :Bluetooth (disable)     :nickel_bluetooth     :disable
menu_item :main  :Bluetooth (toggle)      :nickel_bluetooth     :toggle

Thanks. I identified a few problems with the internal Bluetooth driver: in certain conditions, the connection doesn't get established if BT is turned on and off too quickly. I added a few actions and parameters to this fix this and currently testing the changes.
In addition to addressing your comments, I shall submit my changes by the end of today.

I have completed my checks and happy with the current implementation of this feature. The //libnickel checks could probably go even earlier versions but, I haven’t had the chance to validate all versions.
let me know if there are other changes, style adjustments I may have missed.

I'm glad you like it. It's an old pattern called "bitmasking" or "bit flags." The method was going toward multiple booleans, and this pattern is intended for that problem.
It is indeed very simple as you quite rightly put it. Here's a sample from my Clara 2E. (Bluetooth device blinks when it's  disconnected/scanning.  When the blinking stops, it means connection established.)
https://github.com/pgaskin/NickelMenu/assets/714795/f6f404ee-7f92-45ad-90be-0bd51cd4ea35


Update to<EMAIL_ADDRESS>

This supports HTTP header passthrough

Codecov Report

Merging #52 (7b9fdcf) into main (1bd9c85) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #52   +/-   ##
=======================================
  Coverage   99.30%   99.30%
=======================================
  Files          57       57
  Lines        3164     3164
=======================================
  Hits         3142     3142
  Misses         16       16
  Partials        6        6

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


Tail recursive evaluation of conditional types

In #45025 we increased the type instantiation depth limit from 50 to 500. We've subsequently seen multiple examples of stack overflows occurring during compilation of programs containing non-terminating types, particularly when the compiler is used in browser hosted environments (where, apparently, in some cases the call stack limit is lower than in Node.js). It is clear that 500 is too high of a limit, so in this PR we lower the maximum to 100.
There are legitimate cases where evaluation of recursive conditional types needs more than 100 iterations to complete. For that reason, this PR implements tail recursive evaluation of conditional types. Specifically, when a conditional type ends in another (or, through recursion, another instantiation of the same) conditional type, the compiler now performs type resolution in a loop that consumes no extra call stack. We permit evaluation of such types to loop 1000 times before we consider the type non-terminating and issue an error.
The following conditional type is tail recursive:
type Trim<S extends string> =
    S extends ` ${infer T}` ? Trim<T> :
    S extends `${infer T} ` ? Trim<T> :
    S;

Previously, resolution of instantiations of this type would error for string literals containing more than 25 blanks. We now permit strings with up to 1000 blanks.
Conditional types that aren't tail recursive generally can be written in a tail recursive form by introducing an "accumulator". For example, this type, which extracts a union of the characters in a string, isn't tail recursive (because it recurs through a union type)
type GetChars<S> =
    S extends `${infer Char}${infer Rest}` ? Char | GetChars<Rest> : never;

but this rewritten form is
type GetChars<S> = GetCharsRec<S, never>;
type GetCharsRec<S, Acc> =
    S extends `${infer Char}${infer Rest}` ? GetCharsRec<Rest, Char | Acc> : Acc;

Some additional examples of tail recursive conditional types:
type Reverse<T> = any[] extends T ? T : ReverseRec<T, []>;
type ReverseRec<T, Acc extends unknown[]> =
    T extends [infer Head, ...infer Tail] ? ReverseRec<Tail, [Head, ...Acc]> : Acc;

type T1 = Reverse<[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>;

type TupleOf<T, N extends number> = number extends N ? T[] : TupleOfRec<T, N, []>;
type TupleOfRec<T, N extends number, Acc extends unknown[]> =
    Acc["length"] extends N ? Acc : TupleOfRec<T, N, [T, ...Acc]>;

type T2 = TupleOf<any, 200>;

The examples above previously would error in "Type instantiation is excessively deep and possibly infinite", but now succeed.

@typescript-bot test this
@typescript-bot user test this
@typescript-bot run dt
@typescript-bot perf test this

I can't tell how much of this in the noise, but the check time on material-ui does seem like it's taken a hit across all versions.

@typescript-bot perf test this

Changed the tail recursion logic to bypass caching since it is effectively just computing temporary results. There's still a slight slowdown in material-ui (<1%), but generally I think not caching in the tail recursion loop is the best approach.

@ahejlsberg Thanks for this work! Using 4.4.3, I just hit the instantiationDepth === 50 limit (literally just 50, nothing above that).
Because it is possible / even likely to hit this depth limit of 50 with tuple types and template literal types, I'm wondering if it would be possible to backport the instantiationDepth === 100 limit to a new minor release of 4.4 without including this tail recursive evaluation strategy This would mitigate the issue until 4.5 is released with this new (awesome) work. Let me know if you think this would be possible / a good idea. Thanks!


HOTFIX Desabilitando app transport security do IOS

Pull Request Test Coverage Report for Build 611

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

Totals

Change from base Build 604:
0.0%

Covered Lines:
116

Relevant Lines:
158

💛  - Coveralls

@egewarth como definido na reunião de hoje (24/04) os PR devem estar devidamente identificados com labels, autor e milestone. excluíndo apenas a pontuação.


images, link, desgin fixed

@v-hearya,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.

Line 0: [Warning] Invalid file link:(~/reference/eventsubscription-tpayload-class-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/eventsubscription-tpayload-class-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/subscriptiontoken-class-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/ieventaggregator-interface-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/ieventaggregator-interface-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/ieventsubscription-interface-mspp-pubsubevents.md).
Line 0: [Warning] Invalid file link:(~/reference/delegatereference-class-mspp-pubsubevents.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:warning: Validation status: warnings

File
Status
Preview URL
Details

patterns-practices/reference/mspp-pubsubevents-namespace.md
:warning:Warning

Details

patterns-practices/reference/backgroundeventsubscription-tpayload-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/backgroundeventsubscription-tpayload-methods-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/bindablebase-class-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/bindablebase-propertychanged-event-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/canexecutemthd-field.md
:white_check_mark:Succeeded

patterns-practices/reference/clearchildviewsregionbehavior-clearchildviews-attached-property-mspp-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/clearchildviewsregionbehavior-getclearchildviews-method-mspp-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/commandbehaviorbase-t-properties-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/dataeventargs-tdata-value-property-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/defaultconfirmationwindow-constructor-mspp-interactivity-defaultpopupwindows.md
:white_check_mark:Succeeded

patterns-practices/reference/dispatchereventsubscription-tpayload-constructor-mspp-events.md
:white_check_mark:Succeeded

patterns-practices/reference/errorscontainer-t-fields-mspp-viewmodel.md
:white_check_mark:Succeeded

patterns-practices/reference/errorscontainer-t-validationresults-field-mspp-viewmodel.md
:white_check_mark:Succeeded

patterns-practices/reference/eventaggregator-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/eventsubscription-tpayload-invokeaction-method-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/eventsubscription-tpayload-properties-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-command-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-commandparameter-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-commandparameterproperty-field-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-events-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-invoke-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-invokeaction-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-ondetaching-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-properties-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/mefclearchildviewsregionbehavior-methods-mspp-mefextensions-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/mefregionnavigationcontentloader-getcandidatesfromregion-method-mspp-mefextensions-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/modulenotfoundexception-events-mspp-modularity.md
:white_check_mark:Succeeded

patterns-practices/reference/moduletypeloadingexception-events-mspp-modularity.md
:white_check_mark:Succeeded

patterns-practices/reference/name.txt
:white_check_mark:Succeeded

patterns-practices/reference/navigationparameters-class-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/navigationparameters-item-property-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/popupwindowaction-windowcontent-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-class-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-subscribe-method-action-tpayload-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-subscribe-method-action-tpayload-threadoption-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/regionmanagerextensions-requestnavigate-method-iregionmanager-string-string-action-navigationresult-navigationparameters-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionmanagerextensions-requestnavigate-method-iregionmanager-string-string-navigationparameters-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionnavigationservice-requestnavigate-method-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/unityregionnavigationcontentloader-class-mspp-unityextensions-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/viewmodellocationprovider-class-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/viewmodellocationprovider-methods-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-addweakreferencehandler-method-mspp-commands.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-class-mspp-commands.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-removeweakreferencehandler-method-mspp-commands.md
:white_check_mark:Succeeded

patterns-practices/reference/mspp-pubsubevents-namespace.md

Line 0: [Warning] Invalid file link:(~/reference/ieventsubscription-interface-mspp-pubsubevents.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

patterns-practices/reference/backgroundeventsubscription-tpayload-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/backgroundeventsubscription-tpayload-methods-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/bindablebase-class-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/bindablebase-propertychanged-event-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/canexecutemthd-field.md
:white_check_mark:Succeeded

patterns-practices/reference/clearchildviewsregionbehavior-clearchildviews-attached-property-mspp-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/clearchildviewsregionbehavior-getclearchildviews-method-mspp-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/commandbehaviorbase-t-properties-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/dataeventargs-tdata-value-property-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/defaultconfirmationwindow-constructor-mspp-interactivity-defaultpopupwindows.md
:white_check_mark:Succeeded

patterns-practices/reference/dispatchereventsubscription-tpayload-constructor-mspp-events.md
:white_check_mark:Succeeded

patterns-practices/reference/errorscontainer-t-fields-mspp-viewmodel.md
:white_check_mark:Succeeded

patterns-practices/reference/errorscontainer-t-validationresults-field-mspp-viewmodel.md
:white_check_mark:Succeeded

patterns-practices/reference/eventaggregator-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/eventsubscription-tpayload-invokeaction-method-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/eventsubscription-tpayload-properties-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-command-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-commandparameter-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-commandparameterproperty-field-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-events-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-invoke-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-invokeaction-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-ondetaching-method-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/invokecommandaction-properties-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/mefclearchildviewsregionbehavior-methods-mspp-mefextensions-regions-behaviors.md
:white_check_mark:Succeeded

patterns-practices/reference/mefregionnavigationcontentloader-getcandidatesfromregion-method-mspp-mefextensions-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/modulenotfoundexception-events-mspp-modularity.md
:white_check_mark:Succeeded

patterns-practices/reference/moduletypeloadingexception-events-mspp-modularity.md
:white_check_mark:Succeeded

patterns-practices/reference/mspp-pubsubevents-namespace.md
:white_check_mark:Succeeded

patterns-practices/reference/name.txt
:white_check_mark:Succeeded

patterns-practices/reference/navigationparameters-class-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/navigationparameters-item-property-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/popupwindowaction-windowcontent-property-mspp-interactivity.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-class-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-constructor-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-subscribe-method-action-tpayload-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/pubsubevent-tpayload-subscribe-method-action-tpayload-threadoption-mspp-pubsubevents.md
:white_check_mark:Succeeded

patterns-practices/reference/regionmanagerextensions-requestnavigate-method-iregionmanager-string-string-action-navigationresult-navigationparameters-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionmanagerextensions-requestnavigate-method-iregionmanager-string-string-navigationparameters-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/regionnavigationservice-requestnavigate-method-mspp-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/unityregionnavigationcontentloader-class-mspp-unityextensions-regions.md
:white_check_mark:Succeeded

patterns-practices/reference/viewmodellocationprovider-class-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/viewmodellocationprovider-methods-mspp-mvvm.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-addweakreferencehandler-method-mspp-commands.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-class-mspp-commands.md
:white_check_mark:Succeeded

patterns-practices/reference/weakeventhandlermanager-removeweakreferencehandler-method-mspp-commands.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to use rich.progress without with or for code block?

rich.progress is very great.  thanks to developers.
// I'm not sure this is the right place to ask usage questions, sorry for bothering you
I found the offical demo, two ways usage:
A. for .. track()
from rich.progress import track

for n in track(range(n), description="Processing..."):
    do_work(n)

B. with Progress()
import time

from rich.progress import Progress

with Progress() as progress:

    task1 = progress.add_task("[red]Downloading...", total=1000)
    task2 = progress.add_task("[green]Processing...", total=1000)
    task3 = progress.add_task("[cyan]Cooking...", total=1000)

    while not progress.finished:
        progress.update(task1, advance=0.5)
        progress.update(task2, advance=0.3)
        progress.update(task3, advance=0.9)
        time.sleep(0.02)

they all need one code indent level for rich.progress,
I just want to add progress as some log code (line by line), not change code block indent.
(and create,update,destory may in different function)
Is that possible?

I current use trick with progress.__enter__,  __exit__,
this seems not the right way.
// ctrl+c not work, so I have to play with signal: signal.signal(signal.SIGINT, handle_sigint)

import time

from rich.progress import Progress

# with Progress() as progress:

# 免 with 的调用方法
progress = Progress()
progress.__enter__()

print('hello1')
task1 = progress.add_task("[red]Downloading...1111", total=80)
task2 = progress.add_task("[green]Processing...", total=150)
task3 = progress.add_task("[cyan]Cooking...", total=100)

print('hello2')
i = 0
while not progress.finished:
    progress.update(task1, advance=0.5)
    progress.update(task2, advance=0.8)
    progress.update(task3, advance=0.9)
    i+=1
    print(f'hello {i}')
    time.sleep(0.02)

progress.__exit__(None, None, None)

You cal call progress.start() and progress.stop(). But I wouldn't advice it. If your code throws an exception you must ensure that stop() is called.


issue-59 : Update cards.cssn for card left-image

Please always provide the GitHub issue(s) your PR is for, as well as test URLs where your change can be observed (before and after):
Fix #
Test URLs:

Before: https://main--zemax--hlxsites.hlx.page/
After: https://issue-59--zemax--hlxsites.hlx.page/

@vinhlu-ansys Cards block implementation would change in coming few days so it’s generic enough and and deals with layout
Let me know if you’d like to build on my work and take it to finish line
Review issue-cards-refactor branch for details

Outdated. Please review new refactored cards once https://github.com/hlxsites/zemax/pull/130 is merged


Change Maven coordinates

We've all seen the recent article about malicious dependencies. Basically, it's very trivial to upload malicious code to jcenter(), which is why it should be at the very bottom of any project's repositories block. For libraries that rely on Jitpack, it's important to list that repository above JCenter.
PermissionsDispatcher lives in the com.github.hotchemi namespace, and we've had issues in the past where people accidentally pulled in from Jitpack, not the JCenter that we provide our artifacts to. (Background: Jitpack will pick up on any group ID starting with com.github, which is a mistake for PD, but Jitpack doesn't know that.) Since this would mean that PD users do need to specify jcenter() first, I would like to propose a change in Maven coordinates going forward to keep everybody safe.

@mannodermaus thank you so much! I basically agree for the proposal:D Could you possibly work on that?

I'll try to allocate some time this weekend, sure. Now, what do you guys propose the new coordinates should be? Since we don't own any domain for PD, we'd have to find another solution...

How do you feel about these artifacts?

Old
New (1)
New (2)

com.github.hotchemi:permissionsdispatcher
org.permissions.dispatcher:library
org.pd:permissionsdispatcher

com.github.hotchemi:permissionsdispatcher-processor
org.permissions.dispatcher:processor
org.pd:permissionsdispatcher-processor

com.github.hotchemi:permissionsdispatcher-annotation
org.permissions.dispatcher:annotation
org.pd:permissionsdispatcher-annotation

I prefer the first proposal, it looks more balanced. Also, what do we do about imports? Do we leave the packages where they are now?

LGTM! Seems we have to contact bintray support team so let me handle the issue
https://stackoverflow.com/q/34756204

Created new maven repo
https://bintray.com/hotchemi/org.permissionsdispatcher

We're going to release new artifact after https://github.com/permissions-dispatcher/PermissionsDispatcher/pull/562 merged!


error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081

请按以下格式提供问题的相关信息。
问题的具体描述

javac -version
javac 1.8.0_341
执行yarn android
报错
yarn run v1.22.11
$ react-native run-android
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 945 file(s) to forward-jetify. Using 12 workers...
info JS server already running.
info Installing the app...

FAILURE: Build failed with an exception.

Where:
Build file '/Users/native/test1/node_modules/react-native-gradle-plugin/build.gradle.kts' line: 11

What went wrong:
Plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.6.10'] was not found in any of the following sources:

Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
Included Builds (None of the included builds contain this plugin)
Plugin Repositories (could not resolve plugin artifact 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.6.10')
Searched in the following repositories:
MavenRepo
Google
Gradle Central Plugin Repository

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 11s
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
FAILURE: Build failed with an exception.

Where:
Build file '/Users/native/test1/node_modules/react-native-gradle-plugin/build.gradle.kts' line: 11

What went wrong:
Plugin [id: 'org.jetbrains.kotlin.jvm', version: '1.6.10'] was not found in any of the following sources:

Gradle Core Plugins (plugin is not in 'org.gradle' namespace)
Included Builds (None of the included builds contain this plugin)
Plugin Repositories (could not resolve plugin artifact 'org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.6.10')
Searched in the following repositories:
MavenRepo
Google
Gradle Central Plugin Repository

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 11s
at makeError (/Users/native/test1/node_modules/execa/index.js:174:9)
at /Users/native/test1/node_modules/execa/index.js:278:16
at processTicksAndRejections (internal/process/task_queues.js:95:5)
at async runOnAllDevices (/Users/native/test1/node_modules/@react-native-community/cli-platform-android/build/commands/runAndroid/runOnAllDevices.js:109:5)
at async Command.handleAction (/Users/native/test1/node_modules/@react-native-community/cli/build/index.js:192:9)

info Run CLI with --verbose flag for more details.
error Command failed with exit code 1.
请描述完整的环境/版本信息

请在命令行的项目目录中运行npx react-native info命令，并将其输出结果粘贴到这里。
System:
OS: macOS 12.1
CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
Memory: 864.29 MB / 32.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
Yarn: 1.22.11 - /usr/local/bin/yarn
npm: 6.14.13 - ~/.nvm/versions/node/v14.17.0/bin/npm
Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDKs:
iOS SDK: Not Found
Android SDK:
API Levels: 23, 26, 28, 29, 30
Build Tools: 23.0.1, 26.0.3, 28.0.3, 29.0.2, 29.0.3, 30.0.3
System Images: android-26 | Intel x86 Atom_64, android-26 | Google APIs Intel x86 Atom_64, android-28 | Intel x86 Atom_64, android-29 | Intel x86 Atom_64, android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.2 AI-202.76<IP_ADDRESS>51085
Xcode: /undefined - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_341 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 18.0.0 => 18.0.0
react-native: 0.69.2 => 0.69.2
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

预期结果

正常运行成功


Add "save workflow" screenshot  (fixes issue #2993)

I have added a screenshot of save workflow icon. This is in reference to my issue #2993
This is meant for the tutorial 'from peaks to genes'.
fixes #2993

Thanks @Codesuha . Is this file replacing  an existing  one or should be added in the tutorial?  Could you rename the file to  avoid space in the file name? If it needs to be added to a tutorial,  could you update that tutorial  too? Thank

Thanks @Codesuha . Is this file replacing an existing one or should be added in the tutorial? Could you rename the file to avoid space in the file name? If it needs to be added to a tutorial, could you update that tutorial too? Thank

Thank you @bebatut for your response.
This file is meant to add to the tutorial 'From peaks to Gene's in the workflow section.
Should I rename the file 'save workflow image'?
Yes most certainly I will update the tutorial.
Thank you

thanks @Codesuha!


fix: Value binding not working in FluentSlider

🐛 Bug Report
In v4.9.0 through v4.9.3, the FluentSlider two-way binding is not working in my application.  The initial value is loaded into the slider, but when the slider is changed, the value is not updated.  I am using FluentUI Blazor within a Teams application.  I'm not sure if that's affecting the behavior or not, but it might explain why others may not have run into the issue yet.  Otherwise, I'm not sure what might be causing the issue in my environment.
💻 Repro or Code Sample
I have two sliders within my application that led me to discover the issue, but to verify the behavior, I used the first code sample from the FluentSlider page:

    <FluentButton style="width: 90px; margin: 10px;" @onclick="() => orientation = (orientation == Orientation.Vertical) ? Orientation.Horizontal : Orientation.Vertical">Toggle orientation</FluentButton>
    <FluentSlider Label="Select a temperature" Orientation="@orientation" Min="0" Max="100" Step="10" @bind-Value=value>
        <FluentSliderLabel Position="0">0℃</FluentSliderLabel>
        <FluentSliderLabel Position="10">10℃</FluentSliderLabel>
        <FluentSliderLabel Position="90">90℃</FluentSliderLabel>
        <FluentSliderLabel Position="100">100℃</FluentSliderLabel>
    </FluentSlider>

Selected value: @value

@code {
    Orientation orientation = Orientation.Horizontal;
    int value = 70;
}

Unfortunately, providing a zipped repo isn't simple because running a custom Teams app locally requires connecting the app to your Teams account.  Let me know if there's any other info I can provide for repro.
🤔 Expected Behavior
When the slider is changed, the value variable should be updated.
😯 Current Behavior
When the slider is changed, the value variable is not updated.

🔦 Context
The sliders I'm actually using in my application are used for adjusting the width and height of widgets within a dashboard (number of columns and rows in a CSS grid).  If needed, I could change them to dropdowns, but the FluentSlider works prior to v4.9.0.  The sliders are loaded within a FluentPopover in the real use case, but in my test with the sample FluentSlider code, I loaded them inline.
For now, I will likely continue to run on v4.7.2 because I ran into an unrelated issue with the popover in v4.8 (which is fixed in v4.9).  v4.7.2 has a bug in the FluentSortableList that is also fixed in one of the later versions, so there is incentive to be on v4.9, but v4.7.2 is the most usable version for the use cases I have right now.
🌍 Your Environment

OS & Device: Windows on PC
Browser: Google Chrome v128.0.6613.84
.NET 8.0
Microsoft.FluentUI.AspNetCore.Components v4.9.3
Microsoft.TeamsFx v2.5.0

While I understand and appreciate it is an issue on your side, you can see in the exact same demo on the demo site that the binding is indeed working.
If you can't supply reproduction code (which is understandable), I'm not sure how you expect us to be able to help you with this.
Are you perhaps running your code in SSR mode? Are you seeing errors in the browser's dev tools?

Thanks for the quick response.  I understand it can be very difficult to debug without being able to reproduce.  It seemed worth bringing up in case you had any thoughts or were able to find anything, but it's probably too difficult to investigate.
In the simplified test case, I was using the Interactive Server render mode, though I also tried Interactive WebAssembly and Interactive Auto.  There were no errors when changing the slider.  I think there were a couple SignalR errors during page load, which I thought were unrelated, but perhaps not.
I was able to work around the issue by using Value and ValueChanged instead of bind-Value.  To add to the confusion though, after removing my workaround, the issue went away with bind-Value.  So I don't know what the issue was or if it will resurface, but if it does, hopefully the workaround will still work.  (Interestingly, this isn't the first time I've tried upgrading to v4.9.3 and run into this issue.  So I've been able to reproduce the issue - until now.)
Given the difficulty for you to reproduce, the (hopeful) workaround, and the fluctuating behavior on my end, I'm closing this issue.  Thanks again for your response and all your work.


Is it possible to use ollama embedding model while using OpenAI model for agents?

Is your feature request related to a problem? Please describe.
Is it possible to use Ollama embedding model for plugin selection while using OpenAI model for agents.
See my config file blow:
{
"llm.api_base": "https://xxx.openai.azure.com/",
"llm.api_key": "xxx",
"llm.api_type": "azure",
"llm.api_version": "2023-07-01-preview",
"llm.model": "gpt-4",
"llm.response_format": null,
"llm.embedding_api_type": "ollama",
"llm.embedding_model": "nomic-embed-text:latest",
"code_generator.enable_auto_plugin_selection": true,
"code_generator.auto_plugin_selection_topk": 2,
"execution_service.kernel_mode": "local",
"planner.prompt_compression": true,
"code_generator.prompt_compression": true
}
I thought I would need to input ollama api into the config as well? I can't seem to find the info.
Describe the solution you'd like
Be able to use Ollama model for plugin auto selection, at the same time using OpenAI models for agents.

I didn't try myself, but I think the embedding model is configured seperately with the model for the agent roles, and so you should be able to do what you want.
You can take a look at this file taskweaver/llm/ollama.py and the config class OllamaServiceConfig. I think you need to configure at least the following one, given that you have already configured the others in your example above:
llm.ollama.api_base = xxxx

Please let me know if this can work.

Yes, it works after adding
llm.ollama.api_base = xxxx


v1.6 update embedder settings different when using settings vs settings/embedders

Describe the bug
When updating the embedder settings with the /settings route and /settings/embedders route the embedder required values are different. With settings, the embedders are updated with curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"embedders": {"default": {"source": "userProvided", "dimensions": 512}}}'.
With the embedders route curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings/embedders' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"embedders": {"default": {"source": "userProvided", "dimensions": 512}}}' results in an error.
{"message":"Unknown field `default` inside `.embedders`: expected one of `source`, `model`, `revision`, `apiKey`, `dimensions`, `documentTemplate`","code":"invalid_settings_embedders","type":"invalid_request","link":"https://docs.meilisearch.com/errors#invalid_settings_embedders"}

When using the embedders route you instead have to send curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings/embedders' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"embedders": {"source": "userProvided", "dimensions": 512}}'. But this means only one embedder can be used because when updating it always replaces the current embedder.
To Reproduce
Steps to reproduce the behavior:

Run curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings/embedders' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"embedders": {"default": {"source": "userProvided", "dimensions": 512}}}'
Get an error

Expected behavior
Both settings routes should take the same values.
Screenshots
If applicable, add screenshots to help explain your problem.
Meilisearch version:
v1.6.0-rc.3
Additional context
Additional information that may be relevant to the issue.
[e.g. architecture, device, OS, browser]

Hello @sanders41
When you send a settings to /settings/embedders you should remove embedders and directly put the JSON object you would have put inside embedders if you were using the /settings route.
with /settings you have to send
curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"embedders": {"default": {"source": "userProvided", "dimensions": 512}}}'

and with /settings/embedders you have to send
curl -X PATCH 'http://<IP_ADDRESS>:7700/indexes/movies/settings' -H 'Authorization: Bearer masterKey' -H 'Content-Type: application/json' --data '{"default": {"source": "userProvided", "dimensions": 512}}'

It's the same behavior than with typoTolerance settings
Let me know it I miss-understood your bug report

Got it, this makes sense and fixed my issue.