Switch highlighting setting under dark/light mode

It seems the code highlighting is always set to monokai regardless whether we are in dark or light settings. I adjusted the syntax highlighting setting so that the code block will be set to monokailight under light mode and monokai under dark mode. Feel free to offer your inputs:)

Hi, thanks for the PR! This is actually intended, as I thought the dark mode code blocks still fit with a light mode theme. It also allows the blocks to stand out more. Using Monokai Light, the background of the code blocks is very similar to the white background of the page.
The syntax theme can be customized by anyone by following https://github.com/LukasJoswiak/etch/wiki/Syntax-highlighting, but you bring up a good point in that it isn't obvious how to have different syntax highlighting themes for light and dark mode. I found a couple articles discussing this with different techniques.
https://bwiggs.com/posts/2021-08-03-hugo-syntax-highlight-dark-light/ suggests changes to the theme to enable different stylesheets for light and dark syntax highlighting. https://kishvanchee.com/syntax-highlighting-in-light-and-dark-mode-in-hugo/ uses a short bash script to combine the light and dark mode stylesheets, similar to your PR. I don't necessarily have an opinion on the correct way, but I think I would like to leave the default syntax highlighting as Monokai, but improve the instructions on how to use different highlighting schemes for light and dark mode. What do you think?

@LukasJoswiak I think whether the code highlighting should change based on the site's theme is subject to personal preferences. One solution is to add another parameter in the config file to let the user choose if they want the highlighting to adjust dynamically (maybe add anothe condition check at https://github.com/LukasJoswiak/etch/blob/master/layouts/partials/head.html#L24). But that adds a bit more complexity.
Another less intrusive option is to explain how to modify the syntax.css file like this PR in the wiki page and let users pick their poison. Of course, this is involves slightly more coding and is a bit hacky.  It's also possible to generate two syntax files for both light and dark theme and modify https://github.com/LukasJoswiak/etch/blob/master/layouts/partials/head.html#L24 to adjust to the base theme. I probably would just address the instruction in writing, and maybe point to his PR.

Another less intrusive option is to explain how to modify the syntax.css file like this PR in the wiki page and let users pick their poison

I think this is the correct approach for this theme. For most users, the default dark mode syntax highlighting theme should be good enough, but for users wishing to customize, I added some instructions to the wiki at https://github.com/LukasJoswiak/etch/wiki/Syntax-highlighting#appearance. Let me know what you think.

Yeah that looks good to me. Just tested it out and it worked flawlessly. Closing this issue now


Visual Studio for Mac

What's the Product's Name?
VS for Mac
Describe the product in a single sentence.
A MacOS native application with a subset of features contained in Visual Studio for Windows
When was the product launched? Provide a specific date, if possible.
May 2011
When was the product discontinued? Provide a specific date, if possible.
August 2024
What type of product was it? App, Service, OS, or Hardware?
App

Added, thanks for the contribution!


do we run into Groq rate limits

I think I ran into some when using the choosing_paradigm notebook now. Do you think we should add a note or when a sleep, @MrtinoRG?

Yes, I think they considerably decreased the rate limits for the free plan, so yeah it probably needs some sleeps


[WIP] interface and implementation for low-level expectation value

This is a WIP, RFC PR.
This PR implements a low-level function expectation_value with 17 methods for various combinations of input using a multiple-dispatch library. The function is not a method of any class. It's (more or less) an ordinary function.
What's in the code

Implementations for Counts, QuasiDistribution, SamplerResult. Till now there are none for these classes. The need for these comes from specific use cases reported by @nonhermitian. I did not understand the details of the use cases, so these implementations may not yet fit the bill exactly.
Reimplementations of some class methods named expectation_value in quantum_info.
A few other methods including some in quantum_info, but that were not previously covered.

Interface
The methods have signatures similar to the following
expectation_value([operator], state, [qargs])  # First and last arguments may be absent.

# More explicitly
expectation_value(operator, state) # does what it says
expectation_value(operator, state, qargs) # restricted to a subset of qubits
expectation_value([operator], probs) # The operator is implied if omitted.

The last signature is not for states, but rather associated probabilities. If operator is omitted it defaults to the Pauli string that is diagonal in the measurement basis and that contains no one-qubit identity operators. Usually, this will be a string of Zs.
If a state is given by $(c_1, c_2,\ldots)$, then the probabilities are  $(|c_1|^2, |c_2|^2, \ldots)$. Since the phase information is lost, the only possible operators for expectation are those corresponding to the measurement basis. There has been concern that we don't want to narrow the semantics of Counts, etc. by assuming the computational basis. But, I think this is misplaced. Whatever the the Pauli string specifying the measurement basis was, the answer is correct, and there is no room for ambiguity.
Why
Class methods are essentially a kind of single dispatch, if different classes have methods of the same name. Here, we dispatch on the number of arguments and the types of each.

Multiple dispatch (MD) allows better factoring (less boilerplate) and more flexibility. This goes together with better encapsulation.

For example here is a single method with the signature
expectation_value(pauli: Pauli, state: Union[Statevector, DensityMatrix], qargs: QargsT)

with code that leaks no details of the state. In contrast, the current implementation is two separate methods that depend on details of state.

To handle the case where qargs is absent, there is a single, one-line method for two operator types and all types of state. This is done via dispatch. In contrast, the current implementation uses a conditional checking for None and constructing the missing data. This boilerplate is repeated at the top of each method. Here, here, and here. quantum_info is not unique in this respect. Rather, this pattern is common in qiskit.

There is one very short method to handle SparsePauliOp for all subclasses of QuantumState. In contrast, currently this is handled with typechecking and conditionals in a method for each subclass. And one of them is not yet implemented. Using MD, we get it for free.

One has to be conservative with changes to methods in a widely used class. With MD, you can have methods that are both more powerful, and local (unexported) to a file. Like these. This means that even if your proposal to include the methods you need in a class are rejected, you can still define and use MD methods locally.
The type annotations used for dispatch also serve as 1) documentation and 2) run-time type checking. If you pass values of the wrong type a no-method-found error is thrown. Alternatively, you can also write a method to give an informative error message. If the annotations are out of sync with the implementation, that is incorrect, tests are likely to fail. You will no longer write occasional, ad hoc, type checks in conditionals.
To add a method to an existing function in another file, you must explicitly import it and think about the interface and dispatch. This provides social and technical pressure to follow a uniform interface for a function. With class methods, it's easier to order arguments differently than do semantically similar methods in other classes.

How is it organized ?

For simplicity, I included most of this in a single file qiskit/operations.py. But, it could be organized differently. For example methods for a function can be spread across the code base in order to include them near code involving similar types. There is one example of this in this PR.

Python projects using Multiple Dispatch
This is important. How is MD used with Python. Is it successful ? Not much here yet...

fastai uses MD. They have rolled their own in a single file.

A (twitter) comment on using plum instead.
We (with Lev) benchmarked libraries and IIRC, the fastai library was the slowest. It also has, in general, fewer features.
But, it is very simple
It is used in the fastai packages. It's not just a feature or library provided for external packages. It was written specifically to support fastai.
fastai is considering moving from in-house to plum

Disadvantages

Multiple dispatch is different from and less familiar than typical class based OO.
It would be best to introduce multiple dispatch in a way that is hidden from the user, that is, does not affect the API. I think this current PR does not fit the bill here. Qiskit is in part just a Python library, so the classes and objects are meant to be exposed. It may be hard to introduce MD in way that is not hard to revert.
We need to find a way to organize doc strings.
Performance. Because Python is interpreted, abstractions come at a cost. In this PR I already avoided some small MD functions with the result that I duplicated code. In contrast, with a compiled language, you could use these functions. I would not be surprised if some of the code duplication I observed in quantum_info and elsewhere is there precisely to avoid performance hits. In any case,  here is an example benchmark of overhead. Overhead is rather high here because: 1) There are multiple levels of MD dispatch. 2) There are only two qubits, so in general function call overhead is more important.   In [1]: diagop = Pauli('ZZ')
   In [2]: state = Statevector([1, 2, 2, 1])
   In [3]: state = state / np.linalg.norm(state.data)

   In [4]: %timeit state.expectation_value(diagop)
   34.2 µs ± 461 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

   In [5]: %timeit expectation_value(diagop, state)
   42.5 µs ± 324 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

Here is an example that uses the density matrix constructed from the same state above, rather than the state vector. It also avoids one level of MD by  passing qargs directly. In [32]: %timeit expectation_value(diagop, rho_state, [0,1])
 41.3 µs ± 296 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

 In [33]: %timeit rho_state.expectation_value(diagop, [0,1])
 38.3 µs ± 189 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)

Now the performance gap is smaller, about 8%, because 1) the calculation is a bit longer and 2) one level of MD is avoided.
To improve performance one can

Try different MD libraries. The author of the one used in this PR shows a favorable comparison with the most popular library. However, a year ago, we found the opposite.
Lobby for cython in the library. The MD library used in this PR used cython until very recently.  It was removed because a couple of users did not find the performance increase worth the opacity of the pure-python to compiled-code interface. We could benchmark the previous (cythonized) version.
Use MD only at higher levels. This would increase performance, but would decrease the utility of MD. The biggest reductions of code and complexity often come from two  or more layers of MD calls.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

64 of 171 (37.43%)  changed or added relevant lines in 3 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.1%) to 83.931%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/primitives/sampler_result.py
6
8
75.0%

qiskit/quantum_info/operations.py
57
162
35.19%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/quantum_initializer/squ.py
2
79.78%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
56378

Relevant Lines:
67172

💛  - Coveralls

Why doesn't expectation_value on distributions take operators here?  E.g. suppose I want to make my own VQE routine that need to compute operators like 'IIZZIZ , or rewrite Quantum Volume to be the expectation value over the projection operators that define the heavy set per circuit.

Why doesn't expectation_value on distributions take operators here?

That makes sense. I just added it, but the interface needs to be adjusted a bit before I update the PR.

I pushed some changes to the code. I added a notebook , although I don't think it is allowed to live permanently where I put it. The notebook shows examples of the latest version of the API.

Here is a case where the assumptions behind expecation_value(oper, state: Counts) fail, or at least leave room for misunderstanding.
Say we have two qubits. You ask for counts measured in the $ZZ$ basis. You can then compute expval for $ZZ$ with just the counts. You could also ask for counts measured in the $XY$ , or $XX$, basis, or any Pauli basis. The same call to expval will give the correct result. If you want to provide safety (and complexity), you could tag the counts with the basis and then check that the user passed an operator that matches. But, then you ignore the operator and perform the same computation with counts. Better to just tell the user that you get the expval for whatever operator is diagonal (modulo specifying I on some qubits)
Now, suppose you ask the backend for counts in the Bell basis. First, this is underspecified if I am decoding from a classical 2-bit register. If you use the standard encoding (H on the lower qubit, and cnot from lower to upper) then the expval computation used for the Pauli bases is correct. No problem. But, you could encode them differently. Say flip one classical bit. But, say we stick with the encoding that does work. You can check that both ZZ and XX are diagonal in the Bell basis. But to compute the expval, they do a different linear combination of the counts. In other words ZZ will work. And you can get XX from the counts, but not with this single expval computation.

Can't one just check diagonality and raise if not the case?  I really think this whole multi-basis stuff is a solution looking for a problem.

An out-of-band discussion, and more thought, brought some issues to light. (Many points below have come up elsewhere and people have already argued for some ideas below.) Something we already knew is that there are two concerns addressed in this PR, and the hope was that this is a neat way to do both at once:

We want a straightforward function or method to compute some expectation values from things like Counts and QuasiDistribution.  There seems to be no dissent here (but correct me if I missed it).  What does this mean and how should we do it?
Is multiple-dispatch useful in qiskit? If so, how should it be used?

I'll discuss 1 and 2 separately. My conclusion is that this PR does not adequately answer these questions, at least without significant revision. I discuss 1 here and leave 2 for later.
Expectation value of Counts
It would be useful to extend the idea in quantum_info of the method QuantumState.expectation_value(operator) to Counts.expecation_value(operator). Or to design an API with MD to do both of these and more. The interface should be as uniform as possible with respect to operators and states (or counts) of different mathematical types as well as representations in data. A requirement is that the solution should allow the most common and pressing situation of counts measured in the computational basis to be handled easily without being burdened by preserving generality or uniformity of interface for use cases that have not yet arisen.
A first attempt might be

expectation_value(operator: Union[Pauli, etc.], state: Counts). The implementation will validate operator: It must be constructed of Pauli strings containing only Z and I.

But Counts is meant to support more than just measurements of qubits in the computational basis[^1]. Perhaps the next most common scenario[^2] is measurement in another Pauli basis (XYYZIZ, etc.) So our next attempt (the one in this PR) is

Allow any Pauli string (or weighted sum) as operator. In the documentation we write: "Any Pauli operator is supported with the restriction that it must be diagonal in the Pauli basis in which counts were collected." Now, Counts (and QuasiDistribution) do not carry information on the measurement basis. But the algorithm does not need this information. It only needs to know at which indices an I occurs. In sum, the implementation is exactly the same as the previous attempt, except that all Pauli operators are allowed.  It is up to the user to only pass valid operators based on information not available to our implementation. However, it would make sense to check that each term in a Pauli sum is consistent with a single measurement basis.

This is not the end of the story. There are other qubit-measurement bases that cannot be handled by the scheme above. For example, the Bell-basis encoded in a single-qubit computational basis (see below for a footgun that the scheme allows). Furthermore Counts allows dits as keys. For example Bell measurements could be encoded as 4-dits. So we need something else. Some possible solutions are

Implement expectation_value_pauli_basis(operator: Union[Pauli, SparsePauliOp, etc.], state: Union[Counts, etc,]) (except with a better name, and could be MD or class methods or both). Validate the input only to verify that each string in a sum is compatible with a single measurement basis. This would be fairly easy, not disruptive, would use exactly the same computation already in this PR, and should satisfy the need expressed many times by users. (via @nonhermitian).
Include metadata in Counts specifying the measurement basis. Counts is already carrying some meta data, although it could be cleaned up. Adding the measurement basis seems to fit with the spirit of Counts. If the consumer of Counts omits the basis (as they do now), then the computational basis is assumed. In this case, we have a more generic expectation_value that can raise an error if a particular basis is not supported.

Bell-basis measurement
Imagine this only slightly futuristic scenario. Suppose the user runs a simulator or machine that supports measuring in the Bell basis using the standard encoding[^3]. The user receives an instance of Counts. The user is unfamiliar with Counts, but it looks useful; there is even an expectation_value method (or a function or whatever). They look at examples and see the operator passed to expectation_value is a Pauli string or weighted sum thereof. The user doesn't know how to specify an operator in the Bell basis, so they decide to proceed with Paulis. Maybe the documentation said only diagonal operators are supported. Or maybe the user manages not to forget that only expectations of diagonal operators are possible from counts. The user knows that ZZ is also diagonal in the Bell basis, so they try it. It works every time! The user then tries XX and YY, which are also diagonal in the Bell basis. But they get the wrong answer! (It is easy to compute that this is indeed what would happen if we only verify input consistent with one Pauli basis. But, I don't include the computation here.)
[^1]: The documentation, interface, and implementation of Counts could be improved. But the documentation seems to imply that it is meant to handle more general measurements than qubits in the computational basis. In fact, output of dits is explicitly supported. I have draft issue (not yet opened) on improving Counts.
[^2]: It may be that till now no one has used Counts to represent measurements in other Pauli bases.
[^3]: By, standard, I mean the one that I have seen most often. $|\Phi(a, b)\rangle = (1/\sqrt(2))[|0b\rangle + (-1)^a |1\bar{b}\rangle]$.

Can't one just check diagonality and raise if not the case? I really think this whole multi-basis stuff is a solution looking for a problem.

@nonhermitian, I'm inclined to agree. Counts was designed be be more general. But I can't find anywhere that it's used for anything other than qubits measured in the computational basis. Is there anything that constructs Counts with dits for keys? And several places, for example in the mitigation code in terra, qubits and Z basis are assumed when using Counts.
I think expectation_value(operator, data: Counts) or Counts.expectation_value(operator) with the appropriate doc string is ok. More general things could be added when needed in the future, probably without changing this interface. As I said above: via metadata in Counts  or passed as a kw argument, etc.
We could enforce only Is and Zs, in which case the doc would have:

It is assumed here, as in almost all of qiskit, that counts were collected by measuring in the computational basis. It follows that operator must be diagonal. That is, in Pauli strings are required to contain only Z and I.

Or allow any operator in a Pauli basis, in which case the doc would have:

It is assumed here that the counts were collected by measuring in a Pauli basis. This means that operator must be diagonal in that basis. Since all backends and simulators in Qiskit measure in the computational basis, this means that Pauli strings in operator must contain only Z and I.
However you or a third party may write code that returns counts measured in a different Pauli basis. In this case operator should be diagonal in that basis. It is important to be aware that this method has no way of knowing which basis you measured in. In fact, computation of the expectation value depends only on how many Is are in each Pauli string, and not on whether the other single-qubit operators are X, Y, or Z.  Regardless of the operator you pass, the expectation will be computed in the actual measurement basis. The only requirement is that all strings in operator are diagonal in the same basis.

A couple of comments:
a. The second option is more complex than the first. And we don't have any evidence that anyone wants this yet.
b. I would bet that fairly frequently users will neglect to read the doc string and/or due to a thinko try to compute the expectation value for non-diagonal operators. Then they'll be frustrated and we'll see bug reports.
So maybe one of these options:

Leave it as described in the second docstring above. Let people read the docstring to find out why their code doesn't work.

Choose the first option above and enforce only Zs and Is. If someone wants to use counts collected in another Pauli basis, I suppose they might remain quietly sad that expectation_value does not support this. But, probably they would ask somewhere how it can be done, in which case we can broaden the allowed input to something like the second option.

Choose number 2 above, but to prevent the footgun, the doc string would have:

However you or a third party may write code that returns counts measured in a different Pauli basis. In this case, you must pass the keyword argument basis = "pauli". etc. etc.

Then we require all Zs and Is unless the correct keyword argument is passed.

I would advocate for more than just Pauli's and include the zero and one state projectors.  They are diagonal in the computational basis, and are useful to use for projections onto subsets. eg. one could write strings like IIZI0Z1I

include the zero and one state projectors

Oh, that makes sense. ... I think that would mean throw out counts if any of the 0s and 1s don't match, right?
The more I think about it, I think supporting only what people need now is best. If something else is needed, we probably won't do it correctly now anyway and would have to deprecate/change it for some reason when it is needed.

Regarding item number 2 at the top if this comment https://github.com/Qiskit/qiskit-terra/pull/8532#issuecomment-1218260649, that what do we think of multiple dispatch in this PR?

Some people who are usually quite good at understanding complex software found reasoning through the dispatch confusing.
Reducing the number of nested calls to methods of the same generic function would make the code more performant, and possible easier to understand.

To address the first point, it would be a good idea to review this with an eye toward reducing the complexity. Furthermore it could be organized better, commented better, perhaps explained better in a notebook.
Regarding the second point: I wanted to see how much I could get out of multiple dispatch here without regard to efficiency. If this is done well, it's instructive for understanding how it MD is used. Then, start removing some abstractions or clarity in order to improve performance. Still, with some effort, you might be able to reorganize the code such that you don't have to sacrifice too much to get more performant code.
@jakelishman and @garrison made a few suggestions. For example suppose you use MD inside a loop. You can instead ask the MD system outside the loop to find the correct method without actually calling it. There is a function, invoke for this. Then use this precomputed method inside the loop. That's somewhat clumsy, and slightly harder to read. But, I suppose not too bad.
It was also pointed out that allowing "implicit arguments" and so forth reduces the uniformity of the interface. Maybe to the point where you don't want to try to claim it's one function. In any case, I now no longer think omitting the first operator function and using a default is a good idea.

They are diagonal in the computational basis, and are useful to use for projections onto subsets. eg. one could write strings like IIZI0Z1I

@nonhermitian , I pushed an implementation of this to this PR. Seems to work ok. Needs a bit of refactoring. Also the overall interface still needs some work.

Great PoC. Thank you. I left some comments:

Basis.

IIZI0Z1I is already implemented in https://github.com/Qiskit/qiskit-terra/blob/main/qiskit/result/mitigation/utils.py#L71.
I know this is not so efficient because it stores diagonal that grows exponentially.

Error handling.

What happens in the case of positional arguments? Does MD check the types in order from the top and match them? I am wondering what the behavior will be since the argument names are not aligned.
If none of these matches are found, does it result in an error?
How do we verify that Counts (,QuasiDistribution or ProbDistribution) are measured on the appropriate basis? or only diagonal matrices should be allowed?

Performance.

When QuantumCircuit is Clifford circuit, we can use StabilizerState to improve the performance.

Packaging.

Where would be the appropriate place to put this? If it depends on result, quantum_info, primitives, then it is even higher level. Maybe algorithms? @jakelishman may have good suggestion. (We discussed the hierarchy of qiskit.)

@ikkoham thanks for the comments

Error handling.

If I understand correctly, standard Python supports keyword-only, positional-only, and positional-or-keyword arguments. I'm fairly (not quite 100%) certain that plum-dispatch works like this: Only positional-only and keyword-only arguments make sense. Only positional arguments are used for dispatch. In fact, the docs say

Keyword-only arguments, separated by an asterisk from the other arguments, can also be used, but are not dispatched on.

When searching for a matching method, the number of positional arguments must match. The type of each positional argument must match. The order of arguments must match. If no matching method is found, an error is raised.
If more than one method matches, then the "most specific" method is chosen. For example calling with an int will match Number, but an explicit int annotation is more specific. Sometimes two different methods match, but it is not clear which is more specific. There are various ways to resolve this.

what the behavior will be since the argument names are not aligned

I don't understand.

When QuantumCircuit is Clifford circuit, we can use StabilizerState to improve the performance.

I think you are saying that a method could be added for this.

Where would be the appropriate place to put this?

That's a good question. I put as much in one file as possible for convenience. But, it's probably better to put the methods in different places. How fine grained to make that is then a question.
It would be nice to keep MD away from the API, so it can be changed easily. I didn't yet try to do that. It may be difficult.

Apparently the NetKet project uses plum-dispatch mainly for expectation values

We use plum mainly for the expect(state, operator) and expect_and_grad(state, operator, options) functions in order to dispatch to the best implementation possible. We do have generic ones that work for all types that implement our API, but this allows us to have specialised implementations.

This is out of date. I think most things here have been or will be moved to Rust.


Travis build fails because of Licensee update

The Travis build is currently failing on master and in all new pull requests.
I believe this has something to do with the last Licensee release. In particular, I would guess that this is because the required confidence threshold is now 95% instead of 90%. I haven't had time to debug yet though.

I was able to confirm that the issue comes from licensee (it works when I lock the licensee version to v4.3.1). Here are the results of licensee v4.3.1 against the four grammars that are now unrecognized:
/go-tmbundle$ licensee
License file: LICENSE
Attribution: Copyright (c) 2009, Jim Dovey
License: BSD 3-clause "New" or "Revised" License
Confidence: 94.78%
Method: Licensee::Matchers::Dice

/jflex.tmbundle$ licensee
License file: LICENSE.md
Attribution: Copyright (c) 2015 Gerwin Klein and contributors.
License: BSD 2-clause "Simplified" License
Confidence: 94.88%
Method: Licensee::Matchers::Dice

/factor$ licensee
License file: license.txt
License: BSD 2-clause "Simplified" License
Confidence: 94.23%
Method: Licensee::Matchers::Dice

/sublimeprolog$ licensee
License file: LICENSE
License: Mozilla Public License 2.0
Confidence: 100.00%
Method: Licensee::Matchers::Exact

The three first grammars are not recognized with the last version because of the new 95% threshold. I've opened an issue for the last one: benbalter/licensee#115.
I'm not sure what we should do for the three first grammars...
@arfon What do you think? Should be lower the threshold?
@benbalter Any particular reason for raising the threshold?

Any particular reason for raising the threshold?

Licensee was having trouble detecting when both the MIT and GPL licenses were in the same file (https://github.com/benbalter/licensee/pull/112).
Can you provide me with links to the failing grammars' licenses? I'd love to dig into why they're failing.

Well, here's one example:
  2) Failure:
TestGrammars#test_submodules_have_approved_licenses [/home/travis/build/github/linguist/test/test_grammars.rb:93]:
The following submodules have unapproved licenses:
* vendor/grammars/go-tmbundle:
* vendor/grammars/factor:
* vendor/grammars/jflex.tmbundle:
* vendor/grammars/sublimeprolog: gpl-2.0
The license must be added to the LICENSE_WHITELIST in /test/test_grammars.rb once approved..
--- expected
+++ actual
@@ -1 +1 @@
-[]
+["vendor/grammars/go-tmbundle: ", "vendor/grammars/factor: ", "vendor/grammars/jflex.tmbundle: ", "vendor/grammars/sublimeprolog: gpl-2.0"]

It thinks sublimeprolog is released under the GPL 2.0 license, whereas it's actually the MPL 2.0.

Can you provide me with links to the failing grammars' licenses? I'd love to dig into why they're failing.

Sure:

jflex-de/jflex.tmbundle
slavapestov/factor
AlanQuatermain/go-tmbundle (This one has a footnote on the license.)
alnkpa/sublimeprolog

Perhaps we should whitelist these grammars for now? e.g. with the curated: true flag we've been using elsewhere.

https://github.com/benbalter/licensee/pull/117 should fix alnkpa/sublimeprolog. Looking into the other two.

(This one has a footnote on the license.)

This is the expected behavior. There's no way for the computer to know that that doesn't say "And you must give me one free puppy every day".

jflex-de/jflex.tmbundle

The one also has a line added. They substituted the title of the project for the license title (which again, the computer doesn't know). You can lower the confidence threshold if you'd like, but then you may get false positives, rather than false negatives as you are here, especially around concatenated licenses.

Thanks for the help @benbalter!
@arfon I guess #3236 fixes this?

@arfon I guess #3236 fixes this?

Yeah, kind of :-\ Not entirely happy with that PR.

I think this has been addressed with #3251.


Fix JS Builds on Windows

Fix JS build issues causing Failed to resolve module specifier "react"
Look into whether channels can be monkey-patched to fix the ChannelsLiveServerTestCase

Full error:
Uncaught TypeError: Failed to resolve module specifier "react". Relative references must start with either "/", "./", or "../".

Starting this off as a draft while I investigate what exactly is broken.

cc: @rmorshea
Two things of note

Based on this log output MANIFEST.in paths are incorrectly configured
react does not appear to be automatically resolved by rollup (treating it as an external dependency)

Although I'm not familiar with rollup I'll try to dig into this deeper and see if I can figure out a solution.

Here's the output of my pip install -e .
2021-09-09T02:50:47,594 Installing collected packages: django-idom
2021-09-09T02:50:47,594   Attempting uninstall: django-idom
2021-09-09T02:50:47,596     Found existing installation: django-idom 0.0.1
2021-09-09T02:50:47,598     Uninstalling django-idom-0.0.1:
2021-09-09T02:50:47,945       Created temporary directory: C:\Users\username\AppData\Local\Temp\pip-uninstall-rcoedx6f
2021-09-09T02:50:47,946       Removing file or directory c:\users\username\documents\repositories\django-idom\.venv\lib\site-packages\django-idom.egg-link
2021-09-09T02:50:47,946       Removing pth entries from c:\users\username\documents\repositories\django-idom\.venv\lib\site-packages\easy-install.pth:
2021-09-09T02:50:47,946       Removing entry: c:\users\username\documents\repositories\django-idom\src
2021-09-09T02:50:47,946       Successfully uninstalled django-idom-0.0.1
2021-09-09T02:50:47,949   Running setup.py develop for django-idom
2021-09-09T02:50:47,949     Running command 'c:\users\username\documents\repositories\django-idom\.venv\scripts\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\username\\Documents\\Repositories\\django-idom\\setup.py'"'"'; __file__='"'"'C:\\Users\\username\\Documents\\Repositories\\django-idom\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps
2021-09-09T02:50:48,200     building js
2021-09-09T02:50:48,200     building js
2021-09-09T02:50:48,200     building js
2021-09-09T02:50:48,201     running develop
2021-09-09T02:50:48,332     Installing Javascript...
2021-09-09T02:50:48,344     > C:\Program Files\nodejs\npm.CMD install
2021-09-09T02:50:49,429     npm WARN<EMAIL_ADDRESS>requires a peer of react@>=16 but none is installed. You must install peer dependencies yourself.
2021-09-09T02:50:49,437     npm WARN<EMAIL_ADDRESS>requires a peer of react-dom@>=16 but none is installed. You must install peer dependencies yourself.
2021-09-09T02:50:49,445     npm WARN<EMAIL_ADDRESS>No repository field.
2021-09-09T02:50:49,452     npm WARN<EMAIL_ADDRESS>No license field.
2021-09-09T02:50:49,466     npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
2021-09-09T02:50:49,466     npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

2021-09-09T02:50:49,604     audited 24 packages in 0.447s

2021-09-09T02:50:49,617     3 packages are looking for funding
2021-09-09T02:50:49,617       run `npm fund` for details

2021-09-09T02:50:49,617     found 0 vulnerabilities

2021-09-09T02:50:49,639     > C:\Program Files\nodejs\npm.CMD install
2021-09-09T02:50:49,639     > C:\Program Files\nodejs\npm.CMD run build

2021-09-09T02:50:50,234     ><EMAIL_ADDRESS>build C:\Users\username\Documents\Repositories\django-idom\src\js
2021-09-09T02:50:50,234     > rollup --config

2021-09-09T02:50:50,393
2021-09-09T02:50:50,393     src/index.js → ../django_idom/static/js/django-idom-client.js...
2021-09-09T02:50:50,474     'react' is imported by node_modules\idom-client-react\src\components.js, but could not be resolved – treating it as an external dependency
2021-09-09T02:50:50,474     'react' is imported by node_modules\idom-client-react\src\mount.js, but could not be resolved – treating it as an external dependency
2021-09-09T02:50:50,474     'react-dom' is imported by node_modules\idom-client-react\src\components.js, but could not be resolved – treating it as an external dependency
2021-09-09T02:50:50,475     'react-dom' is imported by node_modules\idom-client-react\src\mount.js, but could not be resolved – treating it as an external dependency
2021-09-09T02:50:50,475     'react' is imported by node_modules\idom-client-react\src\json-patch.js, but could not be resolved – treating it as an external dependency
2021-09-09T02:50:50,608     created ../django_idom/static/js/django-idom-client.js in 216ms
2021-09-09T02:50:50,628     > C:\Program Files\nodejs\npm.CMD run build
2021-09-09T02:50:50,628     Successfully installed Javascript
2021-09-09T02:50:50,628     running egg_info
2021-09-09T02:50:50,628     writing src\django_idom.egg-info\PKG-INFO
2021-09-09T02:50:50,629     writing dependency_links to src\django_idom.egg-info\dependency_links.txt
2021-09-09T02:50:50,629     writing requirements to src\django_idom.egg-info\requires.txt
2021-09-09T02:50:50,630     writing top-level names to src\django_idom.egg-info\top_level.txt
2021-09-09T02:50:50,634     reading manifest file 'src\django_idom.egg-info\SOURCES.txt'
2021-09-09T02:50:50,636     reading manifest template 'MANIFEST.in'
2021-09-09T02:50:50,637     warning: manifest_maker: MANIFEST.in, line 1: path 'src/django_idom/static/' cannot end with '/'

2021-09-09T02:50:50,637     warning: manifest_maker: MANIFEST.in, line 2: path 'src/django_idom/templates/' cannot end with '/'

The automatic installation of peer dependencies was explicitly removed with npm 3.
As a result I've begun manually installing react and react-dom

@rmorshea let me know if this solution is appropriate, or if I need to automating this with rollup.

Ok, so I think I modified my path to include ./node_modules/.bin which is where local dependencies like rollup get installed and that's why I'm not having this issue (that or npm does this automatically ok unix systems?).
With that said, I think the better solution is to use npx which comes bundled with npm>5. With that you can just run npx rollup and it will find the locally installed executable - no need to install globally.

I'm unfamiliar with NPX.
Would your suggestion involve changing all npm calls within setup.py to instead use npx?
You should have write access to this PR if you want to do work within this branch.

To really be sure that this all works on Windows and, more importantly, that it continues to, we should add windows to the set of systems check during CI. You can refer to IDOM's workflow on how to do this. I was having problems though with running tests that relied on the Chrome webdriver on Windows though. If we're able to solve that here, maybe we can port that solution back into the main idom repo so we can run the full test suite on Windows there too.

To really be sure that this all works on Windows and, more importantly, that it continues to, we should add windows to the set of systems check during CI. You can refer to IDOM's workflow on how to do this. I was having problems though with running tests that relied on the Chrome webdriver on Windows though. If we're able to solve that here, maybe we can port that solution back into the main idom repo so we can run the full test suite on Windows there too.

I did do some poking and prodding into potential monkey patches but haven't confirmed anything as a solution.
I did notify the django team @ django/channels#1207 that the issue is WIndows specific.

So I think that if you want to invoke rollup manually at the command line, you'll want to do with with npx. However, if you run a script defined in package.json (e.g. npm run build) the node_module/.bin folder will be added to your path automatically. Let me know if that doesn't work though.
Ideally, you should be able to uninstall your global rollup install. Then, start with a fresh environment (delete src/js/node_modules). it should be possible to cd src/js run npm install and then execute npm run build without issue.

I think the issues with the WebDriver in the main IDOM repo are probably independent of channels. So maybe best to unlink idom-team/idom#289 from the issue there I think?

Unlinked the idom issue from the comment on django-channels.

Looks like bumping rollup and adding react/react-dom to package.json seems to have fixed windows builds.

I'll continue poking around to figure out why tests are broken on Windows, but I don't think a resolution will come easy, since the trace log indicates it's related to how pickling works on Windows.
If I find a solution I'll create a separate PR.

Looks like while tests were passing while it was in this branch, after merging tests have failed.
🤔


Add Open Routing Logo to Documentation Build

Add .png + to config to include in HTML output

Test Plan:

Build Locally


Cannot download the Neo4J DBpedia dump

Hi,
This file is no longer available for download. LINK: https://s3-us-west-1.amazonaws.com/neo4j-sample-datasets/dbpedia/dbpedia-store.tar.bz2 ; Any alternative?

can not download, hope provide new url.

+1


limit aria-controls use

aria-controls isn't particularly useful if a panel isn't exposed, so update the script to:

have it as an optional property that defaults to not being included
only populate it on the selected tab so that inactive tabs don't announce users can move to the controlled element, since they cant.

With recent jaws update that sets aria-controls to be ignored by default, this may just be removed instead


Optimize u32 rrot

Hi, this PR adds all u32 rrots operations from 0 to 31, and corresponding test case.
Length of new bitcoin script for the u32_rrot12 (291 byte) is a little bit better than the original one (292 byte), so I remove the old one.
Other rrot operations are reserved.
I hope this pr will help some guys to implement sha256 in bitvm.

Thank you very much!! great job!


Compact doesn't do anything

I have a large DB:
tree_height: 7
allocated_pages: 30790831
leaf_pages: 27760719
branch_pages: 557482
stored_bytes: 72.9 GiB
metadata_bytes: 2.3 GiB
fragmented_bytes: 42.3 GiB
page_size: 4096

I tried calling .compact() to reduce the fragmented bytes, but it takes a long time and nothing seems to change. Here are logs with RUST_LOG=redb=trace:
2024-12-06T16:03:30.816495Z  INFO redb::db: Opening database "FileBackend { file: File { fd: 3, path: \"/db-path\", read: true, write: true } }"
2024-12-06T16:03:30.839566Z DEBUG redb::transaction_tracker: Beginning write transaction id=TransactionId(13445785)
2024-12-06T16:03:30.839598Z DEBUG redb::transactions: Opening system table: next_savepoint_id<(), redb::SavepointId>
2024-12-06T16:03:30.839623Z TRACE redb::tree_store::btree: Btree(root=Some(BtreeHeader { root: r8.190747/0, checksum:<PHONE_NUMBER>52137255290554370284647626586, length: 1 })): Inserting "next_savepoint_id" with value of length 85
2024-12-06T16:03:30.839661Z DEBUG redb::transactions: Opening system table: persistent_savepoints<redb::SavepointId, redb::SerializedSavepoint>
2024-12-06T16:03:30.839674Z DEBUG redb::transactions: Aborting transaction id=TransactionId(13445785)
2024-12-06T16:03:30.839682Z DEBUG redb::transactions: Finished abort of transaction id=TransactionId(13445785)
2024-12-06T16:03:30.842310Z DEBUG redb::transaction_tracker: Beginning write transaction id=TransactionId(13445787)
2024-12-06T16:03:30.842316Z DEBUG redb::transactions: Opening system table: persistent_savepoints<redb::SavepointId, redb::SerializedSavepoint>
2024-12-06T16:03:30.842323Z DEBUG redb::transactions: Committing transaction id=TransactionId(13445787) with durability=Paranoid
2024-12-06T16:03:30.846972Z DEBUG redb::transactions: Finished commit of transaction id=TransactionId(13445787)
2024-12-06T16:03:30.846987Z DEBUG redb::transaction_tracker: Beginning write transaction id=TransactionId(13445788)
2024-12-06T16:03:30.846995Z DEBUG redb::transactions: Committing transaction id=TransactionId(13445788) with durability=Paranoid
2024-12-06T16:03:30.851592Z DEBUG redb::transactions: Finished commit of transaction id=TransactionId(13445788)
2024-12-06T16:03:30.851607Z DEBUG redb::transaction_tracker: Beginning write transaction id=TransactionId(13445789)
2024-12-06T16:39:48.063061Z DEBUG redb::transactions: Aborting transaction id=TransactionId(13445789)
2024-12-06T16:39:48.063084Z DEBUG redb::transactions: Finished abort of transaction id=TransactionId(13445789)
2024-12-06T16:39:48.063096Z DEBUG redb::transaction_tracker: Beginning write transaction id=TransactionId(13445790)
2024-12-06T16:39:48.063105Z DEBUG redb::transactions: Committing transaction id=TransactionId(13445790) with durability=Paranoid
2024-12-06T16:39:48.069859Z DEBUG redb::transactions: Finished commit of transaction id=TransactionId(13445790)

From looking at the implementation of compact, the abort seems to suggest WriteTransaction::compact_pages returned false (after 36 minutes).
The database stats after running compact() also stayed the same.
I also generated a flamegraph from this run which shows 99.74% of the time was spent in redb::tree_store::table_tree::TableTreeMut::highest_index_pages. This doesn't seem unreasonable given its doing a full scan, but I'm confused why it seems to result in no work being done.

Let me know if there is any other information or debugging I could do that would help. Thank you for the awesome library :)

Ah yes, I should improve the reporting of the stats. There are two types of fragmentation: intra-page and inter-page. The fragmented stat which is reported is intra-page (the unused space inside allocated pages), whereas compact() addresses inter-page (unused pages in the database file) fragmentation. To see the difference you should check the size of the database file, rather than look at the stats object

Oh I see, thank you for explaining!


Feature request: interactive to support decorator syntax

Similar to how @interact can be used to decorate a function.

Can you give a code sample of what you would like?

What do you expect @interactive to do and why would you need it?

Closing as inactive - please reopen if you'd like to continue the discussion.


How to make work on mac?

Any ideas here? I have no idea where to start.

I'm trying to work through this, too. It probably needs to be recompiled to target MacOS. This might help:
http://docs.godotengine.org/en/3.0/tutorials/plugins/gdnative/gdnative-cpp-example.html

I'm using original version of module: https://github.com/khairul169/gdsqlite on Mac with Godot 3.1 after upgrade some code before compiling and it works fine.
-J


Is it good to use module?

Abit off topic.
During development of react version of same package I find using various modules like Blog, SEO, Settings will make clean code and will be easier to read for future developers
can you share is it good to go with that approach?

Sure it'll be far more better with real module system, like backpackforlaravel ;)
I just didnt take the time to do it and keep it simple "boilerplate"
Besides there is a new thing to take into account : the vue/react client-side which must divided too.

Yeah i guess I will go with module system not that big as backpack . And yes we should divide react client side so it will be easier in future to add other modules.


Expression as index is parsed wrong

When the following file is parsed by Surelog:
module top(output int o);
   typedef struct packed {
      int 	  nonce;
   } sram_otp_key_rsp_t;

   sram_otp_key_rsp_t [2:0] sram_otp_key_o;

   assign sram_otp_key_o[2-2].nonce = 1;

endmodule // top

2-2 is parsed as 2. Here is part of uhdm tree:
slpp_all/surelog.uhdm: Restored design Pre-Elab:
design: (work@top)
|vpiName:work@top
|uhdmallModules:
\_module: work@top (work@top) index.sv:1:1: , endln:10:10, parent:work@top
  |vpiDefName:work@top
  |vpiFullName:work@top
  |vpiPort:
  \_port: (o), line:1:23, parent:work@top
    |vpiName:o
    |vpiDirection:2
    |vpiLowConn:
    \_ref_obj:
      |vpiActual:
      \_logic_net: (work@top.o), line:1:23, parent:work@top
        |vpiName:o
<EMAIL_ADDRESS>  |vpiContAssign:
  \_cont_assign: , line:8:11, endln:8:40, parent:work@top
    |vpiRhs:
    \_constant: , line:8:39, endln:8:40
      |vpiConstType:9
      |vpiDecompile:1
      |vpiSize:64
      |UINT:1
    |vpiLhs:
    \_hier_path: (sram_otp_key_o[2].nonce), line:8:11, endln:8:25
      |vpiName:sram_otp_key_o[2].nonce
      |vpiActual:
      \_bit_select: (sram_otp_key_o)
        |vpiName:sram_otp_key_o
        |vpiIndex:
        \_constant: , line:8:26, endln:8:27
          |vpiConstType:9
          |vpiDecompile:2
          |vpiSize:64
          |UINT:2
      |vpiActual:
      \_ref_obj: (nonce)
        |vpiName:nonce
  |vpiNet:
  \_logic_net: (work@top.o), line:1:23, parent:work@top

Fixed by #1646


Create unit test

Create unit test for cpissues extension:

Define setUp: What does the test require or be in a certain state
Define test suite
And tearDown

Maybe take a look at "programming with assertions"

Useful commands @Luchassmed
Build image
docker build -t yourdockername .

Run image with credentials
docker run --rm --name yourdockername --env-file credentials.env yourdockername

Execute a script that is in the docker
docker exec yourdockername /shutdown.sh

Stop your docker
docker stop yourdockername

Different testing frameworks
Make the script a github action to test with already established github actiosn?

Hi @Hamsterpants and @Luchassmed a few taking points for tomorrow's session

[ ] It looks like you are sharing this branch - not a bad idea per se, but it builds us to have too much history - let's discuss why this is not always a good approach to have long-lived branches other than main. You need to merge back to main more often.
[ ] It looks like one of you is committing using the then name "Your name" (see here) Your git environment is not set up right.
[ ] In the test folder I see startup (set up?), shut down (tear down?) test (the test suite?) and a master to control it all. You mentioned that you had found a unit test framework - did you skip that?
[ ] I also see you have credentials and a docker file - cool you are trying to control the environment and make this generic - also looks like some of the things you are trying to achieve would be easier achievable if you tapped into devcontainers
[ ] In the end you want this to be an automated process, maybe have a workflow (#9) that run your test?
[ ] I wanted to give it a spin, but I need an instruction - I would usually go into a file named CONTRIBUTING.md
[ ] You are repeatedly using curl to access the GitHub API - why aren't you using the gh cli your approach does not look like the most obvious choice. (but definitely something a crazy GPT would suggest!)
[ ] Cool that you enabled debug mode consider making this option available without actually creating at new version of the file - the debug mode should be accessible as a configuration (ENV variable or switch)
[ ] It's my understanding that you are doing your project management elsewhere; that you set up at Miro board (or something) - you need to come back (home) to GitHub and use the issues and the projects here.

Maybe you have some comments your selv, somthing that you would like to have on the agenda for tomorrow?

Test cases:

Correct number of issues copied
Successful copy of body
Issue already exist
No issues with label
No label found
Wrong syntax usage

Source issues:

Issues to be copied lives in gh-issues/issues


Neuromorphism Background

Add a neuromorphism background inside Backgrounds components.

can i work on it? please assign it to me under SWOC

Assigning this neumorphism background task to myself. I'll take care of implementing the neumorphism styling for the 'backgrounds-component'. Planning to follow these steps:

Identify the component in the HTML file.
Create or modify the CSS file to add neumorphism styling.
Include the CSS file in the HTML.
Optionally, handle JavaScript logic in the JS file.
Customize the styling parameters for the neumorphism effect.
Test the changes in a web browser.

I'll keep you updated on my progress. Let me know if you have any specific preferences or requirements for the neumorphism design.

Hey @Rakesh9100  According to the "first come, first serve" rule, I believe I am the eligible candidate to address and resolve the current issue. I kindly request you to assign this task to me. I respect your decision in this matter.
Thank you.

hi @Rakesh9100, I can do this task if you assign this to me. I request you to assign this task to me.

hi @Rakesh9100, I can do this task if you assign this to me. I request you to assign this task to me.

Here is sample of this effect.
can oyou assign this task to me.

@itsmeabhishek03 Assigned, Start working!!

@itsmeabhishek03 are you still working on it?

@itsmeabhishek03 are you still working on it?

Yes it's almost complete I will raise PR today


TRIVIAL: add missing docker/.config file

It is not possible to release the library from CIng without it.

Build succeeded (check pipeline).

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-css-style-merge-compliance-check/1/ : SUCCESS in 16s


added imap to list

IMAP (Internet Message Access Protocol) is a standard email protocol that stores email messages on a mail server, but allows the end user to view and manipulate the messages as though they were stored locally on the end user's computing device(s).

Great idea, thanks!


reflect: remove unused ifaceIndir function

Go version
devel go1.23-95a3779ebc linux/amd64
Output of go env in your module/workspace:
GO111MODULE=''
GOARCH='amd64'
GOBIN=''
GOCACHE='/home/iant/.cache/go-build'
GOENV='/home/iant/.config/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='linux'
GOINSECURE=''
GOMODCACHE='/home/iant/gopath/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='linux'
GOPATH='/home/iant/gopath'
GOPRIVATE=''
GOPROXY='https://proxy.golang.org'
GOROOT='/home/iant/go'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/home/iant/go/pkg/tool/linux_amd64'
GOVCS=''
GOVERSION='devel go1.23-95a3779ebc Thu May 9 22:12:20 2024 +0000'
GODEBUG=''
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='gcc'
CXX='g++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build927346917=/tmp/go-build -gno-record-gcc-switches'

What did you do?
https://go.dev/cl/583755 removed the ifaceIndir function from the reflect package.  Unfortunately, ifaceIndir is accessed using go:linkname by the popular github.com/goccy/go-json package.  A bug has been filed to fix this upstream: https://github.com/goccy/go-json/issues/506. Until that bug is fixed and the fix is distributed, we need to keep ifaceIndir available.
I'm filing this bug so that we remember to remove it.  With luck we can remove this in the 1.24 release.  Marking as a release blocker to make sure we consider it for 1.24.
What did you see happen?
ifaceIndir present.
What did you expect to see?
No ifaceIndir.

I think we can close this issue as done. We've documented why ifaceIndir needs to stay, as part of #67401.


Website updates for launch

[x] Update landing page (logos and colors)

[x] 	"swoosh" logo (big) in hero instead of white text
[x] 	Something space themed for the background instead of the purple triangles (or change the colors of the existing triangles)
[x] Color scheme according to style guide (guide is in google drive)

[x] Update signup link to “member join form” (free version)
[x] Board roster
[x] Link Bylaws
[x] Link Constitution
[x] Intro statement on home page (can grab from the facebook page)
[x] Facebook link
[x] Events Calendar
[x] Legal disclaimer (in footer of every page)

Join as a member Form Link: https://forms.gle/3zzuRioefkpKgzDy9

Sections (Link Tree):

Home
About Us

Board Roster

Docs

Style Guide - color codes
https://docs.google.com/document/d/1Hgx_T9G9_DYAkqmO5fxC1Eb2Gzect669h9KrenbUSFk/edit?usp=sharing

style guide in marketing on shared drive

Events we already know we want on the calendar:

Brunch on Sunday March 10 (Andy to coordinate)
Launch social on March 20 at Proud Bird

Ideas for brunch:

Uncle Bill's Pancake House
Sloopy's
King's Hawaiian

Shareable link to public google calendar: https://calendar.google.com/calendar/u/3?cid=bWlsc3BhY2VjbHViQGdtYWlsLmNvbQ

Calling this one done for right now. Will open new issue with further changes.

This all looks good - a small wording addition:
on the landing page - under the blurb about the club, if we can add a new paragraph with a line break between them, just above the "join now button"
Join now and receive a FREE membership trial, now through July 31, 2024!

I will create a new small logo to upload instead of the small rocket hands icon for visibility on tab.

connect with us on Facebook link on every page

Courtney's name might be misspelled double check I believe it's Travaglini

Updated Courtney's name and added the new line to the home page. Facebook link on every page will be a bit harder to do in a way that looks nice. Would you want it at the top in the navbar or at the bottom in the footer?

Top nav bar would work!
On Mon, Feb 26, 2024 at 1:10 PM Andy Roth @.***> wrote:

Updated Courtney's name and added the new line to the home page. Facebook
link on every page will be a bit harder to do in a way that looks nice.
Would you want it at the top in the navbar or at the bottom in the footer?
—
Reply to this email directly, view it on GitHub
https://github.com/milspaceclub/website/issues/4#issuecomment-1965283479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BGNT4XL5HSIQKSHZR3PUOWTYVT22XAVCNFSM6AAAAABDYJ6IY2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVGI4DGNBXHE
.
You are receiving this because you commented.Message ID:
@.***>

Changed it to the facebook logo. Let me know if you like that better or if you want it back to the word "facebook". If you're happy with it and ready for it to go live go back over to the pull request #5 and click the green merge button

the font on the landing page for the blurb turned back to black with the update and is hard to read, can we correct that back to white text?


Error

File "/home/yossef/PacketWhisper/packetWhisper.py", line 141
print "Select time delay between DNS queries:"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?

You probably tried to run the utility with python3. Using python2 instead does the trick. Just do it like this: python2 packetWhisper.py.


CIV-11516 Content change for LiP Small Claims DQs

JIRA link
https://tools.hmcts.net/jira/browse/CIV-11516
Change description
CUI R1 - Content change for LiP Small Claims DQs
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

please make sure you're using same formatting of the rest of the team

fixed formatting issues


Update test.styles

Found some issue, e.g. results score, can you check with @manudous ?
Results window:

Similar is just results screen need some tweakin

g

Sure


Allow extensions to disable built-in markdown preview button

Adds a flag for the "Open Preview to the Side" button displayed for markdown files. This makes it possible for extensions to hide this button when desired by setting the flag to true. For example, extensions can now use the following line to disable the preview button:
vscode.commands.executeCommand("setContext", "hasCustomMarkdownPreview", true);

Issue: https://github.com/microsoft/vscode/issues/136388
Regularly:

With the default markdown preview button disabled by an extension:

To help us track this work, can you also please open an issue that briefly describes the problem this PR fixes

To help us track this work, can you also please open an issue that briefly describes the problem this PR fixes

Thanks for the feedback @mjbvz, I updated the keyword used, and created and linked an issue. Please let me know if anything else needs to be done on my end.

Thanks! Will be in the next VS Code 1.63 insiders


NMT doesn't properly handle out of order data

due to the way nsqd currently fills over traffic from a in-mem to via-diskqueue channels (by selecting on them), it can arbitrarily reorder your data. ideally if the in memory channel is always empty this shouldn't happen but maybe due to minor hickups. we can see if increasing the size of the memory buffer helps though obviously then we would incur more data loss in case of an nsqd crash.
@woodsaj confirmed this by feeding data into nsqd in order, and have an NMT consumer with 1 concurrent handler, and the data was out of order.
I've had conversations with Matt Reiferson (of nsq) seeing how feasible it would be to add simple ordering guarantees to nsqd, even if merely per-topic per nsqd instance.  but even that seems quite complex/tricky and would require a different model for requeues, defers, msg timeouts etc and would be a drastically different nsqd behavior, even with https://github.com/nsqio/nsq/pull/625
his recommendation was to use an ephemeral channel to always read the latest data to serve up to users from RAM, and just drop what we can't handle, an additionally use a diskqueue backed channel which you read from and store into like HDFS, so that you can then use hadoop to properly compute the chunks to store in archival storage (i.e. go-tsz chunks in cassandra) even on out of order data.
though this seems like far more complexity than we want, although i like the idea of separating in-mem data and archival storage, that seems to let us simplify things. but using hadoop to work around poor ordering after the fact...
what we can also do:

current approach, but keep a window of messages which we sort, let's say of 10seconds long, and after 10s we can assume we have a good order and decode the messages and commit their metrics to go-tsz chunks and we wouldn't have much risk getting chunks that are >10s late. but of course then it will also take 10s for data to start showing up when NMT responds to queries. hmm well i guess the query handler could also look through the messages in the window and pull data from there.
related idea: don't explicitly keep a window of messages to sort, but keep simple non-go-tsz-optimized datastructures of points (like simple arrays of uint32-float64 pairs) so that the metrics of all new messages can immediately be added and are available for querying. whenever the data is getting old enough to move to cassandra, that's when we generate the chunks, at which point the data should be very stable.
however this means for update operations we might commit the wrong values if the 2 writes for the same slot happen in the wrong order (though we're not currently doing any updates) and also it would be less RAM efficient to keep the data in such arrays.

note that in both above approaches we assume ordering of messages is all we need.
in reality messages from the collectors can contain points for different timestamps (and this is hard to address in the collectors per AJ) so in NMT we would have to order the actual points, not just the messages.

It should be noted that this is really on a problem when trying to back fill data (ie sending 24hours of data in the span of a few seconds).   under normal operation data wouldnt see this problem.

We really cant afford to let this block us from getting NMT into production.
The way that is see it is that NSQ is just the wrong solution for this problem.  The primary reason for using NSQ was to allow metrics to be buffered to disk when we couldnt process them due to faults.  If writing to disk causes the messages to then be sent to consumers out of order, that is a huge problem (it wasnt a problem for kairosdb as we didnt really care about ordering).
Buffering messages for 10seconds just introduces more issues.  Either we ACK the messages immediately and then risk losing up to 10seconds of data when NMT restarts, or we delay the ACKs for 10seconds and put additional pressure on NSQ causing it to buffer to disk and compound the ordering problem.  Additionally, under normal operation metrics will generally be spaced at least 10seconds apart anyway.
So i really feel that we should just accept NSQ is the wrong tool for this job.  We dont have time to change it right now and it will be good enough in the near term. This problem will only introduce itself when there is an outage causing metrics to be buffered on the collector, in grafana or in NSQ for more then 10seconds. And even then, the worst case scenario is that we drop some metrics for the duration of the outage.
Moving forward i think we should just move to using Kafka, as it will also help us address the fault tolerance and scaling issues of NMT.
@Dieterbe thoughts/comments?

yeah it's unfortunate that when we addressed the original scope of the raintank-metrick (nsq) work we didn't have the foresight for the needs around data aggregation.

we delay the ACKs for 10seconds and put additional pressure on NSQ causing it to buffer to disk and compound the ordering problem.

what additional pressure? we had this convo before, nsqd doesn't have a performancy penalty from delayed or out of order acks. (i have not personally verified that, but a lot of people - nsq users and developers - would be quite surprised if it was the case)
also keep in mind that nsqd is undergoing refactoring to send all data through a WAL which is basically a disk backed FIFO (no more separate memory vs disk channels) (see the link in OP), it's just that the message delivery will still be based on an out-of-order model. we will probably effectively have an order much closer to natural time sorting if we use this new mechanism. likely we can even achieve guaranteed ordering as long as we have a single thread/connection and make sure messages don't timeout and trigger a requeue, we also don't do any defers.
i wonder what @mreiferson thinks, i don't remember asking him this in such a a specific way.
i thought you had several arguments against kafka (what were they again?),
to me it looks operationally quite complex and much of that is due to features it has that i'm not sure we actually need. like for any given stream (metric) we only have 1 writer so we don't really have to orchestrate ordering across different machines due to having multiple writers.
we seem to agree that nsq will probably be ok for a bit longer but let's try to get a really detailed picture of our current+future needs before starting a migration to kafka

what additional pressure?

Memory pressure. If you delay acks then NSQ will consume more memory resulting in more messages being sent to the diskqueue.

i thought you had several arguments against kafka

I really like Kafka. We were using it, but moved away from it due to problems with the NodeJS zookeeper library.  We also had some issues with just keeping Zookeeper up and running with large message rates, but i see the latest Kafka can now handle tracking the read offsets of consumers itself, which was the majority of the workload for Zookeeper. http://blog.cloudera.com/blog/2015/07/deploying-apache-kafka-a-practical-faq/
I also agree that NSQ will be ok for a bit longer.  I just dont want any more time sunk into trying to make it do something that it is not designed for.

Memory pressure. If you delay acks then NSQ will consume more memory resulting in more messages being sent to the diskqueue.

maybe. i'm not sure the case where we ack immediately causes significantly less stress on the disk queue. for example, the delay between message going into the memqueue and being acked may be too long compared to the rate of inbound messages and may send the vast majority of messages to diskqueue anyway even if you ack "quickly".
well that's good news re kafka. there's also a rich ecosystem around it (spark etc).
a benefit of nsq is that it's easy to deploy, flexible in what kind of topology we want to build and arguably much easier (due to its simplicity and being in go) to dive into the code and tweak it for our needs.
if we can't actually build something that meets our needs then of course we'll need to switch away at some point, but i think there's value in exploring further how we can mold nsqd to meet our needs, especially with the big WAL refactoring.  but this could be a timesink and cost more time than just switching to kafka, i'm not quite sure how much time that would take.  i presume its Go libraries have matured by now

we should also think about what should the desired behavior be in case the pipeline (whether nsq or kafka) accumulates several seconds, minutes, or hours worth of data.
let's say we had an NMT/network outage and the pipe has 4 hours worth of data. instead of resuming where we left off and gradually catching up from the past until now (which may take hours), it may make more sense to start getting the current data (say 5 min ago til now, and then a realtime feed of current data) and only then start backfilling the old data.  that is what's needed for alerting to be most reliable and probably also the most valuable to people looking at graphs.

This is a good point. though much lower in the prio list than other items.  This would be hard to impliment in code though, as we know data needs to be processed in order.  What i think would work though is if a outage is detected, or simply a large backlog of data detected:
Spin up a new node running NMT, configured in dry-run mode.  Then point graphite at it.  This will allow the graphite queries to get the latest data from Memory (other queries will get a combination of memory and C*) while the existing cluster works through the backlog..  Once the backlog is cleared we can just switch graphite back to the original NMT node(s).


net/haproxy: service fails to start when real server DNS does not resolve

I do have several backend servers (real servers) which are accessible only when VPN is up, which is not 100% of the time. These DNS entries can be resolved only when the VPN is up.
I observed that haproxy service fails to start when any of the DNS entries from that list fails to resolve, and that has serious reliability issues.
I am not sure if this is haproxy specific bug but it clearly worth being documented. Maybe someone known how to implement a workaround for this?
IMHO, DNS failing to resolve should be treated the same as an offline server.

I am not sure if this is haproxy specific bug but it clearly worth being documented.

It's not a bug, it's the way HAProxy is designed. The HAProxy developers decided that it would be better to abort startup when the configuration is not working (which is the case when DNS names can't be resolved) instead of starting with an incomplete or nonfunctional configuration.
You should try to solve your DNS resolution issue. Either by setting up a local DNS cache/slave/whatever or by using IP addresses instead of DNS names in HAProxy's configuration.

I have to correct myself. While I'd personally prefer the way HAProxy behaves in it's default configuration, an option is available to control HAProxy's behaviour with regards to DNS resolution:
defaults
    # never fail on address resolution
    default-server init-addr last,libc,none

Source: http://cbonte.github.io/haproxy-dconv/2.0/configuration.html#init-addr
I'll add support for this option in one of the next releases.

Indeed, for the moment I replaces the two DNS entries with statip IPs and this should workaround the issue.
I have ~10-15 backend servers there (containers), the chance of having one down when haproxy starts is clearly bigger than 1%. Being able to configure this behavior is probably the best approach. Thanks.

While setting default-server init-addr last,libc,none would allow HAProxy to startup it will never retry the DNS resolution. Meaning that even if your container resolves after a while HAProxy won't start proxying requests.
I believe a better fix would be to create a resolver https://cbonte.github.io/haproxy-dconv/2.0/configuration.html#5.3.2 . Sadly this is not possible yet in the web UI.
This would also make proxying to backend registered to OPNSense via DHCP work more reliably.

I believe a better fix would be to create a resolver

Could you provide an example for a resolver section that would solve the OP's issue?

I believe this should work:
resolvers local
  nameserver local <IP_ADDRESS>:53

and
resolvers local

in the server line like:
server s1 app1.domain.com:80 check resolvers mydns

I can try to test this next weekend to see if it integrates well with DNS & DHCP

In the upcoming release 2.24 of os-haproxy the following new features will be available:
Settings -> Default Parameters -> DNS Resolve Order
This new option should resolve the OP's issue. You just need to add "none" at the end of the list. Now unresolveable hosts are no longer a FATAL error, but will only issue a WARNING instead. This allows HAProxy to startup even when DNS does not resolve.
Next add a "resolver". This way HAProxy should retry to resolve the address:
Advanced -> Resolvers -> Add
You probably need to use a high number for retries, but I haven't tested this.
Finally add the resolver to your "Backend Pool" (advanced option) and apply the configuration changes.
I'd love to get some feedback, because in my environment I oculd not fully test the "resolvers" feature.

@fraenki I can looks into testing this but I'm not familiar how to install development version of the plugins.

@ovv This time there is no easy way to test, because there are too many changes in the pipeline. Besides that the new version involves a change to the configuration model (XML), and this probably breaks backwards-compatibility with previous versions. So I'm absolutely fine if you would test the final version of os-haproxy 2.24 when it becomes available. :)


Add a switch to handle start / stop until further notice

Make switchs options and add one to handle start / stop until further notice

still need to figure the command. /control/park returns no error but does not seem to work (at least when the mower is parked due to adaptiv weather)

Looks like the newer open API has a feature for this.
https://developer.husqvarnagroup.cloud/apis/Automower+Connect+API#/readme
Needs a body with "ParkUntilFurtherNotice"

Yes, Saw that . but I don't use this API since it has rate limit and would involve each user to get an API Key at least, and I fera nobody would be very pleased with that. Still trying however ;)


Catalog maker changes

Some small changes to the catalogue maker:

to create the correct number of batch files
to solve an error when extracting the level data
to create the batch files in the correct directory
add a count of the number of datasets scanned as well as the number of files

@ellesmith88 looks good to me.


Fixes crash displaying sprints

Fixes the following problem:
mntmn@thinkstein:~% jira sprint -s 1
****Found Rapid Board: Programmierer - Board
****Found Sprint: Dev Sprint 1 - February
/usr/lib/node_modules/jira-cmd/lib/jira/sprint.js:146
      issues.forEach(function(issue) {
            ^

TypeError: Cannot read property 'forEach' of undefined
    at pushIssues (/usr/lib/node_modules/jira-cmd/lib/jira/sprint.js:146:13)
    at displaySprintIssues (/usr/lib/node_modules/jira-cmd/lib/jira/sprint.js:160:5)
    at /usr/lib/node_modules/jira-cmd/lib/jira/sprint.js:189:11
    at /usr/lib/node_modules/jira-cmd/lib/jira/sprint.js:127:9
    at Request.callback (/usr/lib/node_modules/jira-cmd/node_modules/superagent/lib/node/index.js:586:3)
    at Request.<anonymous> (/usr/lib/node_modules/jira-cmd/node_modules/superagent/lib/node/index.js:133:10)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at Stream.<anonymous> (/usr/lib/node_modules/jira-cmd/node_modules/superagent/lib/node/index.js:714:12)
    at emitNone (events.js:72:20)

@talon-hartmann Thanks for the PR!


On error message, prompt user to refresh app before trying again.

If the user encounters a connection issue with their Ledger device, we should prompt them to refresh the app before allowing them to continue, as this happens to be the fix that resolves some connection issues.

Does this in any way affect ledger app? As far as I understand this, if there is a connection issue, the the app running on ledger does not know about this and thus it cannot react. This is probably something for companion apps to solve. In ledger-app-flow, the best we can do is to modify the error message thrown by Ledger's BOLOS (ledger operating system) in our JS layer.


add id so I can link directly to a row

Motivation
Changes

[x] Ensured that you have rebased your branch with this repo's latest master branch.
[ ] Ensured that relevant issues are linked, if this PR resolves any outstanding.
[ ] Added a screenshot for all UI changes (you can drag the file into this edit box and it will be uploaded).
[ ] Ensured that changes to auto-generated files have not been committed; in particular, *.html, *.csv and *.json files.

@bojanrajkovic isn't the timestamp historical?

No, it’s the scrape timestamp for the current run.  This whole time I was confusing rows w/ the state header. That's what I get for reviewing PRs while still in bed.


How to create blueprints from bicep?

Hi is there any guidance on creating Blueprints as code from Bicep?
As i cant see any examples, is this something we should be able to do in Bicep?

It's not something we would recommend, but it can be done. Here is the template reference for it: https://docs.microsoft.com/azure/templates/microsoft.blueprint/blueprints?tabs=bicep
We'd instead recommend taking the bicep code that deploys your resources and turning it into a template spec. John Savill has a good video on this topic:
https://www.youtube.com/watch?v=i4dEN0o1PHo
If you specifically need the blueprint locking functionality, there is no equivalent for that yet in template (and template spec) based deployments. For this and other lifecycle management functionality, we will be releasing something called deployment stacks next month.

Thanks Alex thats interesting, i had originally created template specs from bicep and then had problems with read only locks on the resource group not being removed quick enough when doing a pipleline release. The New-AzDeployment command pretty consistently thought the lock was still there.
Then found other issues with locks preventing web app auto scaling.
So turned to blueprints purely for the Rbac deny assignment way of locking. Since you dont recommend bicep creating blueprints sounds like deployment stacks is the way to go.
Am i right in thinking stacks does locking the rbac way like blueprints?
It sounds like bicep -> specs and stacks is going to be the recommended way forward for infrastructure as code?
When stacks is released next month do you know if thats as a public preview or GA?
Thanks
Jon

Am i right in thinking stacks does locking the rbac way like blueprints?

Right

It sounds like bicep -> specs and stacks is going to be the recommended way forward for infrastructure as code?

Right

When stacks is released next month do you know if thats as a public preview or GA?

The first release next month will be a private preview. Goal is to be GA by end of CY21.


feat(dispatch): added support for passing environment variables to si…

…mulators
closes #2793

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


Setting MODULEPATH via config.yaml

Add an option to add module directories to MODULEPATH via config.yaml.
Should close #347

coverage: 41.773% (-0.03%) from 41.798% when pulling cd852965370eb0f0c8684b82835c0f60d09a9f03 on jo-basevi:347-setting-module-use into c8e74243dd27c42129901efbcc82916e8113da84 on payu-org:master.

So a simple solution could be to add a list of directories to add to the MODULEPATH, e.g. moduledirs
module use by default prepends to the MODULEPATH, and it doesn't add the directory if it is already in MODULEPATH.
So there could be ordering differences. For example, if prior to payu run:
$ module use dir1
$ module use dir2
$ echo $MODULEPATH
dir2:dir1

And in config.yaml the order was
moduledirs:
    - dir2
    - dir1

MODULEPATH with remain dir2:dir1 while if module use wasn't run before payu run, the order would be dir1:dir2

I prefer a list of additional module directories than to defining an entire MODULEPATH, however redefining MODULEPATH will have the benefit of a concretised order of modules.
E.g. in config.yaml
env:
    MODULEPATH: /g/data/ik11/spack/0.20.1/share/modules/linux-rocky8-cascadelake:/g/data/hh5/public/modules:/etc/scl/modulefiles:/opt/Modules/modulefiles:/opt/Modules/v4.3.0/modulefiles:/apps/Modules/modulefiles

It could be nice grouping the user-defined enviroment modules and modulues directories together however that would add a breaking change to modules option..
e.g.
modules:
   use:
       - /g/data/ik11/spack/0.20.1/share/modules/linux-rocky8-cascadelake
   load:
       - parallelio/2.5.10-intel-2021.6.0

It could be nice grouping the user-defined environment modules and modules directories together however that would add a breaking change to modules option

Agreed that does sound like nicest option.
It is possible to keep backward compatibility by testing the return value of popping the modules value off the config dictionary and updating it to the new syntax. This is how it was done when collate transitioned from a boolean to a dictionary of options:
https://github.com/payu-org/payu/blob/c8e74243dd27c42129901efbcc82916e8113da84/payu/fsops.py#L80-L82

Thanks for that suggestion @aidanheerdegen! I've added that in

Nothings changed/added, I just squashed the commits so it's a little cleaner


Reproduction of machine translation results

Hi~
Is it possible to release SAGE's code for machine translation tasks?

Hi @zwhe99 , I have no upcoming plan of releasing it - I no longer have access to the server that stores the code, unfortunately.
However, it should be easy to implement yourself. Our implementation was based on fairseq. You might add an AdamW-SAGE class in https://github.com/facebookresearch/fairseq/tree/main/fairseq/optim following UnstructAwareAdamW in this repo.

Hi @cliang1453, I found that you define different param groups with different 'params_type' and 'weight_decay' here. Did you do the same in the fairseq version?


Line map bug on P8/LE

Hpcstruct can’t read the line map from binaries generate by IBM XL compilers at present. The version of libdwarf used by hpcstruct and Dyninst in HPCtoolkit doesn’t interpret the line map correctly. Libdw does understand maps produced by XL compilers. Plan: switch to newer Dyninst based on libdw.

This repository has moved to GitLab, please continue this issue there.


remove tegola.Geometry type from Map.Encode

The following functions have to be converted:

[x] basic.ToWebMercator issue: #622, pr: #625
[ ] simplify.SimplifyGeometry *
[ ] mvt.ScaleGeo
[ ] validate.CleanGeometry

Afterwards, the mvt package as a whole should be cleaned.
* Simplify geometry, as it stands, will probably not be converted. Rather, the new makevalid from https://github.com/go-spatial/geom will be used.

@ear7h I think you should skip validate.CleanGeometry as that what's @gdey is working on. I don't think we benefit from that porting effort. Instead, convert from and to the geom types around that step.

@ARolek I was just in the proccess of updating my original comment when you sent this, I included it in the list for information.


Board SASUKETTE not supported

Opening this asking to add board SASUKETTE to the supported boards.

Added, let me know if you run into any issues.

Worked as a charm! Thank you!


Debug failed

Hi,
I imported a new flash builder projet (air project) inside visual studio code.
I try to buis this project (Terminal/run build task / Actionscript compile debug).
But this error appear
command line
Erreur : la valeur de la variable de configuration compiler.library-path contient le jeton inconnu DCD_LIB_LOCATION.
The terminal process terminated with exit code: 4

Could you help me to solve that.
Best regards

Just putting the translation to English here:

Error: The value of the configuration variable compiler.library-path contains the unknown DCD_LIB_LOCATION token.

In your project's asconfig.json file, there is an invalid value in the library-path compiler option. It seems that you defined some kind of special DCD_LIB_LOCATION variable/token in your Flash Builder workspace settings. However, these special tokens are not translated into VSCode projects. You'll need to replace DCD_LIB_LOCATION with the real path.

thanks for your help it works.


In the channel page setting should be Maintenance mode.

Is your feature request related to a problem? Please describe.
It shows the setting instead of Maintenance mode. The functionality is working for maintenance.
Describe the solution you'd like
It should be shown the Maintenance mode instead of the setting, this functionality is working based on the maintenance mode. Here
Describe alternatives you've considered
No response
Additional context
No response

Checked and Found that the issue has been fixed, now it is appearing maintainance mode. Please check the screenshot here

Checked and Found that the issue has been fixed and PR have been merged, hence I am closing the issue,


Additional Wallet Endpoints

ToDO
Wallet- related Endpoints
Testing
closes #51

ToDO
Wallet- related Endpoints
Testing
closes #51

These are not just for the yoma agent right? These are end points that are used to manage my wallet. i.e a members, ecosystem or yoma agents wallet.
Thus I'm...

not sure the endpoint should be in the admin context, endpoint should just be prefixed by /wallet (as it is in acapy)
endpoint needs to have the fast api dependency that selects the correct agent based on the role provided - what can be done at this stage is to provide a place holder selecting function (suggestion is to call this all_agents) which for now only returns say the member agent or to make it easier the yoma agent while we wait for that selector function to be finalised.


[XamarinProfiler-MAC]: Accessibility: Color Contrast: MAS1.4.3:Table data Text in Progress bar in selected state under "Call Tree" tab of "Time Profiler" Profiler and "Call Tree/Snapshots" tab of "Allocations" Profiler are not having 4.5:1 color contrast ratio.

Steps to Reproduce
Scenario 1:

Follow the pre-requisite to launch the xamarin profiler application.
Select the Available instruments to "Allocations" and invoke next button. Invoke Start Profiling button.
3.This will invoke "Allocations" Profiling page. Navigate to "Call Tree" tab and invoke it.
Take the screenshot of table data of call tree tab (row) with progress bar in selected state. Verify the color contrast ratio of text in the progressbar using screenshot.

Scenario 2:

Follow the pre-requisite to launch the xamarin profiler application.
Select the Available instruments to "Time Profiler" and invoke next button. Invoke Start Profiling button.
3.This will invoke "Time Profiler" Profiling page. Navigate to "Call Tree" and invoke it.
Take the screenshot of table data of call tree tab (row) with progress bar in selected state. Verify the color contrast ratio of text in the progressbar using screenshot.
Navigate to "Snapshots" tab and take the screenshot.
Take the screenshot of table data of Snapshots tab (row) with progress bar in selected state. Verify the color contrast ratio of text in the progressbar using screenshot.
Refer the screenshots.

Pre-Requisite:

Install Xamarin Profiler.
Launch Visual Studio.
Create a project and build the solution.
Navigate to Run Menu Tab and Invoke it. Navigate to "Start Profiling" option and invoke it.
This will invokes "Xamarin Profiler" application.

Expected Behavior
Color contrast ratio should be minimum 4.5:1
Actual Behavior
Color contrast ratio is less than 4.5:1 i.e, 1.4:1 - 1.5:1
See the screenshots attached
User Impact
Low vision user will feel difficult in seeing the text
Screenshots

Environment
macOS High Sierra OSX version: 10.13.4
Visual Studio for Mac Enterprise version: 7.5.2(build 40)
Xamarin Profiler version: 1.6.3-400

Log File

Please add the following labels to this bug:
A11yMAS
Accessibility
MAS1.4.3
Xamarin-Profiler-MAC
Wipro


Explore an view that provides shortcut for all programming languages

Hi VS Code folks,
This is obviously long-term discussion but we have received feedback like this in our VS Code Java user survey:
“as we all know java is a verbose language why don't you guys add a seprate section to show shortcuts of every language this will make programmer's life easy  “
This leads us to think of an view that will display a shortcut for all available programming languages
thanks!
Nick

Keyboard shortcuts solve this but please re-open if not. I might be lacking context on what it means to show "keyboard shortcuts for a language"


Include of non-modular header inside framework module 'Realm'

Goals
Need to integrate Ream to my project. First time using realm . used cocopod and manual installation steps
Expected Results
Fail to add to my project ,
Actual Results
..../Pods/Realm/include/Realm/Realm.h:26:9: Include of non-modular header inside framework module 'Realm'
Steps to Reproduce
Install vai pod. and create model . and try to use it
Code Sample
just using your dog code example
Version of Realm and Tooling
Realm version: ?
tryed 1.0.1. and 1.0.0. both fails
Xcode version: ?
Version 7.2.1 (7C1002)
iOS/OSX version: ?
OSX 10.11.5 (15F34).
Dependency manager + version: ?

Could you share your Podfile

Here is my pod file
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!

target 'projectname' do
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'iCarousel', '1.8.2'
pod 'ReachabilitySwift', '2.3.3'
pod 'AFNetworking', '3.1.0'
pod 'FontAwesome.swift' , '0.7.3'
pod 'IQKeyboardManagerSwift', '4.0.0'
#pod 'MBProgressHUD', '0.9.2'
pod 'ObjectMapper', '1.1.0'
pod 'DrawerController', '1.1.0'
pod 'SCLAlertView', '0.5.0'
pod 'AlecrimCoreData', '4.1.1'
pod 'GoogleMaps', '1.13.2'
pod 'Cosmos', '1.2.3'

end

target 'projectnameTests' do

end

target 'projectnameUITests' do

end

@vimalprakashts please let us know if @quver's advice helps.
Generally this kind of issue can surface when Xcode or CocoaPods has a stale cache, which requires those caches to be cleared. We have instructions in our docs covering how to handle this: https://realm.io/docs/swift/latest/#reinstalling-via-dependency-managers

@jpsim  , after this error. I fallback to the plan core data . I will try this and give update very soon. and sorry for the late reply.

Hi @vimalprakashts,
Can you try uncommenting the line # use_frameworks! in your podfile (remove the #)?

@austinzheng there's an uncommented call to use_frameworks! a bit further down in the file too.

Hi @vimalprakashts! Just pinging this issue. Are you still having trouble, or were you able to get it working in the end? :)

I'm closing this issue now as we've never heard back. I hope the team could assist you to resolve your issue. But if you're still having troubles and want to give Realm another shot, feel free to comment back or open another issue anytime.

Hi Realm team,
I'm also experiencing the same issue in an existing project when installing Realm via CocoaPods. We're in the process of switching to Realm from Core Data (Realm Objective-C 1.0.2, Objective-C & Swift mixed project, Xcode 7.3.1). I've tried the steps specified at https://realm.io/docs/objc/latest/#cocoapods but that didn't work. The workaround that I'm currently using is to install Realm as a static framework.

@ntokozotep please file a new issue taking care to fill out the new issue template, including full steps to reproduce so we can help you.