Single URL for installing latest version of NVM - by using releases

At #627 you said it is up to github to give a single url for script. You can put your install script to Releases and do something like this:
curl -L -O "https://github.com/nvm-sh/nvm/releases/latest/download/nvm_sh-$(uname)-$(uname -m).sh"
bash nvm_sh-$(uname)-$(uname -m).sh

At this way, you can also separate different version installation scripts, too.
Or, if you don't want to do that, you can set a script that will get the latest release from github like homebrew did.
I think putting scripts to releases will be much more easier. If you still want to put a single script for all releases, you can still write install.sh instead of nvm_sh-$(uname)-$(uname -m).sh.

I surely could - but I don't want people doing that. I understand a lot of people want to do that, but that doesn't mean it's a good idea.

If I had asked people what they wanted, they would have said faster horses

attributed to Henry Ford, the inventor of the car.
Annoying or not, you should always explicitly fetch the version number you need (absent semver, where a ^ range would be ideal), and I will always do everything I can to make it harder for people to do the actively harmful thing of blindly grabbing the "latest".
Duplicate of #400.

You can still block the update on install script. I don't understand why it is a big issue for you? You can still block the update on install.sh and add a nvm update command to update nvm, and everything will be okay.

Yes, that's what #400 tracks. Such a command would refuse to blindly update across breaking changes, which would be fine.
As much as it's under my control, I will not allow my users to do something that actively harms them, and "just use the latest" is exactly that.

It is ironic, because:

nvm has a command called install-latest-npm, much riskier in all regards than self upgrading in any way
the support policy basically says that only the latest version is supported so you are making people - the same people that you don't trust with wanting the right things - to chase after the support constantly, by explicit effort, when it should really just be mutual interest that people are using a supported version
even on Node's website, the download script has an outdated version of nvm at this very moment: 0.40.0 instead of 0.40.1

At the very least, nvm should provide a command to query the supported versions - which seem to coincide with the sole latest version but that's really just your decision as a maintainer. This is the least to encourage, rather than sabotage, people using supported software.

@2colours can you link to where on node's website that's the case? I'll try to update it so it's always up to date.
In basically all open source software, only the latest version is supported, unless they have an LTS policy that supports prior release lines, I've just made it explicit here.
Your point about installing the latest npm is valid, but that command largely exists for older node versions where the stock npm simply doesn't work at all.

@2colours can you link to where on node's website that's the case? I'll try to update it so it's always up to date.

https://nodejs.org/en/download/package-manager, select MacOS or Linux and NVM. This is the only place I'm aware of where installation instructions of NVM are mentioned - it's not obscure, at least.
Anyway, I think you are just way too fixated on throwing a somewhat moody obstacle into the way of users to use an up-to-date version of - not even a platform but just a utility script. There is no question that you can always "argue your way out" of the finite number of funny peculiaritites and inconsistencies with this apparent policy - but is that a worthy goal to begin with?
The point is really simple: the users prefer to use supported software, especially with a utility script that can barely break anything. The maintainer should, I suppose, also prefer people using the supported version. And yet no easy upgrade path is available; the people aren't informed about end of support or new versions in any way; they have to keep track of it or query it by themselves, and even if they do that (I reckon they don't), it's  not only possible but as we can see, it does happen in actual reality that the most obvious place to download a new version is not even an up-to-date, supported - yes, "latest" - version.
Is this agenda really worth so much? These are all just obvious manual usage issues so far, we haven't even talked about CI/CD where it's almost certain one wouldn't want to pin utility scripts but would always just want to receive a working version and rather pin the parameters of the environment to be built, then deploy the environment and drop the script.

I would rather explicitly support old versions than allow blindly updating it the latest, not that i think that’s a decision i have to make.
The easiest possible upgrade path is available, one that works on basically all software: just install the new version, which you can get from the readme. You can even watch releases on the repo if you want to be notified when there’s a new one.

I would rather explicitly support old versions than allow blindly updating it the latest, not that i think that’s a decision i have to make.

My point exactly. You don't really make a good case for it - definitely not a good enough case that would explain the resistance to anything that would make getting updates (and staying supported) easier.

The easiest possible upgrade path is available

I can't see how this is easier than any of these:

a self-upgrade with any sort of configuration
a reliable and automatable way to receiving "the latest" (any supported, whatever) version
a way to get information about available updates within the script

you can get from the readme. You can even watch releases on the repo if you want to be notified when there’s a new one.

I can't be the only one who only got this script to begin with because it was recommended on the Node site. This really is just a one-off utility tool, something that could even come preinstalled with Node, not something I would ever want to explicitly track.
Anyway, you are right, one could simply do that. Just like one could simply make a decision about their own upgrade policy even if there is actually an easy way to run the upgrades. If your whole point is that people cannot be trusted with "drugs" like that, why do you suddenly trust them to put a nontrivial amount of attention into a one-off utility tool, rather than the more likely outcome: just missing out on the updates altogether?
Maybe I am the customer who wanted faster horses rather than cars (although I don't think that analogy was a good fit here in the first place) but now that the main recommendation on the Node site is actually fnm and not nvm - which at least does use a fixed url for the version people are supposed to download anyway - I see no point in "fighting harder" for nvm when I heavily disagree with this "agenda over practical considerations" maintainer attitude anyway and rather wouldn't legitimate it by using the tool when there are fine alternatives.

The recently redesigned node site indeed has the flaw you're pointing out, and I will definitely be fixing it so that it always shows the latest version in the instructions.
Additionally, the default recommendation as far as I'm aware is only fnm if you initially load the page on Windows - on Mac and Linux, it defaults to nvm (the dropdown is sticky, though, as you change OS's, so if whatever was set is available on the OS you change to, it will remain set).
You are of course more than welcome to select your software based on your comfort level with the maintainer's attitude, just as a maintainer of an open source product doesn't ever have to justify anything to anyone - open source comes "as is".


How to reactivate the camera after the user acknowledges that their last scan failed.

When i get error in scanning, i need to scan again but it is not allowing. How to reactivate the scanner

If you have a ref to the scan, call ref.reactivate() when you have the error, or you can call a function that does it, like the one below
_reactivate = throttle(() => {     if (this.scanner)       this.scanner.reactivate();   }, 2000, {trailing: true, leading: false});


Calling synchronous methods on native modules is not supported in Chrome

Description
I am using react-native-unistyles version 2.0.0 but have some problems when starting debug.

Steps to reproduce

npm install react-native-unistyles
Follow the set up guide for react native
open devtools (Debug JS Remotely or Open Debugger(Flipper))

Snack or a link to a repository (optional)
No response
Unistyles version
2.0.0
React Native version
0.72.6
Platforms
Android, iOS
Engine
Hermes
Architecture
Paper (old)

Hey 👋
Library has JSI bindings, so Debug JS Remotely with Chrome won't work.
Also:
Remote JS Debugging with Chrome is deprecated
Source:
https://github.com/react-native-community/discussions-and-proposals/discussions/734
For Flipper:
Debugging React Native apps with Flipper is [deprecated in React Native 0.73](https://github.com/react-native-community/discussions-and-proposals/pull/641). We will eventually remove out-of-the box support for JS debugging via Flipper.

Source:
https://reactnative.dev/docs/debugging?js-debugger=flipper
I'm not willing to support deprecated debugging methods, even though you're on version 0.72.
Few solutions:

For expo use Expo debugger (j key) - I'm using it and I can confirm that it works out of the box
For RN use New Debugger (I haven't try it yet)

Sources:

https://reactnative.dev/docs/debugging
https://docs.expo.dev/debugging/tools/


Can't Find .pak Files...

It can't find the .pak files for some reason and Idk why please help

Nvm fixed it


debug golang project, breakpoint is invalid

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:  1.91
OS Version:  windows11 and wsl2

Steps to Reproduce:

breakpoint main.go line fmt.Println(i), it invalid
func main() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
}
2.terminal immediate output

/causedByExtension

This issue is caused by an extension, please file it with the repository (or contact) the extension has linked in its overview in VS Code or the marketplace for VS Code. See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!

/causedByExtension
how to fix it, thanks

how to fix it, thanks

Please report it to the extension authors. The Report Issue option from the Help menu can help you do this.

how to fix it, thanks

Please report it to the extension authors. The Report Issue option from the Help menu can help you do this.

who is extension authors, and which one extension caused the issue

Which extension(s) did you add in order to have Go support in VS Code?

So please report it to the extension authors. Maybe the extension updated. Or maybe it has a compatibility issue with a VS Code update. Either way they are the best people to investigate it.

The same issue for C++. And I also saw a similar issue for JS submitted a few days ago.


Wasmtime is mostly dead

Mozilla has fired 25% of it's workforce a few days ago.
Among them, some rust core team members and all wastime paid devs have been fired.

Not only is it factually incorrect regarding the Wasmtime developers at Mozilla (of which I am still one), Wasmtime is a Bytecode Alliance project and is maintained by a large number of contributors outside of Mozilla.
Even if this were the proper forum to discuss it, which it is absolutely not, please refrain from spamming repositories with unactionable issues like this one.

Not only is it factually incorrect regarding the Wasmtime developers at Mozilla (of which I am still one) great, I didn't know that. It does not confirm that wasmtime will get enough resources to achieve its goals but still is a reassuring information.
Wasmtime is a Bytecode Alliance project and is maintained by a large number of contributors outside of Mozilla. same answer, I wonder how active are other sponsors (red hat, Intel, etc)
Even if this were the proper forum to discuss it, which it is absolutely not
It absolutely is and is obvious to understand:
Krustlet use wasmtime as a dependency and therefore if wasmtime were to be compromised, then Krustlet would be too.
spamming spamming something require to repeat a nuisible or at best useless action, here the action is useful (information sharing in case we're Krustlet devs weren't aware of the state of affairs) and most importantly isn't a repetition of an already done action and therefore, obviously, doesn't qualify at all as spamm.
But yeah the issue can be kept closed if you reasonably assume that wasmtime requirements aren't compromised which is epistemologically uncertain for an outsider, but as a moz intern I guess that you know more.
Regards,
LifeIsStrange

I am going ahead and locking this thread as this discussion is neither constructive, actionable, nor helpful.
But to be totally clear on our stance - as peter mentioned earlier - wasmtime is maintained by a larger group of contributors as part of the ByteCode Alliance. While we are sad to hear about the layoffs at Mozilla, that does not mean that wasmtime is “mostly dead”. We are quite confident that the project continues to be a valuable project to the WebAssembly community, and we will continue to use, provide feedback, and continue to contribute to the wasmtime community. It is also likely that the maintainers who were previously working on wasmtime for Mozilla will find new employment opportunities from companies looking to continue investing in wasmtime.


Can't run inference - RuntimeError: unsupported input to tensordot, got dims=0

When I run the inference (like for example the one provided in the tests)
import numpy as np
import torch
import leaf_audio_pytorch.frontend as torch_frontend
py_leaf = torch_frontend.Leaf().cuda()
# (batch_size, num_samples, 1)
test_audio = np.random.random((8,15000,1)).astype(np.float32)

# convert to channel first for pytorch
t_audio = torch.Tensor(test_audio).permute(0,2,1).cuda()
print(py_leaf(t_audio))

I get this error:
RuntimeError                              Traceback (most recent call last)
<ipython-input-27-eeba248942f0> in <module>
----> 1 print(py_leaf(t_audio))

~/Envs/leaf-audio-pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

~/src/leaf-audio-pytorch/leaf_audio_pytorch/frontend.py in forward(self, x)
    131             outputs = outputs[:,:,1:]
    132
--> 133         outputs = self._complex_conv(outputs)
    134         outputs = self._activation(outputs)
    135         outputs = self._pooling(outputs)

~/Envs/leaf-audio-pytorch/lib/python3.7/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
   1049         if not (self._backward_hooks or self._forward_hooks or self._forward_pre_hooks or _global_backward_hooks
   1050                 or _global_forward_hooks or _global_forward_pre_hooks):
-> 1051             return forward_call(*input, **kwargs)
   1052         # Do not call functions when jit is used
   1053         full_backward_hooks, non_full_backward_hooks = [], []

~/src/leaf-audio-pytorch/leaf_audio_pytorch/convolution.py in forward(self, x)
     74             kernel = torch.gather(kernel, dim=0, index=filter_order)
     75
---> 76         filters = impulse_responses.gabor_filters(kernel, self._kernel_size, self.gabor_filter_init_t)
     77         real_filters = torch.real(filters)
     78         img_filters = torch.imag(filters)

~/src/leaf-audio-pytorch/leaf_audio_pytorch/impulse_responses.py in gabor_filters(kernel, size, t_tensor)
     33     return gabor_impulse_response(
     34         t_tensor,
---> 35         center=kernel[:, 0], fwhm=kernel[:, 1])
     36
     37

~/src/leaf-audio-pytorch/leaf_audio_pytorch/impulse_responses.py in gabor_impulse_response(t, center, fwhm)
      9     """Computes the gabor impulse response."""
     10     denominator = 1.0 / (np.sqrt(2.0 * math.pi) * fwhm)
---> 11     gaussian = torch.exp(torch.tensordot(1.0 / (2. * fwhm**2), -t**2, dims=0)) # TODO: validate the dims here
     12     center_frequency_complex = center.type(torch.complex64)
     13     t_complex = t.type(torch.complex64)

~/Envs/leaf-audio-pytorch/lib/python3.7/site-packages/torch/functional.py in tensordot(a, b, dims, out)
    927
    928     if len(dims_a) == 0 or len(dims_b) == 0:
--> 929         raise RuntimeError(f"unsupported input to tensordot, got dims={dims}")
    930
    931     if out is None:

RuntimeError: unsupported input to tensordot, got dims=0

I think you have a problem with your torch version. It should be 1.8.0 for this thing to work without a glitch. Maybe you are using torchaudio which require torch 1.9.0 which was giving this error for me.

I haven't tested this library with versions other than the ones I have listed, so I am not sure of errors caused by differing package versions.  Thanks @Soumya-dutta for the comment!
If you still have issues please feel free to reply.


Simplifying color scheme

As an engineer, I need an easy way to implement varying brand color schemes. This involves simplifying our existing color scheme. This will also make my Users & Product Manager happy. :)
Potential second ticket: applying the simplified color scheme.
AC:
Dependencies:
Risks/questions:

@lstrano-broad can you link the designs here?

All set - new screens uploaded....
https://invis.io/RTQ5TOUH8FB
New Styleguide....
https://invis.io/P9Q8D68VG8U

Inspect links, for implementation:
screens and style guide
If you can't access these, ask @lstrano-broad


[3.x] Add Color + alpha constructor for Color

Closes https://github.com/godotengine/godot-proposals/issues/6492
Note: the existing Color_init3 and Color_init4 seems unused.

One of those constructors look similar to ColorN in @GlobalScope for creating color from a name and alpha

Just to note that if we merge this PR, we should ideally have a later PR to change the calling sites mentioned in https://github.com/godotengine/godot-proposals/issues/6492#issuecomment-1466674322 .

C++ code is not affected, this only creates a Variant color constructor for scripts.

Thanks!


add missing HIGHLANDERH_TSS2 for 2023 hybrid platinum

name: Fingerprint
about: For adding fingerprints to existing cars
title: ''
labels: 'fingerprint'
assignees: ''
Discord username: [kevcube]
Route: [dc11867167a958d8|2023-04-01--20-04-18]

My 2023 Highlander Hybrid Limited also needed this to fingerprint properly.

I just looked at one of my routes that used the fork i made with that FW added and now it appears to fingerprint my 2023 as a 2020.  Am I reading that right?  I don't know enough to know if it matters.
route: b557c584db633c06%7C2023-04-01--19-37-32
{'carParams': {'alternativeExperience': 1,
'autoResumeSng': True,
'carFingerprint': 'TOYOTA HIGHLANDER HYBRID 2020',
Prior to running the fork it wouldn't fingerprint properly
route: b557c584db633c06%7C2023-04-01--15-30-11
{'carParams': {'alternativeExperience': 1,
'autoResumeSng': True,
'carFingerprint': 'mock',

@ofthetrail i believe everything 2020+ falls into the TSS2 category and will be identified as Highlander 2020


GR scraper issue

The scraper did not pick up the data of 3-4-2020, has been added manually to the csv. file.

More details please. Do you get an error message, or what do you mean?
It works just fine for me.

You were faster with the manual update than the scraper, the scraper would've picked up the new numbers some minutes after the manual update.


Issue 211 - Prevent reaching max allowed size in SQS policy

Instead of adding a policy per topic just use a single policy with a wildcard.

@payman81, this looks good 👍. I'll wait for others to comment before merging

@stuart-lang i'm ok with this, this is an intermediary fix for allowing to control queue Policy


Add support for dynamic account/profile switching

Currently, I frequently switch between AWS accounts by exiting, resetting AWS_PROFILE, and restarting. It would be kind of cool if I could do that in-shell with a profile command or something like that. I'd expect to stay at the same level in the parameter path hierarchy, unless that path doesn't exist of course, in which case I'd like to be bumped up until it does exist and shown a warning about it
Thanks for your work, this is an awesome tool!

This is something I'd definitely like to add. I'm busy with summer vacation currently but should have a chance to work on this later next month. Thanks for your request!

Added a profile command in the 1.3.2 release 🥇


Add entire .env file as a single entry into Parameter Store

Rather than parsing a .env file and saving a parameter per line, would it be possible to just store the entire file as a single SecureString entry?

Is the idea here that we pull the parameters from Param Store, generate an output format that can be in a single line, then save it back to Param Store? What would be the format (dotenv requires multiple lines)? Can you provide use case examples?
One of the key benefits of the tool is abstracting away where the secrets come from. Storing the param back into a secret store (param store) would defeat that purpose to an extent.


Implement missing methods in UserApiClient

The UserApiClient currently only supports deleting a user and is not exposed as property in the ArangoDBClient wrapper. Let's implement remaining methods and add it to the wrapper.
https://www.arangodb.com/docs/stable/http/user-management.html

There is only one endpoint left to implement:

List available Users GET /_api/user/

https://www.arangodb.com/docs/stable/http/user-management.html#list-available-users


Gallium error: active_repl not defined

Hello,
I've encountered an error when trying to enter debug mode using Gallium in Juno:
using Gallium
function foo(a,b)
    c = a+b
    d = c / mean([a,b])
end
@enter foo(1,2)
UndefVarError: active_repl not defined
 in RunDebugREPL(::ASTInterpreter.Interpreter) at ASTInterpreter.jl:1565
 in include_string(::String, ::String) at loading.jl:441
 in eval(::Module, ::Any) at boot.jl:234
 in (::Atom.##65#68)() at eval.jl:40
 in withpath(::Atom.##65#68, ::Void) at utils.jl:30
 in withpath(::Function, ::Void) at eval.jl:46
 in macro expansion at eval.jl:109 [inlined]
 in (::Atom.##64#67{Dict{String,Any}})() at task.jl:60

Versions:
JuliaPro <IP_ADDRESS> on Windows 7
Atom 1.12.5
versioninfo()
Julia Version 0.5.1
Commit 6445c82 (2017-03-05 13:25 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.1 (ORCJIT, haswell)
Pkg.status()
173 required packages:
 - ASTInterpreter                0.0.4
 - AbstractTrees                 0.0.4
 - ArgParse                      0.4.0
 - Atom                          0.5.9
...
 - Gallium                       0.0.4
...
 - Juno                          0.2.7

It seems to me that imediatelly after JuliaPro install, the debugging in Juno has been working. Do you have any idea what is causing the error?

You're trying to use Gallium's own stepping via @enter instead of Juno's, which can be accessed with @step. See here for a short description of how this works.

Thank you for the help, next time I shoud read the docs more carefuly.
Closing the issue

Btw, the using Gallium statement is unnecessary when you use Juno anyways. Glad it's working now though.


Textures break with certain mod

Forge
1.20.1
0.19.0-fixed
Textures break with certain mod, exemple: (primal winter)

Hey, thanks for reporting. I'm guessing it's because the other mod isn't properly configuring their stripped logs. I'll look into it.


wrap the experiment selector in experiment get

import run_doce

experiment = run_doce.set('')

selector = {}

(data, settings, header) = experiment.metric.get(
  'triplet',
  experiment.plan.select(selector),
  experiment.path.output
  )

remove experiment.plan.select and experiment.path.output. get  should just accept a selector
also run_doce.set expects arguments - what are they? documentation uses it without argument

the experiment.get should check :

selector, if none get all
plan, if only one no need to specify, otherwise complain
path, if not specified, seek for all paths available

not documented in the tutorial. Should be easier to use


ResourceLoader don't load resource with parameters in the _init constructor

Godot version
3.3.4 stable
System information
MacOS Big Sur 11.6
Issue description
When saving and loading using ResourceSaver and ResourceLoader resources don't get loaded back properly if they are instantiated with parameters in the constructor. The resource that is loaded is an empty resource without the script.
Steps to reproduce
Create a resource from script that takes a parameter in the constructor and load it with ResourceLoader.
extends Resource
class_name Item

var item_name : String
func _init(_name : String):
    item_name = _name

item = Item.new("Item Name")

ResourceSaver.save("user://resource_save_data.tres", item)

var load_game = ResourceLoader.load("user://resource_save_data.tres")
print (load_game.item_name)

This will throw an error Invalid get index 'item_name' (on base 'Resource'). There is also an error in the debugger for the ResourceLoader.load():
E 0:00:00.668   _create_instance: Condition "r_error.error != Variant::CallError::CALL_OK" is true. Returned: __null
  <C++ Source>  modules/gdscript/gdscript.cpp:121 @ _create_instance()
  <Stack Trace> LoadTest.gd:7 @ _ready()

Minimal reproduction project
LoadTestProject.zip
Edit: fixed code typos and uploaded a test project

Thank you for clearing this out. After further testing, I think the key problem here was that I had forgotten about the export keyword and the warning or errors did not explain that well. It had worked before so the behavior isn't fully consistent.
This will not work, and not give any hints about why
var item_name : String
func _init(_name := ""):
    item_name = _name

However, this will work, even without the export keyword
var item_name : String
func _init():
    item_name = "Item Name"

This will not work even with the export keyword and will throw the errors I got
export var item_name : String
func _init(_name : String):
    item_name = _name

But this will work and is the way it is supposed to be done I guess.
export var item_name : String
func _init(_name : String = ""):
    item_name = _name

It would be nice to have more descriptive errors. I couldn't understand the E 0:00:00.668   _create_instance-error or what to make out of it.

Ideally the error should be output in the editor itself too, instead of only at runtime.

Happens in 3.4 RC2
E 0:00:01.317   _create_instance: Condition "r_error.error != Variant::CallError::CALL_OK" is true. Returned: nullptr
  <C++ Source>  modules/gdscript/gdscript.cpp:115 @ _create_instance()

Indeed, the errors should be given more explicit messages with the _MSG variant of the error macros.

Here's the related line where the error is triggered, if someone can make a PR to add a description to this error (I don't know how)
https://github.com/godotengine/godot/blob/23955fc282b95bcd318034b5de536d42f2a08359/modules/gdscript/gdscript.cpp#L115

Duplicate of https://github.com/godotengine/godot/issues/15866 (same cause).


OLH-1053 update reported flag on activity

Proposed changes
When a user reports an activity as suspicious, we should record that in the activity log, so that we can ensure we don't report things twice, and provide feedback to the user.
What changed

Create a new lambda, and all the infrastructure that goes along with that (log groups, policies etc...), in the CloudFormation template
Add a secondary index to the activity_log table, so that we can query the table based on the event_id
When the new lambda is triggered, we retrieve the event from the event log (based on the event_id), and update it, setting reported_suspicious to true

Why did it change
When we build functionality for users to report activity as suspicious, we want to a) give feedback to the user, and b) ensure that we don't make multiple tickets in zendesk.
By setting this flag to true, we can show that to the user, so that they know we have received the report. This will work even if there is an issue with Zendesk, and we haven't got a ticket number yet.
Related links
https://github.com/govuk-one-login/di-account-management-backend/pull/181
Checklists

Environment variables or secrets

[X] Added parameters to Cloudformation template
[X] Added new environment variable

Testing
I manually tested this by...
Deploying the changes to the dev environment
Getting an event_id from the activity_log table (through the AWS console)

Publishing a message on the SuspiciousActivity topic with the following body (replacing event_id with the one I got in the previous step)
{
  "event_id": "b62c6ec9-30e6-4f7d-9769-02e25b81baf6",
  "event_name": "event_name",
  "timestamp":<PHONE_NUMBER>,
  "timestamp_formatted": "timestamp_formatted",
  "client_id": "client_id",
  "user": {
    "user_id": "user_id",
    "session_id": "session_id",
    "govuk_signin_journey_id": "govuk_signin_journey_id"
  },
  "reported_suspicious": true
}

Refreshing the DyanamoDB view, and checking that the reported_suspicious property has been set to true for the event I chose.

Make sense, thanks @alex9smith.
I wonder if it's worth doing that in a separate ticket, as there are a places in other lambdas where the timestamp is used in a query (here for example). So the scope of this PR would increase.

Ah yeah - that's a good point. I'd forgotten this was still in the delete lambda as well so I thought it'd still be only changes to this lambda. I'll write up a ticket to change the primary key for next sprint.


Dijkstra's Algorithm (Single Source Shortest Path) | Graphs | C++

Description

Used to find shortest path from source to every other vertex on the graph.
Works only for positive weights. Fails for negative weight edges.
Time Complexity : O(ElogV)

Additional context

For more refer : https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/

Important Checklist

[x] I have read the contribution guidelines before making this issue.
[x] I have verified this issue program is not already implemented
[x] I have not pushed this code anywhere else (even my repo)

Languages and Assignees:

[x] C++:  @ivinaypathak

Please assign me in C.  @ivinaypathak @kaustubhgupta

I can do this in Python

I can code it in Java.

I can code it in Java.

It's already implemented in Java


adding checks for curl and sudo.

Hi,
I just tried installing dokku using Debian Jessie i386.
bootstrap.sh failed because curl and sudo aren't part of the default installation.
I've added a check for them.  Can you pull this in?
Thanks,
Jason

Also, apt-transport-https was being installed after an https source was added.  That has to happen the other way around.

We've since update the bootstrap script to avoid calling sudo within the script. #1401 takes care of part of this pr, and we ensure curl is available (or install it) early on. Thanks for the pr though!


Training for specific use cases

Hi, thank you for the great work. I want to create shadows for objects on a white background. I tried using a pre-trained model, but the results weren't great. Can I train a model specifically for this use case? If yes - what is your recommendations?
Thanks.

Our used training set DESOBAv2 does not contain such images with white backgrounds. To adapt to your problem, you are recommended to construct your own dataset and train ControlNet.

Our used training set DESOBAv2 does not contain such images with white backgrounds. To adapt to your problem, you are recommended to construct your own dataset and train ControlNet.

Thank you so much! I still use libcom for image composition and love it! But to generate shadows I posted above, do you mean build my own dataset and train directly ControlNet? Is it enough? Do you have any other recommendations?

Thanks for your apprecitation! Yes, I mean that.You can try this simple method first and observe the results.


Modified JobState to make it more robust.

The script will now check every second for the job status instead
of checking it after 10 seconds. The script will also check the status
immediately after making the appropriate action (e.g. putting back the paper in tray)
without needing the tester to press enter. This will fix issues/scenarios from the
old implementation like:

In the old implementation, after 10 seconds, The script is expecting that
the job status should be 'in progress' after putting back the paper in the tray.
This will work if printing is slow, but there are printers that could print
very fast so there are times that the job status has already transitioned to 'printed'
in less than 10 seconds. So the script will sometimes fail.

Tester wasn't able to press the enter button on time after putting back the paper on tray.
During this time, the job status has already been transitioned to
'Printed', so the script will now fail since it's expecting the status
to be 'in-progress' state.

If the internet connection is very slow, Job status will only be able
to transition into 'Printed' state after 30 - 60 seconds. So the script will also
fail because it is expecting that the state is already in 'Printed' state in just 10
seconds.

Also modified the Registration suite. Tester now needs to press enter
after registration is accepted. This is to avoid failures when the tester
failed to accept the registration in 20 seconds. Also increased the
timer to 1 minute.

Thanks for the contribution.


14 unit tests fail with "ConnectionError (to Aquarius?)

Describe the bug
14 unit tests fail due to requests.exceptions.ConnectionError.
This is probably an issue with Aquarius, and maybe Provider; I'm putting it in ocean.py because this is where I discovered it and how to reproduce the bug.
To Reproduce
Steps to reproduce the behavior:

Go to developers.md
Go through all the steps, up to and including running: pytest
pytest will return 14 failed

Expected behavior
All unit tests pass.
Logs
================================================= short test summary info ==================================================
FAILED ocean_lib/assets/test/test_asset_downloader.py::test_ocean_assets_download_failure - requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
FAILED ocean_lib/assets/test/test_asset_downloader.py::test_ocean_assets_download_indexes - requests.exceptions.Connectio...
FAILED ocean_lib/assets/test/test_asset_downloader.py::test_ocean_assets_download_destination_file - requests.exceptions....
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_register_asset - requests.exceptions.ConnectionError: ('Connection...
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_ocean_assets_search - requests.exceptions.ConnectionError: ('Conne...
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_ocean_assets_validate - requests.exceptions.ConnectionError: ('Con...
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_ocean_assets_algorithm - requests.exceptions.ConnectionError: ('Co...
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_ocean_assets_compute - requests.exceptions.ConnectionError: ('Conn...
FAILED ocean_lib/ocean/test/test_ocean_assets.py::test_download_fails - requests.exceptions.ConnectionError: ('Connection...
FAILED tests/integration/test_compute_flow.py::test_compute_raw_algo - requests.exceptions.ConnectionError: ('Connection ...
FAILED tests/integration/test_compute_flow.py::test_compute_multi_inputs - requests.exceptions.ConnectionError: ('Connect...
FAILED tests/integration/test_market_flow.py::test_market_flow[implicit_none] - requests.exceptions.ConnectionError: ('Co...
FAILED tests/integration/test_market_flow.py::test_market_flow[explicit_none] - requests.exceptions.ConnectionError: ('Co...
FAILED tests/integration/test_market_flow.py::test_payer_market_flow - requests.exceptions.ConnectionError: ('Connection ...
================================== 14 failed, 108 passed, 3 skipped in 134.56s (0:02:14) ===================================

Here's a snippet from the log of the first failing unit test.
ocean_lib/ocean/ocean_assets.py:234: in create
    if did in self._get_aquarius().list_assets():
venv/lib/python3.8/site-packages/ocean_utils/aquarius/aquarius.py:65: in list_assets
    response = self.requests_session.get(self._base_url).content
venv/lib/python3.8/site-packages/requests/sessions.py:555: in get
    return self.request('GET', url, **kwargs)
venv/lib/python3.8/site-packages/requests/sessions.py:542: in request
    resp = self.send(prep, **send_kwargs)
venv/lib/python3.8/site-packages/requests/sessions.py:655: in send
    r = adapter.send(request, **kwargs)

Full log in my console (to the extent that my console captured it):
log.txt
Note: the barge console logs didn't have any WARNING or ERROR messages.
High priority because it makes unit tests fail.
Maybe related, just reported today too:

aquarius#421 - 'Aquarius returns 500 for /ddo/query'

Maybe related, reported >1 week ago, issue is closed:

ocean.py#188 - 'Connection reset by peer' issues in travis/tox testing
provider#114 'Provider fails to start'

My leading theory here is memory issues + Docker limits. Investigating.

I remember getting these at one point with tox. And the solution was to prune and restart the volumes, which worked. It's possible some issues happened inbetween v.2.2.4 and v2.2.6, going through v2.2.5, which suppported ES queries but still had some wrong assertions, causing failures. My local system can not run provider2 (Docker has memory leaks on Mac, and that's apparently the straw that breaks the camel's back), so I always get one failure from compute flow. I've run tests a few times now, and it seems to reproduce randomly.
Clues:

with a fresh barge install, I get a failed market_flow test only on the 3rd run of the full tests
running only the market flow test, independently, does not fail

Since this takes a lot of precious time (11 mins per full test run and only reproduces in some full runs), I'll give it another 2-3 runs. But if I can't reproduce it, I'll continue working with ocean.py as usually, and see if it pops up again.

Finally found the most likely issue. On the market_flow error I got, I traced it back to:
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='s3.amazonaws.com', port=443): Read timed out. in barge.
I checked usages of s3 in ocean.py and they coincide with the usage of the metadata() fixture, market_flow and compute_flow (a bigger file for the last cases). So even though I can't fully reproduce it, I've reached most likely conclusion:
It happens when my Internet connection is slow or the S3 is slow, and I can't connect to the sample files on amazon quick enough (there's a max timeout set for connections). I tried reproducing it by turning off WiFi during testing, but it's not possible, since the data provider first checks the connection itself. The issue is not with NO connection, but with SLOW connection, and depends both on my Internet speed and S3 itself. I don't know how I can simulate that. And since it only happens in rare cases, I don't know how much time I should keep spending on this one.

When I had the error I did not have internet issues.
It happened repeatedly.
I wish I could say "sure ignore" but right now I don't think we can.

When I saw the error I did not have internet issues.
It happened repeatedly.

Could that have been issues from S3? Even if your Internet was fine, if S3 was slow you'd get the same failures. If it happened repeatedly and then stopped, we might be able to check whether S3 was slow that day and/or something was fixed.

[Trent] When I saw the error I did not have internet issues.

[Calina] I remember getting these at one point with tox. And the solution was to prune and restart the volumes, which worked

It is possible that I did not clean my volumes. I thought I did, but you never know.
So I just did everything fresh again.
It worked. :)
So, I'm fine if you close the ticket. We can reopen it if the issue re-emerges. (Or go ahead and keep chasing leads if you have other things you want to investigate).

Let's reopen if it arises again. I'll keep in mind the S3 issue if pruning is just a coincidence.

Note: not all tests passed. There were two errors that I hadn't seen before. I reported them in #255, since scope looks different than this ticket. Though it does appear related to aquarius too.


Some tests fail when ran individually because it is is executed before depenency is injected

Consider a test scene like this:
public class TestSceneExample : TestScene
{
    [Resolved]
    private ResolvedValue resolvedValue { get; set; }

    [Test]
    public void TestUsingResolvedValue() {
        Assert.NonNull(resolvedValue);
    }
}

When TestSceneExample (the test scene) is tested, it passes. However, the test TestUsingResolvedValue is tested individually, it fails.
The dependencies are resolved only after the first test method is executed.
When a test scene is tested as a whole, the issue is masked because the test TestConstructor is executed first and then dependencies are loaded, and then the rest of the tests are executed.
An example of failing tests are osu! TestSceneLegacyBeatmapSkin tests (there are two TestSceneLegacyBeatmapSkin in Rulesets.Osu.Tests and Rulesets.Catch.Tests, and this issue applies to the both) (unrelated: audio property is not needed as there is Audio in OsuTestScene base class, but the result is the same).
But I guess there are more failing tests, as I found the example only by an accident.
I think this issue should be fixed in the framework as the issue is hard-to-find and confusing when occurs. All dependencies should be loaded in a setup step before test methods are executed.

This is known - it's actually quite hard to make this work, which is why Setup methods always use a schedule, and why we have AddStep() and all other test methods instead of using nunit assertions. It's not related to dependencies - it's the same with any framework component - drawables/etc - the method's code isn't running inside the gamehost.
If it can be worked to use the correct thread context, that'd be great, but it's very involved.


Set minimum click to 7

I opened a similar issue on ward regarding this matter.
Moreover, I used grayskull to generate a conda recipe  and changed required versions of other packages based on that.
Also since this is not a new build I changed the build number to 1.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I followed pytest-feedstock to make sure that the combination of skip and python version is correct. The new build block is for OSXArm.
The issue with the failing build seems to be that there's no
[options.entry_points]
console_scripts =
    ward=ward._run:run

entry in setup.cfg and it's only in pyproject.toml.  It seems that conda-build only looks at setup.py or setup.cfg for the entry points. I will open an issue in ward.

@cheginit I've successfully decreased the click requirement to 7 in another PR, so I'll go ahead and close this one. Thanks for submitting it!