Can't exit full screen: Windows 10

Type: Bug
Can't exit full screen. Have googled and found: shift alt enter. Hasn't worked. Am I in ZEN mode? Can't get out. Help 😱
VS Code version: Code 1.74.3 (97dec172d3256f8ca4bfb2143f3f76b503ca0534, 2023-01-09T16:59:02.252Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz (8 x 2419)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
7.65GB (1.17GB free)

Process Argv
--crash-reporter-id 421ff470-640e-4535-adfb-61fe7a9628a8

Screen Reader
no

VM
0%

Extensions (2)

Extension
Author (truncated)
Version

prettier-vscode
esb
9.10.4

LiveServer
rit
5.7.9

(3 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848:30577860
nodejswelcome1cf:30587006
282f8724:30602487
89544117:30613380

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

What did you to enter what you describe full screen? Is that an OS operation, e.g you only see the code window full screen, or did you enter zen mode in which you still see other OS windows, browser or mail, but for VS Code you only see an editor (no sidebars)?

I believe I clicked an option from the "view" tab. There was an option to view "full screen" so I clicked it. Very new so wanted to click around and learn a little bit. Got myself into a pickle 🥒.
The project is "me only". If I open up other tabs in VS I can see those tabs and navigate through the site. It's just that when I want to Google something or check my progress on the explorer page I have to press "alt esc" to get out of VS.
Hope that makes sense 🌺👋

F11 is the shortcut to exit fullscreen on Windows. I see other apps have this issue as well on Windows because of how fullscreen works. I looked at what slack does and its pretty much the same thing, but if you right click their title bar, it lets you exit full screen. I wonder if we can have something like that.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Updated CSS, HTML and started working on JS

Built placeholders for brand and video content. Trying to work through JS

Tried to create gitignore file to resolve


How to setup vannila js perawallet setup?

I tried to https://github.com/perawallet/connect-examples/tree/main/VanillaJS in my local.
but I couldn't as it uses npm package.
How vanilla js can make use of npm packages?

Hey @nitingupta-123,
You can try it on the app which we created on the sandbox from here. If you want to try in your local machine, you should follow this steps.

Run npm install in VanillaJS app directory with your terminal
After downloading some packages, you can run the project with npm start and view it in your browser.

When using it with vanilla JS, we are working on it to be able to use it in all projects as <script src="..../@perawallet/connect"> and we plan to publish it soon.
Thank you!

@yigiterdev Is there anyway to integrate PeraWallet with Angular?

Hey @nitingupta-123, You can try it on the app which we created on the sandbox from here. If you want to try in your local machine, you should follow this steps.
1. Run `npm install` in VanillaJS app directory with your terminal

2. After downloading some packages, you can run the project with `npm start` and view it in your browser.

When using it with vanilla JS, we are working on it to be able to use it in all projects as <script src="..../@perawallet/connect"> and we plan to publish it soon.
Thank you!

this never happened?


Deploy test-pods namespace and its content via flux

/kind enhancement
What this PR does / why we need it:
This PR moves the deployment of test-pods namespace and its content from deploy.sh to flux.
Which issue(s) this PR fixes:
Part of https://github.com/gardener-community/hackathon/tree/main/2024-12_Schelklingen
Special notes for your reviewer:

Follow up to https://github.com/gardener/ci-infra/pull/2812


Paramater "name" clashing in ZADD

On running the following code
import redis
r = redis.Redis(host='localhost', port=6379, db=2)

dict = {'name': 930.0}
r.zadd("KEY", **dict)

The following error trace is obtained
Traceback (most recent call last):
  File "test.py", line 6, in <module>
    r.zadd("KEY", **dict)
TypeError: zadd() got multiple values for keyword argument 'name'

If I understand this correctly, this is happening because this line expects a parameter name for the key and while flattening the dict, the name inside the dict is clashing with this parameter.
If the above is correct then this could be fixed by changing this line to something like
def zadd(self, somethingThatIsLeastLikelyToBeAEntryForSet, *args, **kwargs):

Until this is fixed a workaround for this would be to use the following code
import redis
r = redis.Redis(host='localhost', port=6379, db=2)

dict = {'name': 930.0}

pieces = []
for pair in dict.iteritems():
    pieces.append(pair[1])
    pieces.append(pair[0])
r.execute_command('ZADD', "KEY", *pieces)

in 2.10.5, the define of zadd is following
def zadd(self, name, *args, **kwargs)

and the example api shows
redis.zadd('my-key', 1.1, 'name1', 2.2, 'name2', name3=3.3, name4=4.4)

`score1, name1, score2, name2, ...` or `name1=score1, name2=score2, ...`


coq-equations: 1.2-beta2-8.8 -> 1.2-8.8

Motivation for this change
Update Coq-Equations for Coq 8.8 from 1.2-beta2-8.8 to 1.2-8.8 (the final release).
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] 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 nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @jwiegley

@GrahamcOfBorg build coqPackages.equations

Superseded by #65281


feat(@toss/react): OutsideClick Component

AS-IS
const [wrapperEl, setWrapperEl] = useState(null);

useOutsideClickEffect(wrapperEl, () => {
  console.log('outside clicked!');
});
return

;

TO-BE
<OutsideClick callback={() => console.log('outside clicked!')}>

something

</OutsideClick>

Overview
A component that declaratively handles the functionality of useOutsideClickEffect.
If you click outside the component wrapped in OutsideClick, callback is executed.
<OutsideClick callback={callback}>{children}</OutsideClick>

Attributes
Assign an generic ElementType to <OutsideClick>.
Use HTMLAttributes as needed.
function Component() {
  return (
    <OutsideClick<'input'>
      callback={() => console.log('outside clicked')}
      as="input"
      disabled
    />
  );
}

[x] Documentation completed. (96da885bb062a21a51acea0bc816478e58cf9019)
[x] Test code completed. (42cc85c830b28538de69603cc9a3435a3dfed364)

PR Checklist

[x] I read and included theses actions below

I have read the Contributing Guide
I have written documents and tests, if needed.

Thank you! it is great!

I was going to add a code to change to getByTestId for test code consistency, what do you think??
AS-IS
 render(
      <OutsideClick ref={ref} callback={onEffect}>

Inside Component

      </OutsideClick>
    );

    const insideElement = screen.getByText('Inside Component');

TO-BE
 render(
      <OutsideClick ref={ref} callback={onEffect}>

inside

      </OutsideClick>
    );

    const insideElement = screen.getByTestId('inside');


chore: reduce cases in get_square bench

TITLE
Description
Description of the pull request changes and motivation.
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.
[ ] CHANGELOG has been updated.

I'm closing this. With 1000 cases the benchmark doesn't even reach 1 GB of memory usage, so this change doesn't really fix the issue, as it's a general problem with the benchmarks workflow.


Getting error in Next.js app since yesterday

Call Stack
_.$e
https://accounts.google.com/gsi/client (128:335)
new rp
https://accounts.google.com/gsi/client (227:3)
aq
https://accounts.google.com/gsi/client (246:34)
No
https://accounts.google.com/gsi/client (244:246)
Object.Oo [as renderButton]
https://accounts.google.com/gsi/client (216:62)
eval
<EMAIL_ADDRESS>(91:0)
There's a quite similar issue opened yesterday: https://github.com/metabase/metabase/issues/32602

Issue solved by making the width property a number instead of string. However I had to disable type check (// @ts-nocheck), otherwise was getting an error that the module won't accept width type number.

Thanks. That workaround works.

Thanks for posting your workaround. Did not have to disable type check for our use, as current version types GsiButtonConfiguration with width?: string | number. Adding info to help others find via google:
Worked to resolve Google Identity Services (GSI) oauth login button render error.

Thank you for the quick patch for this! Changing width from string to number confirmed as fixing this issue for us in a few apps, too. Thanks, Google 🙄

Yes, It works, thanks alot.... the app was crashing... change width from string to number....


Delimiter in content in last column leaves second quote in when parsed

Seems like if there is a delimiter character in the last column of a csv (except for in the last row), then since the field gets wrapped with quotes, when it is parsed the second quote is left in. For example given this input:
first,second,third,fourth
one,aa aa,bb bb,cc cc
two,dd dd,"ee, ee","ff, ff"
three,gg gg,hh hh,"ii, ii"

The parsed data is:
[ { first: 'one', second: 'aa aa', third: 'bb bb', fourth: 'cc cc' },   { first: 'two',     second: 'dd dd',     third: 'ee, ee',     fourth: 'ff, ff"' },   { first: 'three',     second: 'gg gg',     third: 'hh hh',     fourth: 'ii, ii' } ]
As you can see "ff, ff" is parsed as 'ff, ff"'. The other values with delimiters in them are parsed fine since they are not in the last row or the last column.

This is only happening if you specify eol in parameters as \n explicitly.


Brian Munene: Welcome-to-Javascript, 3-weeks

Learning Objectives
1. What is Programming
What is a program? What is a programming language? How do programs and people
fit together?

[x] 🥚 Data in, Data Out: You understand that computer programs are used
to transform data, and can explain a JS program from this module in terms
of the data that goes in and the data that comes out.
🥚 Three Audiences: You can explain how a single file of code is used to
communicate with 3 different audiences:

[x] Developers: You can explain how code formatting, comments, logs and
variable names make it easier (or harder!) for a developer to understand
a program.
[x] Computers: You can explain how a computer follows your instructions
to store, read and modify data in program memory.
[x] Users: You can explain how the computer creates a dynamic user
experience by following different executions paths depending on user
input.

[x] 🥚 Tracing Variables: You can complete a trace table for a program
that uses only variables, and can check your work using the "trace"
button.
🥚 JavaScript Syntax: Given a program, you can identify these parts of
JavaScript syntax:

[x] Primitives
[x] Operators
[ ] Identifiers
[ ] Keywords
[ ] Checks
[x] Blocks
[x] Function Calls

[x] 🥚 Pseudo Code: You can explain what pseudo code is, how it's used and
why it's helpful.
[x] 🥚 Program Goals: You understand that a full JavaScript program can be
explained as a series of smaller goals, and can write names for the goals
in a simple working program.
🐣 Program Analysis: You can study a simple working program and identify:

[x] The program's behavior (data in, data out)
[x] The program's goals
[x] The program's syntax and language features
[x] Which parts of the source code are for which audience (users, devs,
computers)

[x] 🐥 Same Behavior, Different Code: You can study simple programs with
the same behavior (data in, data out) but different source code and
explain how the differences matter for each audience.

2. Just Enough JavaScript
Go in depth on JavaScript you need to know for writing interactive text-based
programs in the browser. Along the way you will learn how each language feature
works in small programs.

🥚 Listening and Reading: You can read code out loud, and understand your
classmates when they read code to you. You don't need to understand how a
program works to master these learning objectives!

[x] Listening You can exactly re-write a program that a classmate has
read
[x] Reading You can read a program out loud and guide your classmates to
re-write exactly the same code without them seeing the program. Every
indentation, semi-colon, comment and spelling in their program must be
identical to yours.

🥚 Static vs. Dynamic Analysis: You can explain and use these two ways of
studying a program, each can help you understand different aspects of your
code. To help understand this concept, the options panel in Study Lenses is
organized into static and dynamic study options:

[x] Static: Studying the text in a code file without running it. Some
static study methods are creating a flowchart, analyzing variables,
filling out a trace table, and drawing on code.
[x] Dynamic: Running code and studying the computer's behavior. Some
dynamic study methods are running code and reading console logs, using
the trace button, and stepping through in the debugger or JS Tutor.

[x] 🥚 Tracing Execution: You can complete a "steps" trace table for all
JS language features in Just Enough JavaScript, and can correct your table
using console output from the "trace" button.
[x] 🥚 Analyzing Variables: You can list all the variables in a program,
and answer these 5 questions for each variable:

Where is the variable declared?
What is the variable's scope?
Is the variable initialized with a value?
How many times is its value used (read) in the program?
How many times is the variable assigned a new value?
What types are assigned to this variable during the program's execution?

[ ] 🥚 Completing Programs: You can successfully fill in blanks for a
program when the missing words are provided, including distractors.
[ ] 🐣 Translating Pseudo Code: Given a program written in Pseudo Code,
you can translate it to working JavaScript.
[x] 🐣 Comparing Programs: You can compare two programs with similar code
and explain if they have the same behavior or not. If they do not, you can
explain how they behave differently and why.
[ ] 🐥 Constructing Programs: You can reconstruct a program's lines and
indentation, successfully ignoring distractor lines.
[x] 🐥 Linting: You can find and fix simple linting errors in JavaScript
programs.
[ ] 🐔 Writing Programs: You can write small programs that log specific
values, or pass specific test cases.

3. Understanding Programs
Learn how to understand a larger programs by finding connections between the
details and the big picture. By the end of this chapter you will know how to
read a new program and do a simple code review.

[ ] 🥚 Stepping Through: You can pause a script in a your browser's
debugger, arrange the debugger, collapse extra panels, and step through a
script written with Just Enough JS. At each point in execution you can
make a prediction of the next line before executing, and can check your
prediction using the scopes panel.
[ ] 🥚 Imperative Programming: You can explain what the Imperative
Programming paradigm is, and can explain how you know the programs in
Welcome to JS are Imperative.
[ ] 🥚 Logging: You can tracing specific aspects of a program's execution
and log them to the console.
[ ] 🐣 Naming Variables: You can analyze how a variable is used in a
program and give it two names:

Generic: You can give a generic name to a variable based on how it is
used in the program.
Specific: You can give a specific name to a variable based on how it's
used and the program's domain (the program's specific data and use-case).

[ ] 🐣 Describing Programs: You can read a program and describe it with
comments using to the methodology from /describing-programs:

Zoom Out
Zoom In
Find Connections
Describe Goals

[ ] 🐥 Code Review: Given a working program you can review the code for
clarity, correctness and style.

4. Developing Programs
Learn to modify and write larger programs in JavaScript. You'll cover many of
the hidden skills necessary to develop quality software and to work
collaboratively on a code base.

[ ] 🥚 Program Life Cycle: You can explain the two phases of a program's
life cycle.

Creation Phase
Execution Phase

[ ] 🥚 Fixing Errors: You can use the structured comment to describe an
error in your program, and can make several educated guesses at how to fix
the error.
[ ] 🐣 Fixing Bugs: You can use the structured comment to describe and fix
a bug in small programs.
[ ] 🐣 Modifying Programs: You can make small changes in a program to
change its behavior without breaking it.
[ ] 🐥 Refactoring: Given a working program, you can make changes to the
code without changing the program's behavior.
[ ] 🐥 Writing Programs: Given a description of a program's behavior
(user story + test cases), you can plan goals for the program and write
code to pass the tests.
🐔 Reverse Engineering: Given a working program with unreadable code, you
can:

[ ] Give the program a name.
[ ] Describe the program's behavior with a user story, acceptance criteria
and test cases.
[ ] Plan goals for the program.
[ ] Develop your own working program with the exact same behvior.

🐔 Imagining Programs: Given an empty page, you can imagine and develop
your own programs using Just Enough JavaScript. This includes:

[ ] A title.
[ ] A description with a user story, acceptance criteria and test cases.
[ ] Commented goals.
[ ] Fully working Code.

Setting Up

expand/collapse

You will need
NPM and
nvm on your computer
to study this material
Using a browser with good DevTools will make your life easier:
Chromium,
FireFox,
Edge,
Chrome

Install or update the study-lenses package globally

$ npm install -g study-lenses (if you do not have it installed)
$ npm update -g study-lenses (if you already have it installed)
Didn't work? you may need to try:

(mac) $ sudo npm install -g study-lenses

having trouble updating?

try this:
$ npm uninstall -g study-lenses && npm install -g study-lenses

Fork and clone this repository:

fork the HackYourFuture repository to your personal account

git@github.com:HackYourFutureBelgium/welcome-to-js.git

clone your fork to your computer

git clone --depth 1 git@github.com:HackYourFutureBelgium/<your-user-name>.git

when there are updates to the module:

update your fork with a PR
pull the changes from your fork to your computer

Navigate to the module repository in terminal

$ cd welcome-to-js

Run the study command from your CLI

$ study

The material will open in your default browser, you're good to go!

you can read the study-lenses user guide from your browser by navigating
to localhost:xxxx?--help

If you have a Windows computer and get this error:

... /study.ps1 cannot be loaded because running scripts ...

follow the instructions in
this StackOverflow answer, that should
take care of it ; )

Code Quality Scripts
This repository comes with some scripts to check the quality of this code. You
can run these scripts to check the code provided by HYF, and to check the code
you write when experiment with the examples and complete the exercises.
npm run format
This script will format all of the code in this repository making sure that all
the indentations are correct, the code is easy to read, and letting you know if
there are any syntax errors.
npm run spell-check
This script will check all of the files in your repository for spelling
mistakes. Spelling is not just a detail, is important! Good spelling helps
others read and understand your programs with less effort.
spell-check is not so clever though, it doesn't have all possible words in
it's dictionary and it won't know if you wanted to spell a word incorrectly.
If you think one of it's "Unknown word"s is not a problem, you can either ignore
the suggestion or add the word to the "words": [ ... ], list in
.cspell.json.
npm run lint:md
This script will lint all
the Markdown files in this repository, checking for syntax mistakes and other
bad practices. Fixing linting errors will help you learn to write better code by
pointing out your mistakes before they cause problems in your program.
Some linting errors will take some practice to understand and fix, but it will
be a good use of time.
npm run lint:js -- ./path/to/code
Just like lint:md, but for .js files. This script will lint all of the JS
files in this repository, letting you know if there are any syntax errors or bad
practices.

Some more details
How as things so far?
As things stand, I am making some good progress going through the material.
Progress
I am now working through the Just Enough Javascript
Where can you still use some help?
Grasping some of the Javascript concepts has been challenging but the resources provided are a great help. I highly recommend Javascript.info
Remarks?
I am now really enjoying seeing some Javascript code and predicting what it's going to do 😄💪 .

Hi @BrianMunene96,
It would be nice if you can push your solved exercises in the repo and add the link here.
(tracing variables, what is the programming, just enough js)

Week 1
I Need Help With:
For now, Everything is going on well as planned
What went well?
Reading through the Javascript materials and guessing what the program is going to do. Also scripting some simple JS programs
What went less well?
There are a ton of exercises and content (in a very good way). I sometimes find myself lost in between as I try to understand every single line of code.
Lessons Learned

basic Javascript syntax
Fundamental JS components/features such as variables, loops

Sunday Prep Work

Working through to finish just enough Javascript and as much of Understanding programs

Week 3
I Need Help With:
For now, Everything is going on well as planned
What went well?
Understanding how to fix bugs and errors
What went less well?
I had a bit of a challenge with the last exercise #pyramid 😄
Lessons Learned

Fixing errors and bugs
Stepping through the program to see how things are happening and linking with one another

Sunday Prep Work

Finish up assignments and check up on background materials


Unintuitive out of memory errors, and odd OOMs

I'm experimenting with TensorScope, and thus using large amounts of memory for tensors.  However, when I try this, I get odd oom-related errors.
Example (kotlin):
repeat(1000) {
    TFloat32.tensorOf(Shape.of(10000, 10000))
}

gives
2021-01-11 20:36:45.599992: W external/org_tensorflow/tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2021-01-11 20:36:45.625897: W external/org_tensorflow/tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2021-01-11 20:36:45.626092: W external/org_tensorflow/tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2021-01-11 20:36:45.626180: W external/org_tensorflow/tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2021-01-11 20:36:45.626262: W external/org_tensorflow/tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
Exception in thread "main" java.lang.NullPointerException
	at org.tensorflow.internal.buffer.TensorBuffers.tensorMemory(TensorBuffers.java:180)
	at org.tensorflow.internal.buffer.TensorBuffers.toFloats(TensorBuffers.java:102)
	at org.tensorflow.internal.types.TFloat32Mapper.mapDense(TFloat32Mapper.java:34)
	at org.tensorflow.internal.types.TFloat32Mapper.mapDense(TFloat32Mapper.java:30)
	at org.tensorflow.RawTensor.asTypedTensor(RawTensor.java:215)
	at org.tensorflow.Tensor.of(Tensor.java:90)
	at org.tensorflow.Tensor.of(Tensor.java:63)
	at org.tensorflow.types.TFloat32.tensorOf(TFloat32.java:79)
	at tester.TensorScopeKt.main(TensorScope.kt:8)
	at tester.TensorScopeKt.main(TensorScope.kt)

I'd think this is a fairly straight forward OOM, just without nice error messages, but the used memory in Task Manager (I'm on Windows) barely moves.  I do start using heap memory, but it caps 100MB, even with -Xmx6g.  Is there some limit on tensor allocations I'm not aware of?

Allocating virtual memory doesn't make the OS allocate any physical memory.
If you'd like to have both coincide a bit more, initialize all the memory to some value like 0.

Allocating virtual memory doesn't make the OS allocate any physical memory.
If you'd like to have both coincide a bit more, initialize all the memory to some value like 0.

This differes from if I run something like:
Graph().use { graph ->
    val tf = Ops.create(graph)
    val out = tf.zeros(tf.array(100_000, 100_000), TFloat32::class.java)

    Session(graph).use{ sess ->
        val tensors = mutableListOf<TFloat32>()
        repeat(1000){
            println("$it")
            val t = sess.runner().fetch(out).run()[0] as TFloat32
            tensors += t
            delay(10)
        }
    }

}

Which I see in Task Manager and doesn't run out of memory.

This differes from if I run something like:
Graph().use { graph ->
    val tf = Ops.create(graph)
    val out = tf.zeros(tf.array(100_000, 100_000), TFloat32::class.java)

    Session(graph).use{ sess ->
        val tensors = mutableListOf<TFloat32>()
        repeat(1000){
            println("$it")
            val t = sess.runner().fetch(out).run()[0] as TFloat32
            tensors += t
            delay(10)
        }
    }

}

Which I see in Task Manager and doesn't run out of memory.

That would explain the difference.  Is the NPE from running out of virtual memory?

That would explain the difference.  Is the NPE from running out of virtual memory?

Most likely, yes: "Memory type: Paged pool  | Limit in 64-bit Windows: 384 GB or system commit limit"
https://docs.microsoft.com/en-us/windows/win32/memory/memory-limits-for-windows-releases

Most likely, yes: "Memory type: Paged pool  | Limit in 64-bit Windows: 384 GB or system commit limit"
https://docs.microsoft.com/en-us/windows/win32/memory/memory-limits-for-windows-releases


[YUNIKORN-2796] Prune zero resource type from root and partition

What is this PR for?
After the last node is removed that registers a specific resource type the root queue and partition show it as a resource type with 0 maximum. A resource type that does not exist should not be shown at all. Pruning the 0 valued resource types for root and partition will fix that
Clean up of the partition code to use the same function to update partition and root settings for create, update and delete of a node.
Fix root queue check for max resource.
Fix tests that fake allocation or node registration to correctly set the root queue limits.
What type of PR is it?

[X] - Improvement
[X] - Refactoring

What is the Jira issue?

YUNIKORN-2796

How should this be tested?
Unit tests cover the internal checks
e2e tests cover the changes when included in the overall build

A question: don't we need to call root.Prune() somewhere?

The prune is called on the partition setting in updatePartitionResource before we set the same on the root. So it is called indirectly.


many to many table requires additional field

Describe the Bug
I have tables post | posttag | tag and code generated by prisma.
posttag table fields are postId, tagId. Its ok when I add any additional field.
node_modules\graphql\type\validate.js:69
throw new Error(errors.map(function (error) {
^
Error: Input Object type PosttagUpdateManyMutationInput must define one or more fields.
Environment (please complete the following information):

OS: Win 10
Node 15
Package version [e.g. 0.12.2] (please check if the bug still exist in newest release)
TypeScript version 4.1.3
types/graphql": "^14.5.0",

Looks like a duplicate of #19 🔒

Looks like a duplicate of #19 🔒


Tight coupling: improvements to user-interface

Summary/Description
This is a follow up to PR #1033.
During the review process, there was a general agreement that there should be an improvement to the user-interface for enabling tight coupling settings. This issue aims to coalesce the topics discussed.

Improvements to user-interface for tight coupling settings
In PR #1033, the tightCouplingSettings are tied to ARMI interfaces. @keckler and @drewj-usnctech both raised the argument of changing this to disconnect from the individual interfaces and instead interact with the ARMI composites directly. This new interface would look like the following (adapting from https://github.com/terrapower/armi/pull/1033#issuecomment-1376003683):
tightCouplingSettings:
    core:
        parameter: keff
        convergence: 1e-4
    blocks:
        parameter: power
        convergence: 1e-3

Some additional insight:

https://github.com/terrapower/armi/pull/1033#pullrequestreview-1239712718
https://github.com/terrapower/armi/pull/1033#issuecomment-1377650458

This would:

remove the ambiguity of parameters "belonging" to interfaces, since they really only "belong" to the ARMI data model.
be a cleaner/clearer approach to managing convergence on different composite levels (e.g., converging on assembly-power vs block power, peak assembly temperature vs block temperature, multiple temperatures [clad, fuel, coolant, etc], etc...)

Should this live on the Operator?
In the review of #1033, @john-science brought up concerns with adding additional functionality to the Operator class. Below are a few comments pulled from the review

https://github.com/terrapower/armi/pull/1033#discussion_r1060851225
https://github.com/terrapower/armi/pull/1033#issuecomment-1382441235

So this begs the question, what would be the ideal approach?
@keckler had the idea of creating a new "TightCoupler" interface that sits on the end of the interface stack and is (presumably) active/executed if o.couplingIsActive() == True.

https://github.com/terrapower/armi/pull/1033#issuecomment-1379174808

@john-science also briefly mentioned/spit-balled the idea of an Operator subclass, ConvergenceOperator.
I think both ideas have their own pros and cons. What do we think would be ideal? Do folks have any other ideas to consider as well?

@albeanth After I get back (April 10th), I would like to talk about this ticket.  Convergence is an important part of ARMI, and we are 90% of the way there to having this be an important feature in the system.

Hello @john-science
We have assorted our requests/questions In the order of descending priority.

Is it possible to select which physics/solvers are part of the iteration scheme? Eg. Physics1/Phisics2 iterate, once converged the Physics3 is executed?
Can we let users to come up with their own convergence parameter? For now, a developer needs to write the parsing routine whenever there is a user's demand to a new convergence parameter.
Can we configure the behavior of ARMI after it failed to meet the convergence criteria after it exceeds the max number of iteration? We may want to fail immediately instead of moving on to the next node.
Can we switch between relative and absolute convergence criteria or have both at the same time so we can move on when either one is met(like moose)
Can we have more than one parameters per interface to evaluate the convergence?
Can we measure convergence on a specific time node instead of throughout the entire lifetime?
Is it possible to define different time grids on which the different plugins operates? For example, plugin1/plugin2 (physics1/physics2) on a finer time grid and physics3 on a coarse time grid?

Hi @slee-USNC, while @john-science is on vacation I will take a stab at answering your questions!

Is it possible to select which physics/solvers are part of the iteration scheme? Eg. Physics1/Phisics2 iterate, once converged the Physics3 is executed?

This is currently not supported. This would require changes at the Operator-level within ARMI and likely creating a new subclass to manage tight coupling altogether with. Not impossible, but not supported right now.

Can we let users to come up with their own convergence parameter? For now, a developer needs to write the parsing routine whenever there is a user's demand to a new convergence parameter.

What sort of convergence parameter are you interested in? The unofficial plan, as I understand it, was to move use the parameters registered on the database to compute convergence. For example, we would converge on whichever parameters are listed. If this isn't what you are looking for, an example would be great!
tightCouplingSettings:
    core:
        parameter: keff
        convergence: 1e-4
    blocks:
        parameter: power
        convergence: 1e-3

Can we configure the behavior of ARMI after it failed to meet the convergence criteria after it exceeds the max number of iteration? We may want to fail immediately instead of moving on to the next node.

That is definitely doable, yes. If it's something you need/would want sooner than later, we could create a separate issue and get that put in.

Can we switch between relative and absolute convergence criteria or have both at the same time so we can move on when either one is met(like moose)

Hmmm. I'm not sure I am following the request. The way in which convergence is measured is currently hardcoded in each Application plugin. So if you could certainly have the core power be measured relative and another parameter in another plugin be measured via an absolute convergence criteria.

Can we have more than one parameters per interface to evaluate the convergence?

Unfortunately, no, not in the current form. At least not easily. If/once we switch to an Operator-based approach as outlined above, this will be possible.

Can we measure convergence on a specific time node instead of throughout the entire lifetime?

This actually currently exists! See the setting cyclesSkipTightCouplingInteraction within https://github.com/terrapower/armi/pull/1173.

Is it possible to define different time grids on which the different plugins operates? For example, plugin1/plugin2 (physics1/physics2) on a finer time grid and physics3 on a coarse time grid?

I think this could be possible. Though I'm not as familiar with this aspect of ARMI. I'll tag @keckler to see if he has any input here.

For point (7), here's my thoughts.
You are always free to change the interactions of different interfaces at each of the time nodes. So if you wanted to modify the interactEveryNode hook on an interface so that it doesn't actually execute at every node, that's easy enough to do. Just throw some logic in there like:
# only actually run if we are on an even time node
if timeNode % 2:
    return
else:
    do whatever calculations...

Obviously you could make that as sophisticated as you'd like.
This paradigm only allows one to skip interactions of certain interfaces on certain nodes, which means that the whole problem would still share a single time grid, just that some interface interactions are skipped. Effectively this mimics the difference between the interface hooks like interactBOC versus interactEOC, just at a deeper level.
If you want totally different time grids for different physics plugins, that is a different story and I would venture to say that will be very difficult to implement using the current ARMI setup. That would be pretty anathema to the entire ARMI design.
But to emulate something like that, you can define whatever time grid you want using the detailed cycle history. If you wanted to define some super weird time grid that was inclusive of all the time steps that were desired by your different plugins, and then include some logic in the various plugins to only execute on certain steps, then sure this is possible. It might get ugly pretty fast, depending on how much you actually want to have different time grids for each of your solvers. And then you will end up with prints to your databases at every one of those time nodes, so your DB might up pretty huge.
Does that make sense? @slee-USNC

So eventually, we'd like to know if ARMI can support an input structure like this:

I think this is reasonable. The feasibility of this will become clearer once we transition the convergence parameters off of the interfaces and onto the Operator.

If USNC would like to help in moving the convergence parameters to be as outlined above, I think we'd welcome the help :-)

If USNC would like to help in moving the convergence parameters to be as outlined above, I think we'd welcome the help :-)

@keckler We are willing to help on this development here. In order to maximize the efficiency of our development, can you provide some guidelines on how to approach this?

@aalfonsi I just wanted to touch base and let you know that we have not forgotten about this! We just have some internal deadlines that are creeping up and taking priority, currently.
After chatting with @john-science and @keckler about this yesterday, I am going to open up a discussion thread (and close this issue) so we (TP and USNC) can openly discuss and decide the specific focus of this work. I.e., what we want to do, why, and how. Once we have these items agreed upon, we will have specific development tasks identified and we can divvy up the work as appropriate to work together.

Perfect. Thanks a lot.

Closing this issue and moving to a discussion https://github.com/terrapower/armi/discussions/1245


How to use the saved model in a closed system with no internet access.

Hi,
I am using a cluster in which I have to submit jobs, it is a kind of a closed system, so it doesn't have internet access.
I have cloned the directory in the same folder as my training script so that it could load the models from there but even then I am getting
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1076)
This error comes up when the training script is trying to access something on internet.
Are there any suggestions which I can do to resolve this problem, like forcing my script to first check the directories available before pinging the internet for downloading.

You have an issue loading the pretrained model? You can download the weights manually (links in the utils file) and then load using .load_state_dict.


Make JedisByteHashMap entries Serializable

As far as I can see it makes no sense for the JedisByteHashMap to be Serializable if its entries are not?
(I hit this when attempting to use the output of Jedis.hgetAll(byte[]) in a wicket page, which has to be serializable)

It could be still valid, so I'd like @xetorthio @marcosnils to take a look, too.

Resolved by #2008


[bug] could not compile tauri

Describe the bug
i can't compile tauri, i think it's related to the latest release
commit 7f885bd5edf3e179ddf0b674c3ea7a96e26ce39e
Reproduction
No response
Expected behavior
No response
Full tauri info output
[✔] Environment
    - OS: Windows 10.0.19045 X64
    ✔ WebView2: 124.0.2478.80
    ✔ MSVC:
        - Visual Studio Build Tools 2019
        - Visual Studio Community 2022
    ✔ rustc: 1.78.0 (9b00956e5 2024-04-29)
    ✔ cargo: 1.78.0 (54d8815d0 2024-03-26)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.12.2
    - pnpm: 8.15.1
    - yarn: 1.22.19
    - npm: 10.5.0

[-] Packages
    - tauri [RUST]: 1.6.4
    - tauri-build [RUST]: 1.5.2
    - wry [RUST]: 0.24.9
    - tao [RUST]: 0.16.9
    - @tauri-apps/api [NPM]: 1.5.5
    - @tauri-apps/cli [NPM]: 1.5.13

[-] App
    - build-type: bundle
    - CSP: unset
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite

Stack trace
Compiling tauri v1.6.4
error[E0412]: cannot find type `Command` in module `crate::api::process`
   --> C:\Users\admin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-1.6.4\src\endpoints\shell.rs:230:41
    |
230 | ) -> super::Result<crate::api::process::Command> {
    |                                         ^^^^^^^ not found in `crate::api::process`
    |
help: consider importing this struct
    |
7   + use std::process::Command;
    |
help: if you import `Command`, refer to it directly
    |
230 - ) -> super::Result<crate::api::process::Command> {
230 + ) -> super::Result<Command> {
    |

   --> C:\Users\admin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-1.6.4\src\endpoints\shell.rs:290:50
    |
290 |     if let Some(encoding) = crate::api::process::Encoding::for_label(encoding.as_bytes()) {
    |                                                  ^^^^^^^^ could not find `Encoding` in `process`
    |
help: consider importing this struct
    |
    |
help: if you import `Encoding`, refer to it directly
    |
290 -     if let Some(encoding) = crate::api::process::Encoding::for_label(encoding.as_bytes()) {
290 +     if let Some(encoding) = Encoding::for_label(encoding.as_bytes()) {
    |

Some errors have detailed explanations: E0412, E0433.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `tauri` (lib) due to 2 previous errors

Additional context
No response

Can you try running cargo update inside src-tauri? if still doesn't work then share a repro please?

Same happens to me. It started approximately 1-2 hours ago, when tauri 1.6.4 released

Can you try running cargo update inside src-tauri? if still doesn't work then share a repro please?
this is a clean installation, just run npm create tauri-app@latest and follow the instructions

a fix is released, run cargo update -p tauri inside src-tauri directory


Unicode width versus rendered width

https://github.com/unicode-rs/unicode-width

The computed width values may not match the actual rendered column width. For example, the woman scientist emoji comprises of a woman emoji, a zero-width joiner and a microscope emoji.

https://github.com/jtdaugherty/vty#multi-column-character-support

Those rendering problems arise from Vty and the terminal emulator coming to different conclusions about how wide some characters are.


Do not skip logging errors on docker pause/unpause errors.

PG2-428 greenish.  PG2-429 ongoing.

Merged as https://github.com/openwhisk/openwhisk/commit/1cf32889678c524f6cb0f8de1c132661517c2374.


[WIP] LLaVA support

The goal of this MR is to enable measuring VLM throughput and latency where input includes images.

@dyastremsky yes, the script was originally created by Tim in the beginning of genai-perf when we didn't have CI but we never used it afterwards (it's not even part of our unit test). Since we now have CI in place, I don't think we need this script any more.

@dyastremsky yes, the script was originally created by Tim in the beginning of genai-perf when we didn't have CI but we never used it afterwards (it's not even part of our unit test). Since we now have CI in place, I don't think we need this script any more.

Great job cleaning this up!


build: using Node.js LTS also cleaning up the config

Pull Request Test Coverage Report for Build 588

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

Totals

Change from base Build 587:
0.0%

Covered Lines:
23

Relevant Lines:
23

💛  - Coveralls


TypeError: new mui.Styles.ThemeManager() is not a function

I have a simple React component here, and when I try to load this code I get an error:
const ThemeManager = new mui.Styles.ThemeManager();
                     ^
TypeError: object is not a function
...

This is the code that I currently have. Can anyone help figure out what might be causing this weird error?
const React = require('react');
const injectTapEventPlugin = require("react-tap-event-plugin");
injectTapEventPlugin();
const mui = require('material-ui');

const List = mui.List;
const ListDivider = mui.ListDivider;
const ListItem = mui.ListItem;
const FontIcon = mui.FontIcon;
const RaisedButton = mui.RaisedButton;

// This line is throwing an error
const ThemeManager = new mui.Styles.ThemeManager();

const SideBar = React.createClass({

  childContextTypes: {
    muiTheme: React.PropTypes.object
  },

  getChildContext: function() {
    return {
      muiTheme: ThemeManager.getCurrentTheme()
    };
  },

  render: function(){

    return(
      <div className='sidebar'>
        <RaisedButton label="Primary" primary={true} />
        <List>
          <ListItem primaryText="Inbox" />
          <ListItem primaryText="Starred" />
          <ListItem primaryText="Sent mail" />
          <ListItem primaryText="Drafts" />
        </List>
        <ListDivider />
        <List>
          <ListItem primaryText="All mail" />
          <ListItem primaryText="Trash" />
          <ListItem primaryText="Spam" />
          <ListItem primaryText="Follow up" />
        </List>
      </div>
    );
  }

});

module.exports.SideBar = SideBar;

ThemeManager has a new API in 0.12. you no longer use a constructor. see http://material-ui.com/#/customization/themes

Okay, thank you for the help! @bdefore

I am getting this kind of warnings, elements are stopped working(onClick)
Warning: owner-based and parent-based contexts differ (values: `undefined` vs `[object Object]`) for key (muiTheme) while mounting IconButton (see: http://fb.me/react-context-by-parent)

Do you guys have any kind of an upgrade guide or changelog that can help code bases transition to new versions? This has been a very frustrating experience to move to 0.13

Seems like this issue is resolved.


Installation Failed [Could not find a part of the path]

Attempting to install v0.3.2 from binary on Windows 10 home x64, I get the following error popup:

and then SquirellSetup.log:
2016-05-06 10:17:36> Program: Starting Squirrel Updater: --install .
2016-05-06 10:17:36> Program: Starting install, writing to C:\Users\mo\AppData\Local\SquirrelTemp
2016-05-06 10:17:36> Program: About to install to: C:\Users\mo\AppData\Local\ghost
2016-05-06 10:17:36> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mo\AppData\Local\ghost\packages\RELEASES'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
   at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__3f.MoveNext()
2016-05-06 10:17:36> CheckForUpdateImpl: Reading RELEASES file from C:\Users\mo\AppData\Local\SquirrelTemp
2016-05-06 10:17:36> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2016-05-06 10:17:36> ApplyReleasesImpl: Writing files to app directory: C:\Users\mo\AppData\Local\ghost\app-0.3.2
2016-05-06 10:17:41> IEnableLogger: Failed to install package to app dir: System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
---> (Inner Exception #0) System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()<---

2016-05-06 10:17:41> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.UpdateManager.<FullInstall>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.Update.Program.<Install>d__38.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.UpdateManager.<FullInstall>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.Update.Program.<Install>d__38.MoveNext()
---> (Inner Exception #0) System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()<---
<---

2016-05-06 10:18:16> Program: Starting Squirrel Updater: --install .
2016-05-06 10:18:16> Program: Starting install, writing to C:\Users\mo\AppData\Local\SquirrelTemp
2016-05-06 10:18:16> Program: About to install to: C:\Users\mo\AppData\Local\ghost
2016-05-06 10:18:16> Program: Install path C:\Users\mo\AppData\Local\ghost already exists, burning it to the ground
2016-05-06 10:18:17> CheckForUpdateImpl: Failed to load local releases, starting from scratch: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Users\mo\AppData\Local\ghost\packages\RELEASES'.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
   at Squirrel.Utility.LoadLocalReleases(String localReleaseFile)
   at Squirrel.UpdateManager.CheckForUpdateImpl.<CheckForUpdate>d__3f.MoveNext()
2016-05-06 10:18:17> CheckForUpdateImpl: Reading RELEASES file from C:\Users\mo\AppData\Local\SquirrelTemp
2016-05-06 10:18:17> CheckForUpdateImpl: First run or local directory is corrupt, starting from scratch
2016-05-06 10:18:17> ApplyReleasesImpl: Writing files to app directory: C:\Users\mo\AppData\Local\ghost\app-0.3.2
2016-05-06 10:18:20> IEnableLogger: Failed to install package to app dir: System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
---> (Inner Exception #0) System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()<---

2016-05-06 10:18:20> Unhandled exception: System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.UpdateManager.<FullInstall>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.Update.Program.<Install>d__38.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at Squirrel.Update.Program.executeCommandLine(String[] args)
   at Squirrel.Update.Program.main(String[] args)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<installPackageToAppDir>b__b1(DirectoryInfo ld)
   at Squirrel.EnumerableExtensions.ForEach[TSource](IEnumerable`1 source, Action`1 onNext)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<<installPackageToAppDir>b__ad>d__bd.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<LogIfThrows>d__50`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<ApplyReleases>d__7a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.UpdateManager.<FullInstall>d__f.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
   at Squirrel.Update.Program.<Install>d__38.MoveNext()
---> (Inner Exception #0) System.IO.IOException: Access to the path 'resources' is denied.
   at System.IO.DirectoryInfo.MoveTo(String destDirName)
   at Squirrel.UpdateManager.ApplyReleasesImpl.<>c__DisplayClassb4.<>c__DisplayClassb9.<>c__DisplayClassbb.<installPackageToAppDir>b__b2(DirectoryInfo subdir)
   at Squirrel.Utility.<>c__DisplayClass18`1.<>c__DisplayClass1a.<ForEachAsync>b__17()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Squirrel.Utility.<>c__DisplayClass1e`1.<>c__DisplayClass20.<<ForEachAsync>b__1d>d__22.MoveNext()<---
<---

Hm, sorry that you're having trouble. Did you ever install one of our preview versions? Also, could you give this release a try?
https://github.com/TryGhost/Ghost-Desktop/releases/tag/v0.4.0

Hello @felixrieseberg ,
No this is the first time I'm installing this client. I've tried running that release but I get the same error long!

I'm closing this issue for now - granted, we never figured out what happened here, but since nobody else ran into this issue and we upgraded our installation components a few times, I just really hope that the bug is gone now :bug:


Explore setting up a try/reject system for ASDF converters

In astropy/asdf-astropy#144 I describe solution (2) here: https://github.com/astropy/asdf-astropy/issues/144#issuecomment-1343410493 with more details here: https://github.com/astropy/asdf-astropy/issues/144#issuecomment-1343411260.
I think this solution requires more exploration.
As a recap the idea is to create a system where-in:

A Converter instance can "reject" serializing a given object.
ASDF gracefully handles this and continues searching for another Converter to attempt serialization.

This seems like a nice system to have as it would allow users to handle serializing objects that have been determined by previous Converters to not be serializable.

A first tangential thought on this is that maybe we should allow libraries to control the "search" order for searching the Extensions for  a viable Converter as there are circumstances where one might want to insert a Converter one wants to try first and then if it "rejects" fall back on a builtin converter.

This is somewhat related to #1086 (at least in-so far as documenting the current tag handling behavior).


docs: new content

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


Add start page

Need to open a start page. Users should see 1-5 thoughts.
Will call from /api/startpage and return a list of thoughts.
These will be some combination of notifications, recent thoughts, and thoughts from followed users.

Current status: the start page consists of a single cothought that tries to summarize your last ten thoughts.


We never hold or short 10 shares of a stock in this simulation?

The documentation says "We never hold or short 10 shares of a stock in this simulation,"
could anyone explain this to me?
I am confused, because the JavaScript UDA seems to contradict this.

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

ID: f0b6ba63-6a6f-470e-33fc-01d7fa89b0dc
Version Independent ID: 733f8aaf-9dbc-19c8-ddc3-7fad87059afa
Content: High-frequency trading using Azure Stream Analytics
Content Source: articles/stream-analytics/stream-analytics-high-frequency-trading.md
Service: stream-analytics
GitHub Login: @enkrumah
Microsoft Alias: ebnkruma

@jamesliu1
Thanks for the feedback! We are currently investigating and will update you shortly.

Thank you for your feedback. We have added the updates to a PR request.
#please-close

Fixed by https://github.com/MicrosoftDocs/azure-docs-pr/pull/150668


@internal and @coversNothing added to non test class

Bug report
In my Symfony project, I have an entity named ProductTest.
This entity is a real entity used by our project, not related to tests, and extends nothing.
But when I run the php-cs-fixer fix command (using @PhpCsFixerrule), @internal and @coversNothing annotations are added to my entity.
/**
 * @ORM\Entity
 *
 * @internal
 * @coversNothing
 */
class ProductTest
{
    //...
}

Is there any way to tell PHP-CS-Fixer where is the tests folder to improve tests classes detection or something?

This works as expected, has even a test case for your example: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/v3.0.2/tests/Indicator/PhpUnitTestCaseIndicatorTest.php#L61
There is currently no way to configure tests directory.

So this means the expected isn't correct. why closing the issue?

In your link, the method name is provideIsPhpUnitClassCases.
And the class matching is not PhpUnit...

So this means the expected isn't correct. why closing the issue?

Why do you claim expected isn't correct?
My link is to the line 61, which is a test case for <?php final class MyTest {} - a class with a name Test at the end recognized as test class (the final keyword does not matter). Here is a check that is satisfied for any class with name ending with "Test".

Why do you claim expected isn't correct?

Because it can match false positive

If you change the behaviour it can introduce some false negatives.


Getting Started Guide updates, round 1

A first round of updates for the Getting Started guides, focusing on reducing unnecessary text, standardizing language/formatting, updating screenshots, and improving navigation. Next round will include more thorough look at the deploying code section, as well as splitting off everything after the code download step into separate pages.

P.S. I've just noticed that near the top of https://docs.resin.io/raspberrypi/nodejs/getting-started/ there's a link that says "Looking for other boards documentation? Click here." which links to https://docs.resin.io/installing/otherboards/
Are the devices in that list going to be updated to support the same "templating" scheme as all the other devices' documentation?  At the very least, I strongly suspect that https://docs.resin.io/installing/otherboards/ shouldn't say "all the boards supported by resin.io" ??


(bug): version splitting does not account for org scoped packages

https://github.com/CloudSnorkel/cdk-turbo-layers/blob/4c77998ec34a699a5a1bb7bfba7940663ca25bff/src/nodejs.ts#LL39C42-L39C56
From the browser console:
> "@aws-sdk/client-s3@3.259.0".split('@', 2)
< Array [ "", "aws-sdk/client-s3" ]

Then we end up with a package.json similar to this:
{"dependencies":{"":"aws-sdk/client-s3"}}

Maybe this little helper could be used?
https://github.com/egoist/parse-package-name

Thanks! We can't use that external library because it's not JSII enabled, but I'm sure we can create a little workaround.

Right, forgot about the JSII part.
Well, the library is tiny, so can probably just copy paste the code.

Thanks, works! 🎉


Spring container not shutting down after test

Type: Bug
Component:
SQS
Describe the bug
Running the SQS listener, with Localstack to simulate the queue, the Spring container is not shutting down cleanly when running tests through Maven. This manifests itself in various ways, but my main evidence is that I see these log messages at the end of my test run:
01:44:42.922 [SpringContextShutdownHook] INFO  o.s.b.a.ApplicationAvailabilityBean - Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC 01:44:42.943 [SpringContextShutdownHook] INFO  o.s.b.a.ApplicationAvailabilityBean - Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC 01:44:42.945 [SpringContextShutdownHook] INFO  o.s.b.a.ApplicationAvailabilityBean - Application availability state ReadinessState changed from ACCEPTING_TRAFFIC to REFUSING_TRAFFIC
It appears that the containers build up between test classes, and interfere with each other, intercepting messages from each other's queues. I have tried making sure that immediate shutdown is set on Spring, and tweaking the various timeout values, but cannot find a sweet spot to encourage the SQS classes to die aggressively.

To verify if still valid in 3.0

Hi everyone,
I was running into the same issue with spring-cloud-aws-starter-sqs 3.0.0-M3.
While the tests following the SQS integration test were executing I could see a lot of:
13:26:03.196 96620 ERROR sdk-async-response-3-7 i.a.c.s.l.s.AbstractPollingMessageSource - Error polling for messages in queue braze-currents-notifications
java.util.concurrent.CompletionException: software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: Connection refused: no further information: /<IP_ADDRESS>:51431
	at software.amazon.awssdk.utils.CompletableFutureUtils.errorAsCompletionException(CompletableFutureUtils.java:62) ~[utils-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncExecutionFailureExceptionReportingStage.lambda$execute$0(AsyncExecutionFailureExceptionReportingStage.java:51) ~[sdk-core-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:934) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:911) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) ~[na:na]
	at software.amazon.awssdk.utils.CompletableFutureUtils.lambda$forwardExceptionTo$0(CompletableFutureUtils.java:76) ~[utils-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) ~[na:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.maybeAttemptExecute(AsyncRetryableStage.java:103) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.maybeRetryExecute(AsyncRetryableStage.java:184) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.lambda$attemptExecute$1(AsyncRetryableStage.java:159) ~[sdk-core-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) ~[na:na]
	at software.amazon.awssdk.utils.CompletableFutureUtils.lambda$forwardExceptionTo$0(CompletableFutureUtils.java:76) ~[utils-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) ~[na:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$null$0(MakeAsyncHttpRequestStage.java:103) ~[sdk-core-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2162) ~[na:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeAsyncHttpRequestStage.lambda$executeHttpRequest$3(MakeAsyncHttpRequestStage.java:165) ~[sdk-core-2.18.28.jar:na]
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) ~[na:na]
	at java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:482) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: Connection refused: no further information: /<IP_ADDRESS>:51431
	at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:111) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.exception.SdkClientException.create(SdkClientException.java:47) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.setLastException(RetryableStageHelper.java:223) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.setLastException(RetryableStageHelper.java:218) ~[sdk-core-2.18.28.jar:na]
	at software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncRetryableStage$RetryingExecutor.maybeRetryExecute(AsyncRetryableStage.java:182) ~[sdk-core-2.18.28.jar:na]
	... 22 common frames omitted
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: /<IP_ADDRESS>:51431
Caused by: java.net.ConnectException: Connection refused: no further information
	at java.base/sun.nio.ch.Net.pollConnect(Native Method) ~[na:na]
	at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) ~[na:na]
	at java.base/sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:946) ~[na:na]
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:337) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:776) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.85.Final.jar:4.1.85.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.85.Final.jar:4.1.85.Final]
	at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]

Additionally, my pipeline was getting OOM.
My current workaround is to annotate the integration test with @DirtiesContext(classMode=DirtiesContext.ClassMode.AFTER_CLASS). With this annotation I could see at the end of the test the container being shut down:
13:47:05.507 60165 INFO  lifecycle-thread-3 i.a.c.s.l.AbstractMessageListenerContainer - Container io.awspring.cloud.sqs.sqsListenerEndpointContainer#0 stopped

Setting spring.cloud.aws.sqs.enabled to false for all the other tests didn't help either.

Hi @rbraeunlich,
Well, the connection error itself is not that hard to figure - probably the Spring Context remains open after the LocalStack Container is stopped, and you get the errors.
For tests, it seems the context is not stopped with every test unless you add a @DirtiesContext annotation. Another way would be making sure the LocalStack Container is only stopped after all tests are over.
I'm not sure how to improve on this - the containers start and stop with the context which is the right way to go in apps. I think maybe it should be an improvement in the coordination between Spring Contexts and the dependency Docker Containers, but that's not in the scope of this project.
The OOM error seems a bit more concerning - can you share any more details on that?
Thanks.

Unfortunately not, the pipeline is not very verbose about this. What I can say is that our service has a lot of integration tests. If(f) we assume that every new test context starts a new container and doesn't shut it down the OOM seems logical somehow.

@rbraeunlich a sample that reproduces this issue would be helpful

Hey @maciejwalkowiak
I hope this project helps: https://github.com/rbraeunlich/sqs-bug
When you run the tests the ZLongRunningOtherTest should run as second test and you should see the exceptions of the still running container.

I think this is hardly an issue with this project, and much more an issue with Spring Boot tests and Testcontainers in general. Not sure if any improvements were made with latest SB / Testcontainers integration.
Fact is, if containers are stopped between test suites (as they normally should), but Spring Context remains open for reuse, it will throw errors.
Using @DirtiesContext helps context be as disposable as the containers.
I'll close this issue and we can reopen if necessary. Thanks.


Support for generating FHIR ServiceRequests objects per patient

Hello,
Does synthea support generating service requests for patients for the definitions as listed below?
If so, what options should I configure in the synthea.properties file to generate a varied set for the service categories as listed below ?
https://www.hl7.org/fhir/servicerequest.html
https://www.hl7.org/fhir/valueset-servicerequest-category.html
https://www.hl7.org/fhir/valueset-servicerequest-category.html#definition
Code	Display
108252007 	Laboratory procedure
363679005 	Imaging
409063005 	Counselling
409073007 	Education
387713003 	Surgical procedure
Thank you

Synthea does not generate ServiceRequest resources.
As a work around, you can post-process the dataset and generate a ServiceRequest for every Encounter, ImagingStudy, or Procedure of interest and back date it.

Hi @jawalonoski , thank you and happy new year!
I will try that work around. But, generating ServiceRequest - especially for ImagingStudy is a common need.
Would appreciate if the capability to generate ServiceRequest for ImagingStudy could be added at on the roadmap.
Thank you


Integrate with mypy

@tinnaing347 We have discussed making mypy and static analysis part of CI and I think now would be a good time to do it ...
After #48

@tinnaing347 Should also add black to the toolchain here

@tinnaing347 I'm going to try to knock this out this week...


Add function to interpolate Curve on uniform grid

something similar to:
c = sort(Curve(dat.wavenumber, dat.absorbance))
δx = minimum(diff(c.x))
x_even = collect(minimum(c.x):δx:maximum(c.x))
interp = LinearInterpolation(c.x, c.y)
full_spectrum = Curve(x_even, interp(x_even))

We leave this out not to include too many dependencies in the package.