a href="..." target="_blank" will not open in a new tab

I've made this change in two places:
public/styleguide/js/postmessage.js & core/styleguide/js/postmessage.js
based on @dmolsen's recommendation:
https://github.com/pattern-lab/patternlab-php/blob/713098396975a372c071e3b5af7632cdf82bf210/core/styleguide/js/postmessage.js#L31-L45
Then I ran generateSite.command and still... nothing :|
https://dl.dropboxusercontent.com/u/8464542/link.mp4
Thanks in advance!

@brianmccormack In addition to the changes you mentioned above, you'll need to also add the allow-popups property to the sandbox attribute of the iframe#sg-viewport found in the core/templates/index.mustache file (which becomes public/index.html) in order for the use of the target attribute on "a" tags to be allowed from within that sandboxed iframe:
<iframe id="sg-viewport" sandbox="allow-same-origin allow-scripts allow-popups"></iframe>

@jsolis - it works!!! Thanks!

@jsolis That worked to have links open in the iframe (using target="_blank"), but I can't get anything to open in a new tab/window. Also, for some links I'm getting this error: "Refused to display 'https://twitter.com/dmolsen' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'." when launched from a link like this Dave Olsen

@lostsatellites-
I'm pretty sure the X-Frame-Options issue is because of your server and
not because of Pattern Lab. The header prevents "frame busting." If it's
enabled then I doubt there's a good workaround. Sorry.
On Mon, May 18, 2015 at 10:01 AM, lostsatellites<EMAIL_ADDRESS>wrote:

@jsolis https://github.com/jsolis That worked to have links open in the
iframe (using target="_blank"), but I can't get anything to open in a new
tab/window. Also, for some links I'm getting this error: "Refused to
display 'https://twitter.com/dmolsen' in a frame because it set
'X-Frame-Options' to 'SAMEORIGIN'." when launched from a link like this Dave
Olsen http://twitter.com/dmolsen
—
Reply to this email directly or view it on GitHub
https://github.com/pattern-lab/patternlab-php/issues/234#issuecomment-103069541
.

--
http://dmolsen.com

@lostsatellites - @dmolsen is correct.  See this:
https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options

The X-Frame-Options HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a <frame>, <iframe> or <object> . Sites can use this to avoid clickjacking attacks, by ensuring that their content is not embedded into other sites.

And if you inspect the document response from twitter, you can see they are sending that header:
x-frame-options:SAMEORIGIN

@jsolis -
Thanks for providing more detail on that.

Thanks to both of you, that's helpful info.


[BUG] GoW4 starting in Background

I have been using your program fine with FH3. Yesterday I tried adding GoW4 to my steam list which worked fine, but every time I tried to start it through steam it runs in the background. When started from the start menu it runs fine.

Could you please try re-adding it? It works fine for other people and the program calls a function to put the Gears window on the foreground. Also check in the options if the streaming mode is enabled.

It only works with streaming mode is disabled, with it enabled it runs in the background.

Hello Brian,
Just wanted to add that I was having the same issue. Also, the performance on the steam is really bad on Gears.

@beastlove Running the game from Steam and running it normally using the live tiles is giving you guys different performance?

@tdmike are ou using in-home streaming? that option should only be enabled if that's what you want.

Hi Brian,
It will not launch from the steam link at all. I see the UWPhook program pop up for a second and then I am returned to the game page on the steam link. The same happens when I run the game from the steam client on the host PC. Checking in the task manager I can see Gears of War 4 running but it does not appear on the screen.
The only way I got the game to work was to exit big picture mode on the steam link. Go to the xbox app within windows on launch the game that way. Performance is a bit rubbish doing it this way.
To be fair.  Also, performance for streaming might not be perfect because Steam streams the whole desktop in order to stream a UWP game.

@BrianLima I did enable the streaming mode, but that didn't work. Minecraft is the only other game I have and that works OK.

Im having the same issue with it disabled.

I just wanted to say that I'm also experiencing this issue with GOW4. I've added it correctly to steam. When I launch the game through Steam on the Host PC, it shows the UWPHook screen briefly and then disappears. Nothing else launches. If I open up the Task Manager, it shows Gears of War 4 as a background process. I can't quit Steam until I kill that process. I do have Streaming enabled in UWPHook. My main goal is to be able to stream the game to another PC in my Living Room. Just wanted to jump on and let you guys know that this appears to be an actual bug and not something isolated to a few people. I am running the latest version of Steam and Windows 10 on both computers. I also tried the beta version of Steam and the issue still happened.

I'm looking further on the issue @Jbbrack03, but i still have no idea what is causing this issue

I appreciate you checking into it. Its got to be something with either Gears Update 2, the latest Windows 10 update, or the latest Steam update. If I leave Streaming turned off in UWPHook, I can see the Gears cursor and hear sound on the remote computer, but no video. I've also reinstalled Gears and Steam. I've tested streaming to two different client PC's. Something is affecting UWPHook's ability to bring Gears to the front with streaming enabled.

It shows no video because UWPHook must make Steam stream your whole desktop in order to make Streaming work with UWP apps and games. It's just Windows and Steam not talking very well with each other, reinstalling probably won't change anything.

I think we are really close. I tested again with Streaming enabled. I could hear sounds from Gears when I launch the UWPHook shortcut from Steam.  If I try to launch it via Streaming, I get my full desktop from the host PC on the client PC. If I attempt to then bring Gears to the front, the stream freezes and crashes. Hope that this helps.

Having the same issue, if i activate Streaming Mode i only hear sound an no picture and if i switch it off the performance is bad and still cant get the controller to work

Hi people, I just uploaded a new release, could you please download it, check if streaming mode is enabled and try it again?
@Daywalker442000 @Jbbrack03 @BarterClub  @tdmike @beastlove

Yes! I can confirm that it's now working perfectly for me. I'm also able to use my Steam Controller with the game and it works perfectly. Thank you very much for working on this for us! I was able to get it to stream through my Steambox.

That's the behavior I found also, the game threats everything as keyboard, Steam now has a Xbox 360 controller configurator, i'll be working with that in the future, i'm glad it also worked for you!

I'm very happy with this working. The Steam Controller is a better controller than the Xbox 360 or Xbox One. The biggest thing that I miss is getting the controller UI in GW4 that you would get if it detected an Xbox Controller. Other than that it's absolutely perfect at this point.


[staging] coreutils: 8.27 -> 8.28

Motivation for this change
Update, CVE-2017-7476
Things done

[X] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Picked to 17.03 and 17.09, too.

This completely breaks Darwin on 17.09 and staging, for what it's worth 😄 only because we had a patch from this version that doesn't apply cleanly anymore.

@copumpkin That's why we stage these things :D

Hmm, that cygwin-specific patch also doesn't apply anymore.  It doesn't print the usual simple "reverse patch detected", so just removing it might not be enough.

Actually, that one didn't apply on 8.27 either :-)  so I suspect cygwin is broken a lot in nixpkgs nowadays.


Trying to install/update WSL on Windows Server 2022

Windows Version
Microsoft Windows [Version 10.0.20348.169]
WSL Version
1
Are you using WSL 1 or WSL 2?

[ ] WSL 2
[X] WSL 1

Kernel Version
No response
Distro Version
No response
Other Software
No response
Repro Steps
wsl --update
Expected Behavior
it would update to latest version
Actual Behavior
Checking for updates...
The Windows Subsystem for Linux kernel can be manually updated with 'wsl --update', but automatic updates cannot occur due to your system settings.
To receive automatic kernel updates, please enable the Windows Update setting: 'Receive updates for other Microsoft products when you update Windows'.
For more information please visit https://aka.ms/wsl2kernel.
Diagnostic Logs
No response

There is more information on the link that's printed by the error message, but you seem to have Microsoft updates disabled.


Update contributing file

Changes proposed in this Pull Request:

Add collected info for contributing

Do we have the BSD-3-Clause license file somewhere specific or is it just inserted per repo

Do we have the BSD-3-Clause license file somewhere specific or is it just inserted per repo

It's on a per-repo basis right now, but we can add a copy of it to this .github repo to refer to it it a common place.


Test that $.create makes a div by default

Adds a test for #13. Now we don't have to hope it works ^^

Awesome, thanks!


Set up CI/CD Pipeline For Publishing to Nuget Package.

Set up CI/CD Pipeline For Publishing to Nuget Package.

Done.


Update dev_requirements.txt

Update dev_requirements.txt to release https://github.com/Azure/sdk-release-request/issues/5458

/check-enforcer override


Awesome template does not generate a .tex file

Hello,
making a CV with the awesome template: hackmyresume BUILD test.json to test.all -t awesome does not generate a .tex file for further processing.
Please see below:
Resume_generator $ hackmyresume BUILD test.json to test.tex -t awesome
*** HackMyResume v1.4.2 ***
The awesome theme doesn't support the tex format.

Resume_generator $ hackmyresume BUILD test.json to test.latex -t awesome
*** HackMyResume v1.4.2 ***
The awesome theme doesn't support the latex format.

 For more info, see the
theme README at
https://github.com/fluentdesk/fresh-themes/blob/master/themes/awesome/README.md."
Resume_generator $ find . -name test.tex
Resume_generator $ find . -name test.latex
Resume_generator $

Thanks for the heads up, investigating.

.latex file is not generated with 1.6.0 (please see below)
hackmyresume BUILD test.json to test.latex -t awesome

*** HackMyResume v1.6.0 ***
Applying AWESOME theme (1 formats)
Generating LATEX resume: test.latex
The AWESOME theme says: "Don't
forget to run 'xelatex <myresume.tex>' in the
generated latex/examples folder to complete your
resume build! For more info, see the theme README
at
https://github.com/fluentdesk/fresh-themes/blob/master/themes/awesome/README.md."

$ find . -name test.latex

Hi, 1.6.0 is still in progress but we'll double-check the AWESOME generation and hopefully get this closed out today.

Unable to reproduce this issue in 1.7.x. Closing, but feel free to comment or open another issue if you're still experiencing this.


Reference implementation of OpenQASM 3.0 AST in Python

Summary
A reference implementation of OpenQASM 3.0 AST in Python. It consists of:

ast.py: The AST nodes.
parser/antlr: A parser based on Antlr grammar and reference parser also found in this repo.
It walks the ANTLR parse tree to generate the AST tree.
ast_visitor: A base AST visitor and an example showing how to implement compiler passes
using the visitor.
tests: A set of unit tests.
README.md on details for developers to build and test.

Details and comments

It is built on Antlr parser. It uses the generated qasm3Visitor so it is necessary to pass -visitor option to antlr command to generate the visitor.
It uses black to format the code, pylint to check the style and pytest to run unit test. The configuration for black and pylint are in open_node/pyproject.toml and open_node/.pylintrc respectively.
It uses .github/workflows/tests-ast.yml to run CI/CD.

A few things to consider:

Is package naming/directory structure desirable?
Shall we combine with requirements*.txt under grammar or maintain separate ones.
Shall we combine with .github/workflows/tests-grammar.yml or maintain separate ones.

We have a Fall mentorship project to build a reference implementation and we will be looking at "stealing" @aspcompiler 's open source code for the qasm -> ast stage 👍🏾

@jakelishman, our parser, i.e., taking OpenQASM as input as generating AST tree as output, uses the parser generated by Antlr.  Therefore, you can see it references openqasm_reference_parser. Do you suggest that we hide the Antlr generated code inside our package?

@aspcompiler: If it were up to me, yeah, that's what I'd do - openqasm_reference_parser doesn't really supply any functionality other than a very basic tree-printer of the raw parse tree.  When we've got a proper implementation with a reference AST-generation step, it might be simpler for other users to understand the package if we only have that - I don't see any benefit to the current openqasm_reference_parser, since we could just have the instructions and build processes generate the grammar into your tool (or whichever ANTLR-based reference) instead as part of its build system.  I can't speak for the others, but I'm certainly not opposed to completely deleting openqasm_reference_parser in favour of an actual reference parser.
If we really wanted to start packaging it up correctly, we might be better with a proper CMake step to detect the ANTLR command and generate the Python files, so it can all be handled automatically.  I didn't do that with the super simple package that's in the repo right now because it seemed like overkill at the time, and I never had intentions that that parser would have any serious development.

Just out of curiosity, can you paste some performance metrics for this? i.e. on circuits of progressively larger sizes, up to say 1000s of qubits and gates.

@ajavadia, we will run some benchmark. Could you point us to any previous benchmark work so we can take a look?
The time to parse code to AST is the sum of 1) the time taken by Antlr generated parser to parse to parse-tree and 2) the time taken to convert parse-tree to AST. The time taken by 2) is actually O(n) time so it is limited by the performance of Python language. The time from 1) depends on whether we optimize the Antlr grammar. Antlr is an LL(*) that allows arbitrary look-aheads. The grammar performs better when we minimize number of look-aheads. Therefore, the metrics depends very much on which part of the grammar is used. It is important to get good code examples to have good real-world estimate.

Would it be possible/useful to add some more tests of invalid QASM 3 statements, to ensure that the grammar and parser correctly reject them? I wrote several fairly simple examples in this directory that are run by these tests in openqasm_reference_parser: https://github.com/Qiskit/openqasm/blob/20be033b3fe28b87993cc53c05e60e48c11e5216/source/grammar/tests/test_grammar.py#L123-L148
They felt helpful to me for codifying some places where things shouldn't be allowed, but not sure how others feel.

@jakelishman, invalid statement tests are definitely useful. I will take a look of your tests.

@ajavadia , I did a test using pnnl/QASMBench Ising model (1000 qubits 10994 gates). The average Antlr parsing time is 31.4 seconds. The average translation time from parse tree to AST is 0.54 seconds. This is from my 2.6 GHz Intel Core i7 laptop. There is definitely a need to optimize the Antlr grammar.

Hi @aspcompiler,
We started to use your AST generator for the Qiskit Advocate Mentorship Program project on OpenQASM3 and found some things that might be considered as issues.
Here is a quick description of each, sadly I did not have the time to investigate the source of these issues yet:
# Code to get the AST from one of the example files in https://github.com/aspcompiler/openqasm/tree/ast/examples
from openqasm.parser.antlr.qasm_parser import parse

file = "adder.qasm"
with open(file, "r") as f:
    qasm_str = f.read()

ast = parse(qasm_str)

1. Qubits in gate definition are grouped
In the AST of adder.qasm, the following piece of code
ast.statements[0].qubits

returns a list with only one entry:
[Identifier(span=Span(start_line=8, start_column=14, end_line=8, end_column=20), name='a,b,c')]

I think it is supposed to be a list with 3 entries, am I wrong?
2. for sequence blocks are not parsed correctly
Still in adder.qasm, there is the following line:
for i in [2: -1: 0] { unmaj a[i],b[i+1],a[i+1]; }

The [2: -1: 0] is either wrong in the example, or wrong in the AST as the following happens:
decl = ast.statements[17].set_declaration
assert decl.start.value == 2, "OK"
assert decl.step.value == 0, "A step of 0 is suspicious"
# decl.end.expression evaluates to -1

3. Some files are not entirely parsed
The file t1.qasm contains a big for-loop that does not appear in the AST.
4. Support for negctrl?
In the OpenQASM3 paper some examples include a negctrl but the identifier negctrl is not present in the enumeration GateModifierName.
5. ConstantDeclaration.identifier is a str instance instead of Identifier
From ipe.qasm, the line
const n = 10;          // number of iterations

is parsed as
ConstantDeclaration(
    span=Span(
        start_line=7,
        start_column=0,
        end_line=7,
        end_column=12,
    ),
    identifier='n',
    init_expression=IntegerLiteral(
        span=Span(
            start_line=7,
            start_column=10,
            end_line=7,
            end_column=10,
        ),
        value=10,
    ),
)

but the attribute identifier should be an instance of Identifier instead of a raw string according to the AST typing.

Hi, @nelimee . Thanks for your feedback!

This seems to be a problem in the argument list construction. We will update the argument list construction.
This is because adder.qasm has a small mistake, the AST constructor will check if the step is 0 to avoid infinite loops. We will have to replace the range definition [2: -1: 0]  with [2: 0: -1]  then it will be correctly parsed.
This is not because of for loops, but related to the current way of handling defcal which is incorrectly parsed now. There is a new proposal for defcal, we will test if the new proposal solves this problem: https://github.com/Qiskit/openqasm/issues/246.
We will add it.
We will fix this.
Again, thanks for the useful feedback!

Hi @aspcompiler, we were in the process of using your QASM3 to AST generator for the Qiskit Advocate Mentorship Program project on OpenQASM3 and noticed a few bugs/potential changes...
1. No restriction on re-assignment to const types
Presently there are no restrictions on re-assignment to const types. For example, if I write the following code:
const my_const = 10;        // parses as a `ConstantDeclaration` statement
my_const = 5;               // parses as a `ClassicalAssignment` statement - WRONG

Shouldn't the AST gen step throw an error for statement-2 i.e. re-assignment to an immutable identifier?
2. 'bool' instead of NoDesignatorTypeName.bool
The newly added Cast statement does not use the NoDesignatorTypeName enum. For example, if I take the code:
uint[4] a = 1;
bool b = bool(a[0])

gives the output AST as:
Cast(
    span=Span(
        start_line=35,
        start_column=5,
        end_line=35,
        end_column=17,
    ),
    type=NoDesignatorType(
        span=Span(
            start_line=35,
            start_column=5,
            end_line=35,
            end_column=5,
        ),
        type='bool',
    ),

// Omitted irrelevant part

Here the NoDesignatorType.type should contain the value NoDesignatorTypeName.bool instead of 'bool'.

@AbeerVaishnav13: some quick answers, since I'm looking at this (but am not on the main author team).

reassignment to const: the AST can't throw an error on that, because it's about syntax, not semantics.  The first pass of AST generation (which the reference implementation here is) doesn't generally track which identifiers are being assigned, and what their types are - that would most likely come in a later, compilation stage.

cast operator doesn't preserve enum: that looks like a bug to me.

@AbeerVaishnav13:  @jakelishman just answered 1. I just pushed a fix for 2.

What downstream uses do we expect from this AST, and from the visitor/parser? We would like to use a reference tree implementation in downstream packages to handle the "tree -> QASM" step, as well as the "QASM -> tree" step, and I'd like to have a concrete reference tree for tooling purposes. In that sense, I'm in favour of there being some tree that's able to completely represent every possible QASM programme, such that the conversion "QASM -> tree -> QASM" is entirely lossless, but what I'm describing for tooling is not an AST. The reference parser/visitor certainly doesn't need to support that lossless transformation (it can continue to throw away comments and includes). Might we want a reference concrete syntax tree as well?

I would love to see someone contribute a concrete syntax tree (CST) for the purposes of developer tools. This would be helpful for editor plugins and refactoring plugins. CSTs are overkill for most compiler passes though as you point out since you have to keep track of line numbers, parenthesis, tab levels, etc etc

Packaging: how are we going to package and distribute the various components in this PR? I'd probably like to see the AST released as basically an entirely stand-alone entity, and the reference parser/visitor in its own Python package, so downstream uses can depend on a super light Python AST module (potentially also with a concrete syntax tree?), without any extraneous code. It would also be good to release the reference parser and visitor as a public PyPI package, so downstream packages can depend on it for AST generation if they like.

I'd like to avoid the packaging burden of having too many packages. The visitor and transformer classes are very little code so I feel should be in the same package as the AST. The main concern would be the "ANTLR -> AST" code, since this requires an additional dependency of "antlr4_python_runtime". Maybe we can use Python extras to avoid installing that code if the user wants a pure Python AST.
For instance,
pip install openqasm3 would install a dependency-free package of just the AST and Listener/Transformer classes.
pip install openqasm3[antlr] would also install the the antlr parser as well, with the runtime dependency

There's still a couple of outstanding comments in the AST (us/µs in TimeUnit, a naming oddness around input and output, and the possible split of type handling), but only type handling is more than trivial.  If we're keen to get this in in the next couple of days, and if we're happy that we're not going to make any stability guarantees about the AST for now, I'm not opposed to merging without further discussion on the type handling yet.  At any rate, that's something we may want to also tweak in the grammar as well.
Thanks for doing all this Li and Yunong, and for the speed of changes you've been making after comments.  Thanks as well for putting the Include node in this tree despite the original design decision against it - that's going to help us a lot on the QASM generation side.
@stevenheidel: thanks for those responses - it's good to hear, and I think I align pretty well with everything you said.  On the point of packaging: I understand that concern against too many packages.  The idea of having the antlr4_runtime dependency gated behind an optional extra is good, and that would satisfy us for our downstream dependencies.  Similarly, it would be good to keep this pure Python with long-term Python version support (e.g. at least 3.7--3.10 on release), so we don't stop downstream packages depending on this because it's not available in the same environments.  This will probably already be the case, though, and while dataclass is a Python 3.7 thing, if we desperately want 3.6, we could swap to the external library attrs with only minor changes.

@jakelishman  Github collapsed some comments so I missed them; I will take care of them today. Thanks for the reminder!
I was not aware of the original decision decision against the include node. Could you point me to the discussion? What are alternatives?

Oh sorry, I didn't mean anything formal, I just meant about how you had (seemingly deliberately) left it out originally, and Yunong had commented that handling it would be easier by a preprocessor pass (https://github.com/Qiskit/openqasm/pull/269/files#r710654212)

Oh sorry, I didn't mean anything formal, I just meant about how you had (seemingly deliberately) left it out originally, and Yunong had commented that handling it would be easier by a preprocessor pass (https://github.com/Qiskit/openqasm/pull/269/files#r710654212)

Yeah, sorry, the include part in the AST was edited by me, so Li might not be aware of it. With Hiroshi and follow up comments, I fully agree that we should have include node in the AST.

I see. I think include node provides flexibility whether to use a preprocessor. For those who preprocessed, the include statements were removed so the include node has no effect. For those who do not want to write a preprocessor, they can use this parser to parse each include files. The include node also allows the scenario that include file is at a different location, for example, the main qasm file is processed in one system, and then pass to another system that has calibration as defcal in an include file.

I made a PR (aspcompiler#1) to the base branch to change the field name "designator" to "size" for the types (since that's what it is), if people are happy for that.
Other than that incredibly minor nitpick, I'm happy with the AST as it is now.

I made a PR (aspcompiler#1) to the base branch to change the field name "designator" to "size" for the types (since that's what it is), if people are happy for that.
Other than that incredibly minor nitpick, I'm happy with the AST as it is now.

Merged your PR. Thanks, @jakelishman

@blakejohnson: oh perfect, thanks! I should have thought someone might have done a backport.

Per discussion with @aspcompiler @stevenheidel , we removed Qubit node in the AST to be consistent with variables of other types. For variables with Bit, Int types, they are all Identifier. Thus, we make qubit variables Identifier as well. We leave the type checking to semantic analysis performed in the AST.


Rationalize, and properly cast , sizes in dev graphics/gpu code (incomplete)

The goal of this PR is to remove the warnings you currently get when compiling the dev branch on x64. Almost all of those warnings occur when a size_t is stored in a u32.
Currently the dev branch stores all graphics-related sizes in uint32_t. This is considered safe because of asserts preventing buffers from being larger than 1GB so theoretically we just have to add casts. However I decided to create new types graphics_size and gpu_size (there have to be two because gpu.h and graphics.h do not either include the other) for two reasons: first off, if the limit is ever increased above 4GB then without a specific typedef it will be much much harder once the casts are added to go back and identify every place a size is squished into 32 bits; second off, I believe defining semantic types for sizes makes it easier to notice when bugs are present in size assignment code. As evidence for this argument, when I started going through and adding the graphics_size casts everywhere, I found two separate overflow bugs in size assignments, one potentially serious.
So now this PR has three goals:

Replace the uint32_ts that store size currently with gpu_size or graphics_size as appropriate
Add proper casts whenever size_t or VkDeviceSize is assigned to graphics_size or gpu_size
Make sure all places sizes are assigned to graphics_size. gpu_size or uint32_t really are safe

The gpu_size/graphics_size code was not exactly clean once I started writing it so maybe there is room to disagree on whether we should do (1). However, I think we do need to do (3), because I did find these two bugs (or at least, failures to assert where the code is currently attempting to assert):

measureTexture returns a size_t and then immediately gets assigned to uint32_t. It should return a 32-bit type to match texture size elsewhere in lovr, and either measureTexture or its call sites should check for overflow.
The lovrCheck asserts in lovrGraphicsGetBuffer, lovrBufferCreate and lovrTextureCreate that sizes are under 1<<30 are actually unsafe, because the first two multiply and store in u32 before testing for 1<<30, so they could overflow, and the third relies on measureTexture*. For example lovrBufferCreate with size 270000000 and stride 16 would overflow, pass the lovrCheck as success, and then do something wrong.

I partially implemented this patch but got stuck because these two decisions need to be made:

How should measureTexture handle the potential for overflowing the 1GB limit? lovrCheck? If we expect , how do we handle u32/u64 multiply overflow? I think my vote for now would be lovrCheck.
Because we're potentially going to be using it in more places, I would like to put the 1 <<30 size limit number in some kind of constant, and Bjorn in Slack recommended including it in GraphicsLimits. Where should it live? Or a different way of asking is, (a) should it be exposed in graphics.h? (b) should there be a copy of it in gpu_vk.c and/or gpu.h? From discussion with Bjorn in slack, I think the correct way to do it is to put the constant only in graphics.c (and report it up through GraphicsLimits**), because gpu_vk.c does not have anywhere it enforces the 1GB size limit itself (that is the job of graphics.c).

* The fact measureTexture returns a size_t almost saves us on 64-bit systems because multiplying two u32s will never overflow a u64, but measureTexture in some paths multiplies three u32s...
** However if it turns out any l_*.c files need to independently check if something exceeds 1GB, I might want to revisit this, because GraphicsLimits is a pretty big struct so declaring it on the stack every time just to call lovrGraphicsGetLimits could get annoying.

I am super on board with the goal here.  It's really important that there's no unintentional truncation, and passing a 4GB+ Blob to the graphics stuff should error properly.  I've been attentive to this, and adopted the 1GB limit as a constraint to help simplify it a bit (fewer 32 <-> 64 conversions).  But some things fell through the cracks, and it's good to fix them.
My initial impression about adding the size type: To be honest, I think the size types will add cognitive overhead while writing code (I'll need to second guess every time I write uint32_t), and I guess that is probably the point.  There is something lost by moving away from the simplicity of "everything is uint32_t".  I will probably forget to make something a gpu_size instead of a uint32_t a few times.
To answer your 2 questions:

The measureTexture thing is difficult.  One idea is for measureTexture to consider a u32/u64 overflow "unreachable code", and add nicer errors to lovrTextureCreate and the transfer function ("Texture too big", "Copy range exceeds texture size").
The 1GB limit is separate-from-but-related-to the integer narrowing.  There are 3 people that have their own limits for this:

The GPU driver has a limit of the maximum amount of memory it can allocate.  This is given by the maxMemoryAllocationSize limit, but it's in an extension (VK_KHR_maintenance3) so I'm too lazy to expose it right now.  It will always be at least 1GB.
core/gpu has its own limit of the maximum amount of "size" it supports.  Right now that's 4GB, because it uses u32 for sizes.  So if core/gpu was to expose the Vulkan limit to the graphics module, it would need to cap it to 4GB first.
The graphics module has a limit of the max GPU size it supports.  Right now it's arbitrarily set to 1GB to align with the hypothetical Vulkan limit.  So if the graphics module wants to expose the limit to Lua, it needs to cap it to 1GB.
Ultimately, my recommendation to "ossify" this constant somewhere would be to use a limit, since it will eventually become one.  The laziest way to do it would be to add it to GraphicsLimits hardcoded to 1GB, but nowhere else.  The least-lazy way to do it would be to add the Vulkan extension and bubble it all the way up to gpu_limits and GraphicsLimits, MINing it each time.  The moderately lazy way would be to add it to gpu_limits and GraphicsLimits, but not add the Vulkan extension.

consider a u32/u64 overflow "unreachable code", and add nicer errors to lovrTextureCreate and the transfer functions

The one that confuses me is lovrPassCopyImageToTexture. It calls measureTexture like six or seven times and I don't at a glance understand what it's for. Are these ranges inside existing textures? Does that mean they're all "proven safe" already?

The copy size is proven safe for the texture using checkTextureBounds, which should transitively mean the measureTexture call is safe (but it doesn't hurt for measureTexture to check for overflow anyway)

I think this is ready for review now. There is still time to withdraw graphics_size/gpu_size but I think it will lead to more accurate code long run.
I did not fully thread buffer size through the limits because it is "safe" to assume the gpu correction will always be greater than or equal to 1GB anyway (there is a comment documenting this assumption) and I did not do any fixups inside measureTexture because it turned out to not be necessary (?!?). It's possible I missed a measureTexture external safety check however.

Oh, and I did NOT fix the various multiply overflow sites I mentioned. Sorry. Maybe in another patch.

I fixed all the graphics.c warnings in a2ee485d4130ed9ed14e69c03cae2dcafc485c0d and marked you as a co-author

Since all but 2 of these are resolved, and I'm not opting for the gpu_size change atm, I think this can be closed...


Cauldron compability issue

Hello, TC generates map with errors (some biomes became water) if started as cauldron plugin, i dont know how to describe it, please look at screens:
http://grabilla.com/04a01-c01b9df9-6801-4e1f-b3f7-2d0d95731d36.png
(same TC configs, same map, same coordinates, no errors in console)

TC not work on Cauldron 1.7.10. I tried v2.6.3 and v2.7.0dev. Even version for mods folder - it requires to be installed on client side...

Closing, as bugs appearing on Cauldron aren't going to get fixed, unfortuntely.


Responsive letter-spacing

I'm currently using media queries for responsive letter spacing to increase letter spacing at smaller font sizes but would be great if they could be variables here. I know these are some very minute adjustments but they can make a big difference in overall typographic sexiness.
E.g.:
$min-font            : 12px !default;
$max-font            : 20px !default;
$min-font-spacing    : 1px !default;
$max-font-spacing    : 0px !default;
$header-font-spacing : -0.2em !default;

This is how  has done it with their new system fonts. @corysimmons any thoughts on this?

Seems complicated for a small payoff. I think maybe Typographic is already overly complicated, but I'm willing to examine a PR if you want to make one.
Appreciate this.

@corysimmons you're right about it being a bit complicated - but it's very capable though ;)
I don't have the time or skills to make a pr right now and what I'll end up doing sometime in the future (if someone else doesn't beat me to it) is making a typographic-light with this feature added and some other trimmed.
Feel free to close this issue or leave it open for someone else to stumble upon

Sorry it's taken me so long to respond. I have my ups and downs with being a good maintainer.
I'm planning on migrating this project to PostCSS in the next month or so, and when I do, I'll probably rewrite it from scratch.

Sorry I didn't take a proper look at this earlier. This seems pretty easy actually. It should be the same concept as scaling down the fonts, except we'd be scaling the letter-spacing.
I'll definitely try to add this feature to the next version of Typographic. Sorry again!

@corysimmons no worries, looking forward to it.
I tried simplifying the font scaling calc function in typographic using rem units but for some reason it doesn't work properly in safari (firefox + chrome works perfectly) - any idea why:
font-size: calc(0.875rem + (1.25 - 0.875) * ( (100vw - 20rem) / (40 - 20) ) );

It's possible Safari doesn't know how to add 0.875rem + 0.375?

Do you happen to know where the letter-spacing formula is that Apple is using?

Dropping a note here to use ch units for this.

safari had an issue with rem, em worked

unfortunately don't know the exact formula

Yeah I'm probably gonna drop rem's all together in favor of em's.

VICTORY ;)
But seriously, that's the biggest benefit of using EM's over any of the other relative units: they are very universal. As long as you never put font-size on a container but rather on the element itself, you'll never have the inheritance issues that so many people complain about. CH and CX are interesting, but unfortunately not very well supported yet.
Nice work Cory!

:+1: Sorry I didn't understand your point years ago. I think the PostCSS version will be cool. =)

No worries; probably my fault for not explaining it well enough :)

I thought it meant I couldn't be lazy.
Like once you start nesting with em's, many things become coupled/dependent on font-sizes higher up the chain.
I thought the rule you were trying to say was "Always use em for everything ever".
Now I realize you can use hard values to reset these font sizes wherever you want. http://codepen.io/corysimmons/pen/zrQaje?editors=1100 (not that all these need to be resetted)


Update csrf.rst

code block is broken here, in Usage section http://silex.sensiolabs.org/doc/master/providers/csrf.html
seems to be redundant colon

Closing as a duplicate of #1369


Metaphone3 testing improvements

Changes proposed in this pull request:

converts some dead code (main method from Metaphone3) into basic unit test for the Metaphone3 heuristic
exclude Metaphone3 from our coverage results, because it has a few orders of magnitude more instructions than the rest of our code, dominating the statistics reported in coverage results. It is a heuristic anyway (it will never be correct).

I also considered:

extracting Metaphone3 as an external library, either as a separate Maven module or moving it to a separate repository, but I am not sure anyone would want to reuse it
auto-generating many test cases for it for the sake of increasing coverage, but that's a bit pointless given that it will not actually add any testing value in my opinion. It's not worth the effort to write the tests nor the resources to run the tests as part of our test suite, I would say

extracting Metaphone3 as an external library, either as a separate Maven module or moving it to a separate repository, but I am not sure anyone would want to reuse it

Our version is a stranded fork of a now commercial product, so I agree this doesn't make sense.
https://en.wikipedia.org/wiki/Metaphone#Metaphone_3


File does not exist when building make.sh

Hello,
I want to try your 'depthconv' model however there seems to be missing object file to do make.
I have gotten this error message : gcc: error: /home/shgold/Documents/DepthAwareCNN/models/ops/depthconv/src/depthconv_cuda_kernel.cu.o: No such file or directory
There is missing file of 'depthconv_cuda_kernel.cu.o'. Could you help to fix this problem?
Thanks.

I met a similar problem, have you solved it?


MaxXor, please do not close this ticket. It still didn't worked.

Yesterday you closed my ticket, i tried what it said but nothing happend:) So please do not close this ticket.
Tried DNS configuration - Google
Tried Ip Forwarding - Nothing Happend
Tried Both my Ip Adresses - Nothing Happend

Are you using our search function? You'll most likely find a answer that helps.


Migrate patterns (sections/blocks) into components folder

User Story

As a [user role below]:
IBM.com Library adopter

I need to:
see a simpler view of available components in Storybook

so that I can:
find what I need for my application

Additional information

After discussion with engineers and designers, we have agreed that all "coded things" are now components
Work is similar to the work done in: https://github.com/carbon-design-system/ibm-dotcom-library/issues/2467
Should also migrate the styles files to the components folder in the styles package

Acceptance criteria

[ ] sections/blocks moved to the components folder in React and Styles
[ ] Updates to READMEs in storybook
[ ] Refactored patterns using these components to ensure nothing is broken
[ ] Create breadcrumb imports in styles package (similar to sub-pattern style imports)
[ ] Add deprecation notice to the release issue
[ ] Updates to CSB examples

Added this issue to the 7/17 Leadership meeting agenda.  Need to talk about the impact this change has on all of the documentation

Places to change:

Code - done [Staging URL[(https://ibmdotcom-react-staging.mybluemix.net/?path=/story/overview-getting-started--page)
Cupcake website:  Update the Gatsby navigation (Jenny and Anna)
Design folders:  ibm.com Library, IBM Digital Design and IBM Digital Design Squad  (Lara to own and potentially delegate the work)

Listed in priority order.
Time frame to begin the work is September.  Roberta to work with team members to define the work and create the issues for work assignments.


DNM: disable NodePool upgrade e2es

What this PR does / why we need it:
Trying to isolate dramatically high GET rates as reported by the hypershift-operator
Which issue(s) this PR fixes (optional, use fixes #<issue_number>(, fixes #<issue_number>, ...) format, where issue_number might be a GitHub issue, or a Jira story:
Fixes #
Checklist

[ ] Subject and description added to both, commit and PR.
[ ] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

not running the NodePool e2es does avoid the huge number of API GETs to the guest KAS
/close


DET-113 Add fields to Interaction for Activity Stream

Description of change
We want to display data from Activity Stream on the Data Hub front end,
so that users have a more complete picture of the data.
We are missing a couple of fields on the Interaction model when it is
serialised for Activity Stream: notes and theme.
This commit adds them to the serializer.

Checklist

[ ] If this is a releasable change, has a news fragment been added?

Explanation
A news fragment is required for any releasable change (i.e. code that runs in or affects production) so that a corresponding changelog entry is added when releasing.
Check changelog/README.md for instructions.

[x] Has this branch been rebased on top of the current develop branch?

Explanation
The branch should not be stale or have conflicts at the time reviews are requested.

[x] Is the CircleCI build passing?

General points

Other things to check

Make sure fixtures/test_data.yaml is maintained when updating models
Consider the admin site when making changes to models
Use select-/prefetch-related field lists in views and search apps, and update them when fields are added
Make sure the README is updated e.g. when adding new environment variables

See docs/CONTRIBUTING.md for more guidelines.

We're not sure if this requires a newsfragment to be created so any feedback on that would be great :)


[bul] inconsistencies

As reported here there are some inconsistencies with /l/ and the dental stops. As [discussed here](https://en.wiktionary.org/wiki/Wiktionary:Information_desk/2020/April#Performing_bulk_edits, there is a pronunciation module and pron template for Bulgarian on Wiktionary; we may be just bulk-migrate Bulgarian to that template and re-scrape.

Just adding to this: the phone list is filtering out ʊ and ŋ. I suspect these are merely allophones of /u/ and /n/, respectively, but we should remove them from the so-called phonemic transcriptions upstream.


Corrected the lib loading behavior for non "win32" platforms

I was trying to use the openal wrapper for python on a Arch-Linux system and realized, that the loading behaviour of the external openal lib was not working. Those corrections fixed it on my side and I think they should also be valid for most other non-win32 platforms.

Thank you very much!
I couldn't test the new library loader on Linux, but I was hoping for someone to complain if it didn't work -- which you did :)


[ChatGPT] ...

Extension
https://www.raycast.com/abielzulio/chatgpt
Description

Error:
Error: Worker terminated due to reaching memory limit: JS heap out of memory

NodeError:errors:393:5
[kOnExit]:worker:277:26
Worker.<computed>.onexit:worker:199:20

Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

@raycastbot close this issue.
Closing this issue due to a future fix that will be available on the next update.


fix: Remove possible multiline details in completions

Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10316
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/7531(this has already been fixed prior, from what I've seen)
bors r+

bors retry


Dynamic quantized ORTModelForSeq2SeqLM throws error during inference

System Info
Optimum - 1.4.1
Linux
Python - 3.7

Who can help?
@JingyaHuang  @echarlaix  I dynamically quantized a model fine-tuned on T5 for the text-to-text generation task, but it was showing error during inference.
Information

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

Tasks

[ ] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[X] My own task or dataset (give details below)

Reproduction
I tried to load that quantized model using the following code:

model_ort_q = ORTModelForSeq2SeqLM.from_pretrained("local_folder_path")

First it complained that file was not found. Even If I pass the file_name, it was showing the below error:

NoSuchFile: [ONNXRuntimeError] : 3 : NO_SUCHFILE : Load model from ./ort-quant-fin/encoder_model.onnx failed:Load model ./local_path/encoder_model.onnx failed. File doesn't exist

So I renamed the file by removing the suffix "_quantized" in all the onnx model filenames. Then the model got loaded successfully.
But when I tried to do an inference, I got the below error:
text2text_generator = pipeline("text2text-generation", model=model_ort, tokenizer=tokenizer)
print(text2text_generator("some text"))

[/usr/local/lib/python3.7/dist-packages/optimum/onnxruntime/modeling_seq2seq.py](https://localhost:8080/#) in forward(self, input_ids, attention_mask, **kwargs)
    530     ) -> BaseModelOutput:
    531
--> 532         onnx_inputs = {"input_ids": input_ids.cpu().detach().numpy()}
    533
    534         # Add the attention_mask inputs when needed

AttributeError: 'NoneType' object has no attribute 'cpu'

Expected behavior
The quantized model for ORTModelForSeq2SeqLM should generate text during inference

Hi @leslyarun,
By running the example snippet below with optimum 1.4.1, it works fine for me:
from optimum.onnxruntime.modeling_seq2seq import ORTModelForSeq2SeqLM
from pathlib import Path
from transformers import AutoTokenizer
from optimum.pipelines import pipeline

model_id = "t5-small"
tokenizer = AutoTokenizer.from_pretrained(model_id)
onnx_path = Path("results_seq2seq/")

model = ORTModelForSeq2SeqLM.from_pretrained(model_id, from_transformers=True)

# # Load the quantization configuration detailing the quantization we wish to apply
# dqconfig = AutoQuantizationConfig.avx512_vnni(is_static=False, per_channel=False)
# encoder_quantizer = ORTQuantizer.from_pretrained(onnx_path, file_name="encoder_model.onnx")
# decoder_quantizer = ORTQuantizer.from_pretrained(onnx_path, file_name="decoder_model.onnx")
# decoder_wp_quantizer = ORTQuantizer.from_pretrained(onnx_path, file_name="decoder_with_past_model.onnx")
# quantizer = [encoder_quantizer, decoder_quantizer, decoder_wp_quantizer]
# # Apply dynamic quantization and save the resulting model
# [q.quantize(save_dir=onnx_path,quantization_config=dqconfig) for q in quantizer]

quant_onnx_model = ORTModelForSeq2SeqLM.from_pretrained(
    model_id="results_seq2seq",
    encoder_file_name="encoder_model_quantized.onnx",
    decoder_file_name="decoder_model_quantized.onnx",
    decoder_with_past_file_name="decoder_with_past_model_quantized.onnx",
)

onnx_clx = pipeline("text2text-generation", model=quant_onnx_model, tokenizer=tokenizer)
print(onnx_clx("some text"))

Can you offer me a complete script so that I can reproduce your issue?

@JingyaHuang
Please run the script given by you in colab:

from optimum.onnxruntime.modeling_seq2seq import ORTModelForSeq2SeqLM
from pathlib import Path
from transformers import AutoTokenizer
from optimum.pipelines import pipeline
from optimum.onnxruntime import ORTQuantizer, ORTModelForSeq2SeqLM
from optimum.onnxruntime.configuration import AutoQuantizationConfig

model_id = "t5-small"
tokenizer = AutoTokenizer.from_pretrained(model_id)
onnx_path = Path("./results_seq2seq/")

model = ORTModelForSeq2SeqLM.from_pretrained(model_id, from_transformers=True)

# Load the quantization configuration detailing the quantization we wish to apply
dqconfig = AutoQuantizationConfig.avx512_vnni(is_static=False, per_channel=False)
encoder_quantizer = ORTQuantizer.from_pretrained(model, file_name="encoder_model.onnx")
decoder_quantizer = ORTQuantizer.from_pretrained(model, file_name="decoder_model.onnx")
decoder_wp_quantizer = ORTQuantizer.from_pretrained(model, file_name="decoder_with_past_model.onnx")
quantizer = [encoder_quantizer, decoder_quantizer, decoder_wp_quantizer]
# Apply dynamic quantization and save the resulting model
[q.quantize(save_dir=onnx_path,quantization_config=dqconfig) for q in quantizer]

quant_onnx_model = ORTModelForSeq2SeqLM.from_pretrained(
    model_id="results_seq2seq",
    encoder_file_name="encoder_model_quantized.onnx",
    decoder_file_name="decoder_model_quantized.onnx",
    decoder_with_past_file_name="decoder_with_past_model_quantized.onnx",
)

onnx_clx = pipeline("text2text-generation", model=quant_onnx_model, tokenizer=tokenizer)
print(onnx_clx("some text"))

You will get error that config.json NOT FOUND in HuggingFace Hub
So I renamed the config file from "ort_config.json" to "config.json" and ran again and this time model got loaded but during inference, you will get below error:
[/usr/local/lib/python3.7/dist-packages/optimum/onnxruntime/modeling_seq2seq.py](https://localhost:8080/#) in forward(self, input_ids, attention_mask, **kwargs)
    530     ) -> BaseModelOutput:
    531
--> 532         onnx_inputs = {"input_ids": input_ids.cpu().detach().numpy()}
    533
    534         # Add the attention_mask inputs when needed

AttributeError: 'NoneType' object has no attribute 'cpu'

@JingyaHuang
You can run this colab notebook to reproduce the issue - https://colab.research.google.com/drive/1cYw6k5Pjnc2WAOCJXkHv9Z6UqCyvrfYT?usp=sharing

Hi @leslyarun
ORTModel needs the model configuration(config.json) instead of the configuration of your quantization approach(ort_config.json). You can save the model config when loading the original model:
model = ORTModelForSeq2SeqLM.from_pretrained(model_id, from_transformers=True)
model.save_pretrained(onnx_path)


Add PrimitiveStyleBuilder

Hi! Thank you for helping out with Embedded Graphics development! Please:

[x] Check that you've added passing tests and documentation
[x] Add a simulator example(s) where applicable
[ ] Add a CHANGELOG.md entry in the Unreleased section under the appropriate heading (Added, Fixed, etc)
[x] Run rustfmt on the project
[x] Run ./build.sh (Linux/macOS only) and make sure it passes. If you use Windows, check that CI passes once you've opened the PR.

PR description
This PR adds a builder for PrimitiveStyle, which was discussed in #212.
I'm not sure if this requires a changelog entry because PrimitiveStyle didn't exist before.
Closes #212

I'm not sure if this requires a changelog entry because PrimitiveStyle didn't exist before.

It should go in Added :slightly_smiling_face:

It should go in Added slightly_smiling_face

OK, I noticed that I didn't add an changelog entry when I created the PR and was lazy :wink:. The PrimitiveStyle docs should also mention the builder.

What are your thoughts on adding a primitive_style!() macro in this PR to make life a bit easier for end users? It could use PrimitiveStyleBuilder internally.

Interesting idea. A macro could also be used to create const styles, when it doesn't internally use the builder.
The primitive_style macro would duplicate some functionality of the eg... macros. Do you think that these macros should also be changed and use the primitive_style macro:
// current code (after changes proposed in #208)
egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32,
    stroke_color = Some(BinaryColor::Off),
    fill_color = Some(BinaryColor::Off)
);

// simply use `primtive_style` macro
egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32
).into_styled(primitive_style!(
    stroke_color = Some(BinaryColor::Off),
    fill_color = Some(BinaryColor::Off)
);

// or separate the style properties
// and use `primitive_style` internally in the `egcircle` macro
egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32
    style = {
        stroke_color = Some(BinaryColor::Off),
        fill_color = Some(BinaryColor::Off)
    }
);

If I may throw my hat into the ring:
egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32
    style = primitivestyle!(
        stroke_color = Some(BinaryColor::Off),
        fill_color = Some(BinaryColor::Off)
    )
);

It's a nested macro, but I like the syntax. The macro would then just be (untested):
#[macro_export]
macro_rules! egcircle {
    ($center:expr, $r:expr, $style:expr $(,)?) => {{
        use $crate::style::PrimitiveStyle;

        $crate::primitives::Circle::new($crate::geometry::Point::from($center), $r)
            .into_styled($style)
    }};
}

Thoughts?

Thoughts?

I like it. Should the macros completely replace the builder or would you add both?
The macros currently use the assignment syntax for the parameters, but assignments separated by commas aren't used anywhere else. Maybe it would be better to use colons instead to be similar to struct literals?
egcircle!(
    center: (CIRCLE_SIZE, CIRCLE_SIZE),
    radius: CIRCLE_SIZE as u32
    style: primitivestyle!(
        stroke_color: Some(BinaryColor::Off),
        fill_color: Some(BinaryColor::Off)
    )
);

Should the macros also support building primitives without styling?
let circle: Styled<Circle, PrimitiveStyle<C>> = egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32,
    style = primitive_style!(...),
);

let circle: Circle = egcircle!(
    center = (CIRCLE_SIZE, CIRCLE_SIZE),
    radius = CIRCLE_SIZE as u32,
);

(The type annotation in the example are only added to demonstrate the returned type and are not required later.)

Should the macros completely replace the builder or would you add both?

Both, like we have Circle::new() and egcircle!(), etc. The non-macro pattern also allows building primitives without a style (see my last paragraph in this comment).

Maybe it would be better to use colons instead to be similar to struct literals?

:thinking: that's a good point. Much closer to Rust syntax. Other than another major change I can't think of a bad reason to change the syntax.

Should the macros also support building primitives without styling?

Hm, maybe not? To me, their use case is to add a bit of sugar over the lengthy primitive/style builder patterns so catering to just that niche makes sense. Non-style versions can be added later if desired.

Because the macro changes are now implemented in #224 this should be ready to review.

Ah, forgot to mention, can you rebase from master? This should fix the build and the conflicts.

I think we should also have a TextStyleBuilder but that can go in either #224 or another PR.

Yes, we should. Do you want to handle this in #224 or should I open an issue (and later a PR) for this?

Yeah I’ll handle that. Feel free to open an issue just to track the feature if you like, but it’s gonna happen in #224 either way.


AttributeError when error is a string in retry.py

It seems like in rare cases GCS returns a string in the "error" field rather than a JSON object here: https://github.com/fsspec/gcsfs/blob/c7cf66d4b2ba1b5574813476283dace278f309c3/gcsfs/retry.py#L101
This causes an attribute error here: https://github.com/fsspec/gcsfs/blob/c7cf66d4b2ba1b5574813476283dace278f309c3/gcsfs/retry.py#L22
File "[...]/lib/python3.10/site-packages/gcsfs/retry.py", line 21, in __init__
    self.code = error_response.get("code", None)
AttributeError: 'str' object has no attribute 'get'

This happens very rarely and I haven't been able to log exactly what is returned by Google in this case.

Would you like to make a PR with an isinstance on this line?

Would you like to make a PR with an isinstance on this line?

Will do!


Updating the broken links of the wiki

Some of the broken links of the wiki needs to be updated

[ ]   https://github.com/linksmart/data-processing-agent/wiki/CEML-Request-API-(aka-CEML-API)
[ ] https://github.com/linksmart/data-processing-agent/wiki/Model-and-Learning-Process-Concepts
[ ] release repo in wiki home which was linking to nexus repo
[ ] https://github.com/linksmart/data-processing-agent/wiki/Advanced-APIs

There are tens of links to code|docs.linksmart.eu. I'd say we leave them because it will be a lot of work for us to fix. Unless @dasEnder wants to fix them?


[Request] Select only the languages you want to search

Now in Torrentio you can choose priority language, but it will still display a huge amount of links I am not interested on. Is it possible to add an option to only choose the languages you are interested on?

No such option exists, and won't be added. Not every torrent has a language clearly set so it would remove a lot of results also some native language films always have their native language in the title (ie Parasite), so having such an option would make watching such films impossible as it would remove all the results.

@TheBeastLT so how does priority language work? I have Spanish as “Priority” and if I look for “Parasite” the first results are all Spanish.
what about an option “show only priority languages” with a disclaimer below stating it may not show all results?
In my case, I have Torrentio with RD and Peerflix (for Spanish shows) and Torrentio huge list of torrents I am not going to use it’s a bit annoying.


Update composer.json

Compatibility with Sf 3.4.36

For Symfony 4.4 and 5.0, please use the Maker bundle instead.


Autogenerate protocol buffer classes.

This PR automate the process of downloading, generating sources and
compiling protocol buffer files for pluggable components.
Fixes #4
Signed-off-by: Tiago Alves Macambira<EMAIL_ADDRESS>

Should we start versioning the sandbox repository following the dapr version?

Yes! Or at the very least start from the 1.9.0 version -- as we are not necessarily impacted by any that doesn't impact proto definitions.

i.e this package will start at v1.9.5 version? does it make sense or we need to create some sort of compatibility matrix ?

I am just refraining from bumping this right to 1.9.0 or 1.9.5 while I lay the ground work for this SDK. Once it is there I will send a PR just to bump the version. This will be required as one of the PRs in the pipeline sets up package publishing on GitHub.


How to advance page in a wizard without the next button?

I have a wizard with 3 pages, page1 has two buttons and it needs to advance to either page2 or page3 depending on which button is preset (the next, cancel and previous buttons are hidden)
Each button is publishing an event but I don't know how to use the event parameters to transition to the next page?
Is there a different way to address this?

First of all, consider using Advanced Next Page option in the Page's settings. It allows to decide which page should be opened depending on some conditions.

If it is not applicable for your case, so you can set your buttons to execute custom actions instead of emitting an event.

I am closing the issue as it was created too long ago and there is no new comments here. If the issue is not resolved, please reopen it. Thanks!


(maint) Fix plan show for project plans

bolt plan show <plan> was failing when passed a project-level
plan due to the fact that the project path is a Pathname rather than a
string, unlike most modules. We now convert the path to a string in
get_plan_info so that any code interacting with the plan data can
treat it as if it came from any other module.
!bug

Fix bolt plan show <plan> for project-level plans
(#1799)

This command was throwing errors due to a type mismatch that is now
resolved.

CLA signed by all contributors.


docs(readme): update sponsor ref query param

Had the wrong repo (typed_params) previously.

Thanks! That's what I get for copy/pasting. 🙂


⚠ Bofrost.ch has degraded performance

In b152e1a, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 5501 ms

Resolved: Bofrost.ch performance has improved in e29f2c3.


Make "Slow Mode" ribbon interactive, showing a message that explains what it is

Tap slow mode banner: tapping it should make a dialog appear with information about debug mode.

There still is a general lack of awareness about the difference between debug mode and release mode from Q4 survey data. I think fixing this bug will be helpful.


Impact Of Arguments Arraylike Object On Performance

I was having a read of the performance optimisations wiki on the Bluebird wiki and there was some interesting stuff about the use of arguments, which is quite prevalent in the Highland codebase:
https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments
Particularly this:

There are numerous ways to use arguments in a way that causes the function to be unoptimizable. One must be extremely careful when using arguments.

Only use

arguments.length

arguments[i] where i is always a valid integer index into the arguments, and can not be out of bound

Never use arguments directly without .length or [i] (STRICTLY x.apply(y, arguments) is ok, nothing else is, e.g. .slice. Function#apply is special)

As an experiment, I went through the code and replaced all references to arguments with something equivalent to the workarounds listed on the wiki. I ran all the tests and the bench test too and found it made absolutely no difference to the performance of either. It also makes the code look incredibly ugly so it looks like the warning near the end of the wiki page applies in our case:

It takes a lot of code and is annoying so it might be worth to analyze if it's really worth it.

Caolan doesn't seem to be worried about bleeding-edge performance (see #175), but highland's benchmarking is definitely something that can (and for 3.0.0, will most likely) be improved.

I think arguments is mostly used in the functional composition parts of the library (curry, partial, etc). The critical paths don't use it.
I'm more concerned about section 3.2 in that Bluebird link about leaking arguments. Although again, it's not a big deal unless you routinely use curry and friends.

Yeah, curry is what I first thought of because every function in the library is curried and also exposeMethod uses arguments too. But I used something similar (actually pilfered from Lodash) to the workaround mentioned to prevent leaking arguments in all the functions I could find and as I said, it seemed like a waste of time and made the code really ugly. E.g.,
if (mappingHintType === 'function') {
            mapper = mappingHint;
        } else if (mappingHintType === 'number') {
            mapper = function () {
                var length = arguments.length,
                    index = length,
                    args = new Array(length);
                while (index--) {
                    args[index] = arguments[index];
                }
                return args.slice(0, mappingHint);
            };
        } else if (_.isArray(mappingHint)) {
            mapper = function () {
                var length1 = arguments.length,
                    index1 = length1,
                    args1 = new Array(length1);
                while (index1--) {
                    args1[index1] = arguments[index1];
                }
                return mappingHint.reduce(function (ctx, hint, idx) {
                    ctx[hint] = args1[idx];
                    return ctx;
                }, {});
            };
        } else {
            mapper = function (x) { return x; };
        }

        ee.on(xs, function () {
            var length2 = arguments.length,
                index2 = length2,
                args2 = new Array(length2);
            while (index2--) {
                args2[index2] = arguments[index2];
            }
            var ctx = mapper.apply(this, args2);
            self.write(ctx);
        });

Of course maybe I'm just doing something wrong, it has been known to happen!

Looks like most if not all of our usage of arguments could be replaced with ES6 rest parameters. I'm not suggesting we start transpiling now but maybe when ES6 gets widespread adoption we can port it.


Change NeoTreeGitAdded

Hi, thanks for great color scheme!
I'm trying to change NeoTreeGitAdded.
local palette = require 'nordic.colors'

require 'nordic'.setup({
  cursorline = {
    theme = 'light'
  },
  override = {
    NeoTreeGitModified = {
      fg = palette.orange.base, -- works perfect
    },
    NeoTreeGitAdded = {
      fg = palette.orange.base, -- not working
    },
  },
  on_palette = function(nordicPalette)
    nordicPalette.git.add = '#FFFFFF' -- not working
    return nordicPalette
  end,
})

vim.cmd("colorscheme nordic")

How I can to change color?
It's looks like this:

That is odd.  I will look into it after the 7th of Jan :)

FYI I've just changed this myself as I find the Unstaged color too dim but didn't find any issues with using the override syntax as OP was doing.
Neovim 0.9.5
Working config:
      local palette = require('nordic.colors')
      require('nordic').setup {
        override = {
          NeoTreeGitUntracked = { fg = palette.magenta.dim },
          NeoTreeGitAdded = { fg = palette.orange.base }
        }
      }

I think #113 fixes this.


explorer does not show files( permission error)

Issue Type: Bug
When trying to open a directory vscode doesn't show any contents of  the directory. If I turn on the developer tools I see the error
[node.js fs] readdir with filetypes failed with error:  Error: EPERM: operation not permitted, scandir '/Users/wittich/Documents/teaching/P2218-F21/plots'
a @ pfs.ts:113
however as far as I can tell there is no permissions problem in the directory. I can open a file manually (via Command-O) and that works fine.
(base) ➜  plots ls -ld .
drwxr-xr-x  79 wittich  staff  2528 Oct 11 16:56 .
VS Code version: Code 1.61.0 (ee8c7def80afc00dd6e593ef12f37756d8f504ea, 2021-10-07T18:11:58.853Z)
OS version: Darwin x64 20.6.0
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-8559U CPU @ 2.70GHz (8 x 2700)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 3

Memory (System)
16.00GB (0.12GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (30)

Extension
Author (truncated)
Version

better-comments
aar
2.1.0

path-intellisense
chr
2.4.0

bracket-pair-colorizer
Coe
1.0.61

doxdocgen
csc
1.3.2

arm
dan
1.5.2

gitlens
eam
11.6.1

copilot
Git
1.5.2993

tcl-language-support
go2
0.1.2

latex-workshop
Jam
8.20.2

cortex-debug
mar
0.4.7

vscode-docker
ms-
1.17.0

anaconda-extension-pack
ms-
1.0.1

python
ms-
2021.10.1317843341

vscode-pylance
ms-
2021.10.0

jupyter
ms-
2021.9.1001312534

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.3

remote-containers
ms-
0.202.1

remote-ssh
ms-
0.65.8

remote-ssh-edit
ms-
0.65.8

remote-wsl
ms-
0.58.2

cmake-tools
ms-
1.8.1

cpptools
ms-
1.6.0

cpptools-extension-pack
ms-
1.0.0

gdb-syntax
pie
0.1.4

vscode-yaml
red
0.23.0

vscode-modern-vhdl-support
rjy
1.0.6

rust
rus
0.7.8

emacs-mcx
tut
0.36.0

linkerscript
Zix
1.0.2

(1 theme extensions excluded)

here is a screenshot of the window; the open file is in the plots directory which is empty in the exlorer.

I was able to recover the folder by including another folder at the same level into the project via File->Add Folder to Workspace. When I did this, both folders were able to be read.

Thanks for reporting, have you been able to access the folder in prior versions of VS Code? cc @bpasero not sure what scandir is, perhaps related to the file watcher changes?

I'm happy to provide more info but you need to tell me what more info you need. In my shell I can do ls, etc in that directory, and VSCODE can open the file if I directly try to open it (with command-o on the mac).  So there are no permission problems that I can see.

Can you try to isolate this issue using just node.js and seeing if you can do fs.readdir with the option withFileTypes: https://nodejs.org/docs/v14.16.0/api/fs.html#fs_fs_readdir_path_options_callback on that folder?

I can try but have never used node.js; can you give a bit more explicit instructions? I have node and npm installed but have never written javascript (more of a python/c/c++ scientific computing person.)

> fs.readdirSync("/Users/wittich/Documents/teaching/P2218-F21",  { withFileTypes: true })
[ '.DS_Store',
  '.empty',
  '.latexmkrc',
  '.vscode',
  'Fall 2021 Important Dates.pdf',
  'Georgi Waves.pdf',
  'assignments',
  'class info',
  'exams',
  'lectures',
  'mk.py',
  'plots',
  'previous_years',
  'study_hall_label.key',
  'supplemental',
  'syllabus.aux',
  'syllabus.fdb_latexmk',
  'syllabus.fls',
  'syllabus.log',
  'syllabus.pdf',
  'syllabus.tex',
  'syllabus_v0.pdf',
  'syllabus_v1.pdf',
  'topics.tex',
  'topics.yaml',
  'topics.yaml~' ]
>

Forgot to mention: can you try with node.js 14.16.0 to match VS Code's node version.

(base) ➜  Downloads ./node-v14.16.0-darwin-x64/bin/node
Welcome to Node.js v14.16.0.
Type ".help" for more information.
> fs.readdirSync("/Users/wittich/Documents/teaching/P2218-F21",  { withFileTypes: true })
[
  Dirent { name: '.DS_Store', [Symbol(type)]: 1 },
  Dirent { name: '.empty', [Symbol(type)]: 2 },
  Dirent { name: '.latexmkrc', [Symbol(type)]: 1 },
  Dirent { name: '.vscode', [Symbol(type)]: 2 },
  Dirent { name: 'Fall 2021 Important Dates.pdf', [Symbol(type)]: 1 },
  Dirent { name: 'Georgi Waves.pdf', [Symbol(type)]: 1 },
  Dirent { name: 'assignments', [Symbol(type)]: 2 },
  Dirent { name: 'class info', [Symbol(type)]: 2 },
  Dirent { name: 'exams', [Symbol(type)]: 2 },
  Dirent { name: 'lectures', [Symbol(type)]: 2 },
  Dirent { name: 'mk.py', [Symbol(type)]: 1 },
  Dirent { name: 'plots', [Symbol(type)]: 2 },
  Dirent { name: 'previous_years', [Symbol(type)]: 2 },
  Dirent { name: 'study_hall_label.key', [Symbol(type)]: 1 },
  Dirent { name: 'supplemental', [Symbol(type)]: 2 },
  Dirent { name: 'syllabus.aux', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus.fdb_latexmk', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus.fls', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus.log', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus.pdf', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus.tex', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus_v0.pdf', [Symbol(type)]: 1 },
  Dirent { name: 'syllabus_v1.pdf', [Symbol(type)]: 1 },
  Dirent { name: 'topics.tex', [Symbol(type)]: 1 },
  Dirent { name: 'topics.yaml', [Symbol(type)]: 1 },
  Dirent { name: 'topics.yaml~', [Symbol(type)]: 1 }
]
>
(base) ➜  Downloads ./node-v14.16.0-darwin-x64/bin/node --version
v14.16.0
(base) ➜  Downloads

(base) ➜  Downloads ./node-v14.16.0-darwin-x64/bin/node
Welcome to Node.js v14.16.0.
Type ".help" for more information.
> fs.readdirSync("/Users/wittich/Documents/teaching/P2218-F21/plots")
[
  '.DS_Store',
  '.ipynb_checkpoints',
  '.vscode',
  '__pycache__',
  'a02_6_7.pdf',
  'a03_plots.ipynb',
  'a03_plots_triangle.pdf',
  'a03_plots_triangle.png',
  'a04_2a.pdf',
  'a04_plots.ipynb',
  'anim_beaded_n1N9.mp4',
  'anim_beaded_n2N9.mp4',
  'anim_beaded_n3N9.mp4',
  'anim_beaded_n5N9.mp4',
  'anim_beaded_n6N9.mp4',
  'beats.png',
  'coupled_sho_plots.ipynb',
  'dispersion.png',
  'gaussian.png',
  'lec05_plots.ipynb',
  'lec05_plots_old.ipynb',
  'lec07_1.png',
  'lec07_plots.ipynb',
  'lec08_plots.ipynb',
  'lec10_plots.ipynb',
  'lec11_plots.ipynb',
  'lec13_plots.ipynb',
  'lec13_xi_freends_n123.png',
  'lec13_xi_freends_neven.png',
  'lec13_xi_freends_nodd.png',
  'lec13_xi_onefreeonefixed_n123.png',
  'lec13_xi_onefreeonefixed_n1234.png',
  'lec14_plots.ipynb',
  'lec14_xi_p.png',
  'lec18_plots.ipynb',
  'lec18_plots_try2.ipynb',
  'lec18_sound_overlay.png',
  'lec20_constructive.png',
  'lec20_destructive.png',
  'lec20_dipole_i_vs_sintheta.png',
  'lec20_dipole_polar.png',
  'lec20_plots.ipynb',
  'n10N9.pdf',
  'n11N9.pdf',
  'n18N9.pdf',
  'n19N9.pdf',
  'n1N9.pdf',
  'n3N9.pdf',
  'n5N9.pdf',
  'n6N9.pdf',
  'n8N9.pdf',
  'n9N9.pdf',
  'osc_n1N9.pdf',
  'osc_n2N9.pdf',
  'osc_n3N9.pdf',
  'osc_n4N9.pdf',
  'osc_n5N9.pdf',
  'osc_n6N9.pdf',
  'osc_n9N9.pdf',
  'plucked_string.png',
  'plucked_string_diff.png',
  'plucked_string_diff_abs.png',
  'plucked_string_long.png',
  'plucked_string_only.png',
  'plucked_string_partialsums.png',
  'plucked_string_power.png',
  'plucked_string_power_zoom.png',
  'plucked_string_zoom.png',
  'sample.ipynb',
  'sho_plots.ipynb',
  'sinc.png',
  'squarewave.png',
  'test_anim.mp4',
  'test_disp1.mp4',
  'test_nodisp.mp4',
  'test_pluck_disp.mp4',
  'test_pluck_disp3.mp4',
  'test_pluck_nodisp.mp4',
  'test_pluck_nodisp3.mp4',
  'test_sounds.mp4',
  'ugh.py',
  'x1.png',
  'x1x2.png'
]
>

fwiw I have the same empty directory listing as shown in the screenshot if I read in the plots directory or its parent.

I understand why you think that... I am perplexed what it could be; maybe SIP on the mac. but I cannot find any other application or way of seeing any issues with this directory (i.e., I can see it in the terminal, finder, and VSCode can open files in that directory just fine but just can't show them in the file explorer.)
I did find this issue that speculates a similar issue on a different platform and blames it on vscode (probably unfairly ;-) ) -- probably specious -- but as far as I can tell somehow only VSCode is triggering this problem.

FWIW if I explicitly use File->Add Folder to Workspace then everything shows up again...

Ok I feel I cannot contribute to this issue in more ways. Closing for now.

I was having a similar issue after updating to the latest Monterey this morning, installed the insiders build, which worked great, restarted my machine, and now the non-insiders VSCode is also working. Go figure. Thank you so much for posting this!


Add additionalFiles to bamboo-agent Helm chart

Resolves https://github.com/atlassian/data-center-helm-charts/issues/579
Mounting files like maven's settings.xml is way easier with additionalFiles rather than with init containers and additional volume(-mounts).
Checklist

[x] I have added unit tests
[x] The E2E test has passed (use e2e label)

These are just minor comments regarding the test structure and having conditionals in them but I am happy for us to merge this.


Added Networking

It took me a while to realize that i have to put the container and traefik in the same network so i thought it should be added to the documentation.

What does this PR do?

Telling people to use a external network with docker containers
Motivation
It took me a while to realize that that's the fault

Hello @Janik-Haag,
Thank you for your contribution.
We have moved your network example into the User Guide section to keep a very basic example in the "Quick Start" section.


Allow for topicID specification in the channel configuration

fixed in commit 03ceb81606248c0411068cc212066b6a4d65ebb1
the first-sample is also updated to show how to properly sign a channel update tx with fabric channel name <-> hcs topic ID mapping.


chore: release main

:robot: I have created a release beep boop
ui5-cc-spreadsheetimporter: 0.31.0
0.31.0 (2024-01-02)
Features

add config for btp deployment with managed approuter (#419) (470b68f)
new checks for maxLength and duplicate columns (#447) (7d47e28)
new config to define columns in preview (#443) (b98db12)
new option `createActiveEntity´ to directly create active entities (#438) (a3449f7)

Bug Fixes

check if ComponentContainerData is available (#445) (c484e42)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/marianfoo/ui5-cc-spreadsheetimporter/releases/tag/ui5-cc-spreadsheetimporter-v0.31.0 :sunflower:


Show type class or equivalent?

Given the extensive use of opaque types, I think it might make sense to provide some ad-hoc polymorphic utility for generating string representations of objects rather than using toString.
Some issues I've run into:

Logging a Result and seeing a () or logging a Maybe and seeing a 23 instead of a Present(23) is confusing on its face when we're used to seeing the wrappers
It also makes it hard to distinguish logs when in one place we're logging a result and in another we're logging an extracted value.
We can't see the level of nesting of the value for Result and Maybe
Logging an effect and seeing a pure value can make it look like an effect has been fully handled when it hasn't

The obvious solution is a Show type class, with derived instances for your usual types and explicit given instances for kyo's types:
trait Show[A]:
  inline def show(value: A): String

object Show:
   // This could be replaced with ADT derivation if we want to provide some custom
   // view for case classes
   given default[A]: Show[A] with { inline def show(value: A): String = value.toString }

...

object Maybe:
  given [A](using ash: Show[A]): Show[Maybe[A]] with
    inline def show(value: Maybe[A]): String =
      value.fold("Absent")(a => s"Present(${ash.show(a)})")

I wonder if a Rust style distinction of Display and Debug would make sense here. Either way it would be great if it was a zio-prelude/Rust style debug that had some formatting help.
Agree with the overall ask either way though.

@DamianReeves we just merged a simpler version that can render kyo types to Text. We had some chat in the PR about adding some more logic -- maybe supporting multiple modes of text rendering -- but that will be down the line.

Closed with #914


Cannot run

same issue with me too

@razerduy @gyanani-harish The problem is with 'PropTypes'. Before it is part of React. Now it is removed. Instead of React.PropTypes this package should use PropTypes from 'prop-types'.
WorkAround:

Install 'prop-types' package by npm install 'prop-types' --save
Open  rn-textinputlayout folder under node_modules.
Navigate to rn-textinputlayout/src/TextInputLayout.js
Add following line at the top.
import PropTypes from "prop-types";
Change 'React.PropTypes' to 'PropTypes'

Before:

After:

I've checked this. It's working for me. I hope this will help you.
NOTE: You need to repeat these steps whenever you do npm install to install all npm packages.

@zbtang Can you add "prop-types" module to remove this error?

This issue has been fixed at version '1.0.5'.


Updated to fix inaccuracy

Fixed inaccuracy in how SaaS Connectivity leverages asymmetric keypair scheme.

This pull request has been mentioned on SailPoint Developer Community Forum. There might be relevant details there:
https://developer.sailpoint.com/discuss/t/need-details-on-how-credentials-are-stored-for-saas-connectivity-connectors/21307/3


Reduce image sizes

Suggesting a few changes that should reduce the image sizes, by not installing "recommended" dependencies (only required ones) and ensuring the apt-get package lists are consistently purged.
Is a test suite available for these images?

how much space are these changes save?

how much space are these changes save?

As an example, for thebase/10 image the size drops from 1.09GB to 928MB. The adjustments are based on the recommended best practices, and checked with a dockerfile linter.

hi @cleishm thank you for showing how to reduce image size, I did not know about this. While we do not plan to replace existing Node images to avoid problems, I promise that going forward we will be building reduced images. For example I built https://github.com/cypress-io/cypress-docker-images/pull/98 like this.
I will close your pull request for now though


Add async support

Hi Wei! Thanks so much for contributing this! Can I ask what the use case for custom encoding is? Also, why the move to strong signing?

Oh, I'm sorry


Added specMACS cloud geometry markdown example and pictures

Hey @lvol08, thanks for this valuable contribution 🎉
I noticed, that your markdown doesn't seem to be a MySt notebook. Furthermore, it contains code output and pre-generated plots. For the HowTo Eurec4a, we want to run all the code described by the book using CI pipelines, in order to verify that the code actually does what it should do. Here's a bit of a description, how the book is meant to work. If you follow that description, you'll see if the article appears correctly on the generated pate.
Could you converte the notebook to MySt format and remove the generated plots and output from the repository? They'll get regenerated if the code works out.
Further, references should go into references.bib and the article would have to be included somewhere in _toc.yml to show up in the final page.

Hey @d70-t , thanks for the comments and sorry for not noticing in advance.
I changed the notebook to MySt format and added the references to the references.bib and included the notebook in the _toc.yml file. However, I am not sure if the notebook actually works with the given requirements for the python environment but that's unfortunately the case for all notebooks in the catalogue that use matplotlib for me. I can install matplotlib again in the environment but shouldn't it work just with installing the requirements?

One more minor thing:
Before merging, we should probably do a rebase, removing the previously committed figures, to keep the repo small.

Hi @d70-t ,
thanks a lot for all the suggestions to make the code more simple and better readable! :) I think I included all the suggestions in the commits. About the rebase: Do I have to do it in my local fork, so something like "git rebase master" and place a new merge request afterwards?
Thanks again!

About the rebase: Do I have to do it in my local fork, so something like "git rebase master" and place a new merge request afterwards?

You can do it in your local fork, or I can do it for you. In any case, the result would be "force pushed" to the current branch (lvol08:specmacs_cloud_geometry) and thus the current pull request will get updated. In particular, we wouldn't want to have a new pull request, because that way we'd loose all the discussion up to now.
It would probably be an interactive rebase, e.g.:
git rebase -i master

(or origin/master or upstream/master or whatever the way you'd locally reference the current master of the main online repository)
In this interactive rebase you could squash or fixup all the commits into a single one. Afterwards, the branch would be "diverged" from the copy which is currently referenced in the pull request (because it doesn't contain the individual commits anymore) and thus to upload (and thereby replace the current commits), you'd have to use git push -f (aka force).

The updates are working fine 🎉. The build is still failing due to #102, but that's fine for this pull request.
After squashing the commits (i.e. using a rebase), it's good to go 😄.
@lvol08 you decide who'll do the squash.

Thanks @d70-t ! I fixed one more typo, did the rebase and the force push, hope that it works all out :)

I just did another rebase on the (again) updated master, thus the ongoing fixes from the other issues are now incorporated and the pipeline is finally green :-)

Haha, I screwed it up... Will fix it it a moment 🤦


Options on the separation function in arcade physics collision

[feature request]
Please make parameters available to the separation function used in the arcade physics collide method. e.g. how quickly the separation should take place and I'm sure there are other options a separation function might have. I find myself needing to write my own separation function because I can't control basic things like the amount separation on each game loop.

Separating a collision over time sounds like quite a specific use case to me. In most cases you'd expect collision solving to completely separate bodies completely as soon as they overlap, right?
Why do you need to separate bodies slowly over a set amount of time, or by a percentage of the overlap each game loop iteration?

Also, have you checked the customSeparateX and customSeparateY properties? From the docs:

This flag allows you to disable the custom x separation that takes place by Physics.Arcade.separate. Used in combination with your own collision processHandler you can create whatever type of collision response you need.

I'm struggling to think of a reason why you'd ever want to not fully separate two objects, but you can already define your own as @drhayes has pointed out above, so I'm happy to close this one off as a feature request already implemented.


Osu beatmaps with a [Colours] section do not load

Describe the bug
Etterna does not load Osu beatmaps that contain a [Colours] section.
Manually deleting this section in each .osu file allows the beatmap to load ok.
To Reproduce
Steps to reproduce the behavior:

Attempt to load an Osu beatmap that contains a [Colours] section, e.g. https://osu.ppy.sh/beatmapsets/127305
The chart doesn't show up in-game.

Expected behavior
The chart loads and is playable in-game.
Desktop (please complete the following information):

OS: Windows 10 x64
Version 0.65.1

1a31e7441fe9e53476897b22e43f2bd5eb05e560
to recap a lengthy discussion this was being caused by moving packs back and forth from a mac to a windows machine causing the mac resource forks to prevent files from loading after the change to allow ._pulse was made, so i've put back the resource fork screening but added an exception for ._pulse

ed0c39396a7e0d6885462238289ba69bedafa0ff
hasn't been 100% tested but it should work


Listing should denote language project is written in

Currently digging around for existing C++ plugins, this would be very helpful.

Well, right now they're all python so it's a moot point, but yeah, once https://github.com/Vector35/binaryninja-api/issues/2238 lands and beyond we need to have support for other types of plugins here.


feat: node@18 and non-breaking dep updates

I tried to use this for the first time in a while and GH complained about it specifying node 12. The install failed locally for me using node@18, so I updated ncc and decided to also lump in the non-breaking dep updates as well.

lol.  System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter ''using: node18' is not supported, use 'docker', 'node12' or 'node16' instead.') Guess node 18 is not yet supported. Will drop down to 16 I guess.


feat: add spanish lang support

Looks good from our end, and will merge! Thank you one more time 🎉

@marufsiddiqui - Indeed it is! I'll be taking a look at that very soon 👍🏼

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


about reverse xyz_middle

Hi~
Thanks for your previous answer about #79 . I had tried the new version of code and got very similar results.
But I found very interesting phenomenon that new version of code lead to worse results when training semantic backbone from scratch(same to HASI,lr=0.001, 100epoch)
I wonder why the results can be improved by reversing xyz_middle, whats the meaning of the operation.  Is it only good for instance segmentation or maybe harm the training of semantic part from scratch? Do you have some experimental observation or experience about it?

Changing xyz_middle will change coordinates for instance voxelization. I think this is one of the main reasons leading to performance differences. Training DNN is sometimes tricky from trials and errors. You may try to get your own best settings.

Thanks~~


Update test command documentation

Updates the documentation accounting for the changes in https://github.com/tuist/tuist/pull/5135.

@pepicrft this is why I don't like having docs and tuist on separate repos.
The PR on tuist and this one should be an atomic change.
Is there any reason to prefer having this as a separate repo?

Is there any reason to prefer having this as a separate repo?

Yes, first and most importantly, I'm working on a new documentation that builds upon Swift Catalogs and lives in the tuist/tuist repository and the experience is tightly integrated into Xcode. So this is only a temporary move until I have all the documentation ready.
Apart from that, the amount of complexity we've inherited in the repository outweighs the value we get out of being able to ship atomic PRs. Although it's hard to see it once you are familiar with the repository structure, for people coming across the repository for the first time is somewhat overwhelming. I captured part of it in this issue.

@all-contributors add @stephanecopin for documentation