Training Pefromance of ZSL code ,final mAP with tresnet-m is 15.6

Hi, I have tried to train the tresnet-m model on nus-wide dataset but i got mAP of 15.6 after 40 epochs. May i ask you suggestion what am i doing wrong here , i didn't change any code.
If you can answer this will help a lot
Regards

Hi @aliman80 ,
can you please share the training logs/outputs ?
Which model_path did you use for tresnet-m ?

Thank you very much for your response, I tried to use tresnet-m but it was giving me error that my saved model and current model dimensions mismatch so i trained it from scratch. Can you guide what should i don next.

RuntimeError: Error(s) in loading state_dict for TResNet:
size mismatch for head.decoder.duplicate_pooling: copying a param with shape torch.Size([80, 768, 1]) from checkpoint, the shape in current model is torch.Size([768, 1]).
size mismatch for head.decoder.duplicate_pooling_bias: copying a param with shape torch.Size([80]) from checkpoint, the shape in current model is torch.Size([1]).
This is the error which i obtain , Pleae guide where i am messing up

thanks for reporting this issue.
We fixed it, and now you can train tresnet-m with :
--model_path=https://miil-public-eu.oss-eu-central-1.aliyuncs.com/model-zoo/ImageNet_21K_P/models/tresnet_m_miil_21k.pth

Thank you so very much, for your response and support
Thanks again

Hi,  Thanks for your continuous support, I have been able to run the ZSL file but I am receiving these results;
mAP score regular 1.14, mAP score EMA 1.14
current_mAP = 1.14, highest_mAP = 1.14

Thank you , i used wrong lr that's why it caused me error.
Thanks again for your support


[feat] - Config file

It would be better if all the settings were stored in a separate config file settings.json instead of inside the script. There are way to many variables.

By doing this, it's easier for people to fetch new updates when new release are released without having to rechange their settings
And that they don't have to read the entire code to look for the variable to change

Resources:

https://unix.stackexchange.com/a/331965

if anyone knows an approach to this, I will happily listen.
I could not find a way to have a dynamic config file. (including video_title with current time for example)


Use react-map-gl for mapbox in web-app

use react-mapbox-gl since it is more react friendly and cleaner
we used this in our previous implementation
use new coordinates format returned by BE (generated types and removed coordinate parsing into long/lat)

@constanzauanini I was able to fix the build issue. You can now see the plots and no errors in this vercel link.
Looked up the old implementation you had done, looks like we used react-map-gl then.
After some research we should be using react-map-gl in our react app as well. Did that refactor so it is cleaner now and more 'reactive'. This took me most of the day!
If we need any more changes I'd prefer if we iterate on this later since it is still evolving.

@constanzauanini I was able to fix the build issue. You can now see the plots and no errors in this vercel link. Looked up the old implementation you had done, looks like we used react-map-gl then. After some research we should be using react-map-gl in our react app as well. Did that refactor so it is cleaner now and more 'reactive'. This took me most of the day! If we need any more changes I'd prefer if we iterate on this later since it is still evolving.

Thanks Karthik! I didn't remember there was a react-map-gl, but now that I see it, I think same thing happened, we started with the other library and then we changed it (but not for same error, I think). I see there are no more errors now :)
Thanks, just one question

@constanzauanini I was able to fix the build issue. You can now see the plots and no errors in this vercel link. Looked up the old implementation you had done, looks like we used react-map-gl then. After some research we should be using react-map-gl in our react app as well. Did that refactor so it is cleaner now and more 'reactive'. This took me most of the day! If we need any more changes I'd prefer if we iterate on this later since it is still evolving.

Thanks Karthik! I didn't remember there was a react-map-gl, but now that I see it, I think same thing happened, we started with the other library and then we changed it (but not for same error, I think). I see there are no more errors now :) Thanks, just one question

Thanks, yes added option for popup so it can be used later for withdrawal log. We still need more cleanup in the map. I will break down https://terraformation.atlassian.net/browse/SW-2240 into smaller subtasks soon.


Github Profile Added

Github Profile Added

Thanks for your contribution 😊. Don't forget to ✨ our Repository.
If you want to contribute to our new Ideas Project -https://github.com/KapilKumar7/CreativeAppIdeas


Raphael/fin 239 support dataset api in the python sdk

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


In LogNormalDistribution.java, it appears shape & scale are reversed/mis-labelled.

Assuming this affects hipparchus as well:
https://issues.apache.org/jira/browse/MATH-1373

A quick look shows that the calculations are correct, but the parameters are ill-defined:

m is the scale parameter: this is the mean of the normally distributed natural logarithm of this distribution
s is the shape parameter: this is the standard deviation of the normally distributed natural logarithm of this distribution.

while it should be:

m -> location parameter
s -> scale parameter


Docs for Sealos

Checklist
I have:

[ ] run the content through Grammarly
[ ] linked to sample apps when relevant
[ ] added the meta description for each page in the PR
[ ] minimized the callouts and added only when necessary
[ ] added the queryString parameter to the Tabs (if used)
[ ] masked PII in images. For example, login credentials, account details, and more
[ ] added images only when necessary
[ ] deleted the images that are no longer used for the updated pages in the PR
[ ] followed the image file naming convention while renaming or adding new images. (Use lowercase letters, dashes between words, and be as descriptive as possible)
[ ] used the <figure/> tag instead of a markdown representation for images
[ ] added the <figcaption/> tag to add a caption to the image
[ ] added the alt attribute in the <img/> tag
[ ] verified and updated the cross-references or created redirect rules for the changed or removed content
[ ] reviewed and applied the style changes for UI formatting. For example, Bold the UI elements(Buttons on screen) used in the doc.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi @yangchuansheng. Thank you for raising the PR. In the product documentation, we are only adding deployment options that are fully supported by our team in terms of updates, plan upgrades and support. However, this would be a great addition to our community content - https://community.appsmith.com/content. You can create the content there and apply for review on the portal.

Hi @yangchuansheng. Thank you for raising the PR. In the product documentation, we are only adding deployment options that are fully supported by us in terms of updates, plan upgrades and support. However, this would be a great addition to our community content - community.appsmith.com/content. You can create the content there and apply for review on the portal.

I'm interested in making my contribution fully supported by your team. Could you please guide me on what steps need to be taken or criteria that need to be met in order to achieve this? Is there any specific guidelines or best practices that I should follow to align my contribution with your updates, plan upgrades and support?


IngestionPipeline DELETE does not clean status

Deleting an ingestion pipeline from the UI, which calls the backend API, does not clean the ingestionPipeline status.

closed by https://github.com/open-metadata/OpenMetadata/pull/4877


PyTorch Lightning example

Dear TorchRec Team,
Thanks a lot for the awesome library.
I wondered if an example with PyTorch Lightning could be put together to demonstrate how easy it is to get started with both librairies.
Best,
T.C

Hi @tchaton ,
Thanks for the request.
We do actually have work going on internally using pytorch lightning + torchrec.
Currently, we don't plan to include lightning examples in the torchrec examples section, but there are other repositories that might be closer to showcasing these in open source. Once available, we could give link to these in the README of the examples
Let me follow up with some folks on internal pytorch team and get back to you

Hey @colin2328,
Thanks for answering quickly! Yes, this would be great! Keep me updated :)
Best,
T.C

I would also be interested in this. It seems like the biggest hurdle is just how and where to use the DistributedModelParallel to wrap the model ... and maybe the dataset processing. Otherwise, I think making say a DLRM lightning module seems pretty straightforward.

Hi @tchaton  @codestar12  -> FYI, we are still discussing internally about the best place to showcase the examples. We expect to be able to share  an update of our plans in about two weeks (around 3/10)
@codestar12  -> yes, its not too difficult to integrate with lightning. In our Proof-of-concept torchrec+lightning model, we wrapped our local model with DMP inside the lightning module, for example. Most of the work involved integrating torchrec's train_pipeline neatly with lightning's train_step, and making sure lightning comms (e.g metric syncs) were handled appropriately

FYI @tchaton , @codestar12 -> we've added an example  of torchrec training on the lightning trainer here:
https://github.com/facebookresearch/recipes/tree/main/torchrecipes/rec
this example essentially trains dlrm (is very similar to https://github.com/pytorch/torchrec/tree/main/examples/dlrm), but using the lightning trainer.
Note that it still uses torchrec's train_pipeline, and the lightning trainer is configured to use the "TorchrecStrategy" https://github.com/facebookresearch/recipes/blob/main/torchrecipes/rec/accelerators/torchrec.py which subclasses lightning's ParallelStrategy.
Hope this is helpful

FYI @tchaton , @codestar12 -> we've added an example of torchrec training on the lightning trainer here: https://github.com/facebookresearch/recipes/tree/main/torchrecipes/rec
this example essentially trains dlrm (is very similar to https://github.com/pytorch/torchrec/tree/main/examples/dlrm), but using the lightning trainer.
Note that it still uses torchrec's train_pipeline, and the lightning trainer is configured to use the "TorchrecStrategy" https://github.com/facebookresearch/recipes/blob/main/torchrecipes/rec/accelerators/torchrec.py which subclasses lightning's ParallelStrategy.
Hope this is helpful

sorry, T_T, I run failed ...
dlrm_main/0 [0]:[rank0]:   File "/opt/meituan/zhaozheng09/user/recipes/torchrecipes/rec/dlrm_main.py", line 260, in <module>
dlrm_main/0 [0]:[rank0]:     invoke_main()  # pragma: no cover
dlrm_main/0 [0]:[rank0]:   File "/opt/meituan/zhaozheng09/user/recipes/torchrecipes/rec/dlrm_main.py", line 256, in invoke_main
dlrm_main/0 [0]:[rank0]:     main(sys.argv[1:])
dlrm_main/0 [0]:[rank0]:   File "/opt/meituan/zhaozheng09/user/recipes/torchrecipes/rec/dlrm_main.py", line 252, in main
dlrm_main/0 [0]:[rank0]:     trainer.fit(sharded_model, datamodule=datamodule)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 538, in fit
dlrm_main/0 [0]:[rank0]:     call._call_and_handle_interrupt(
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 47, in _call_and_handle_interrupt
dlrm_main/0 [0]:[rank0]:     return trainer_fn(*args, **kwargs)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 574, in _fit_impl
dlrm_main/0 [0]:[rank0]:     self._run(model, ckpt_path=ckpt_path)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 981, in _run
dlrm_main/0 [0]:[rank0]:     results = self._run_stage()
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1023, in _run_stage
dlrm_main/0 [0]:[rank0]:     self._run_sanity_check()
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1052, in _run_sanity_check
dlrm_main/0 [0]:[rank0]:     val_loop.run()
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/loops/utilities.py", line 178, in _decorator
dlrm_main/0 [0]:[rank0]:     return loop_run(self, *args, **kwargs)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 135, in run
dlrm_main/0 [0]:[rank0]:     self._evaluation_step(batch, batch_idx, dataloader_idx, dataloader_iter)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/loops/evaluation_loop.py", line 397, in _evaluation_step
dlrm_main/0 [0]:[rank0]:     output = call._call_strategy_hook(trainer, hook_name, *step_args)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/trainer/call.py", line 319, in _call_strategy_hook
dlrm_main/0 [0]:[rank0]:     output = fn(*args, **kwargs)
dlrm_main/0 [0]:[rank0]:   File "/conda/envs/torch2.4.1/lib/python3.9/site-packages/pytorch_lightning/strategies/strategy.py", line 414, in validation_step
dlrm_main/0 [0]:[rank0]:     return self.lightning_module.validation_step(*args, **kwargs)
dlrm_main/0 [0]:[rank0]: TypeError: validation_step() missing 1 required positional argument: 'batch_idx'

please help .thx very much ~.


Custom post-integration actions

Once an integration completes it may have produced several artefacts, including:

Logs for all build phases
Archives
Executables

These can be retrieved using the Xcode Server API as a ZIP archive.
Since there are various issues related to exposing Xcode Server to the internet it would seem easier to allow custom actions to process these archives, for example for placing them in a suitable location when direct access to Xcode Server is not possible.
At first glance this could be an extension of the Actions struct in SyncPair to specify a shell script that is given the path to the ZIP archive.

You should be able to do anything you want in a post-build script: https://honzadvorsky.com/articles/2015-08-17-17-30-xcode_server_tutorials_3_prebuild__postbuild_scripts/

@czechboy0 I'll need to double-check that. I'm not sure if the ZIP is already available at that stage. Because the post-integration trigger logs are also included there.

Not sure which zip you mean exactly, but everything is accessible from the script, as it runs after the build completes. Just add a post-build script with set so you get all env vars printed out and can see what's available (all of the Xcode Server ones have the prefix XCS_)


feat(Crypto_Org_Chain): Fix chain_id & show_amount

Task linked: CW-3641 Implement coin-cro to support normal transfer


x/tools/gopls: unnamed generics parameter formatted to be unparened and named in go2go

What version of Go are you using (go version)?

$ go version
go version devel +ead7e9b351 Sat Aug 1 05:14:38 2020 +0000 linux/amd64
$ gopls version
golang.org/x/tools/gopls master
<EMAIL_ADDRESS>h1:0SxHeccMdwJg02GN5PuFGSus9SSmA6FFOpuyRTnjrac=

Does this issue reproduce with the latest release?
No(go2go development)
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/owner/.cache/go-build"
GOENV="/home/owner/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/owner/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/owner/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/owner/go2"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/owner/go2/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build789186970=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Save and format below file in VSCode. (I followed installation here)
package main

type iface(type T) interface {
}

type some(type T) struct {
	f func(T, iface(T))
}

What did you expect to see?
package main

type iface(type T) interface {
}

type some(type T) struct {
	f func(T, iface(T))
}

What did you see instead?
package main

type iface(type T) interface {
}

type some(type T) struct {
	f func(T, iface T)
}

Thank you for raising this issue. However it's unlikely that it will be resolved in the near future. gofmt has not been updated to work with the generics prototype, and it's unlikely it will be until after (and if) that proposal is accepted.


Docs about how to upgrade from 2.x.x to 3.x.x

Sorry if there's already any doc about it, but as far as I could search, I couldn't find any.
I'm considering upgrading from 2.15.2 to the latest 3.0.3 in a project, but I'm not sure what were the breaking changes between these major versions, so I'd like to know it to be sure of how much effort I'd need to invest in that upgrade.

@mbernardes19 We have a migration guide here.
v3 is a complete rewrite of v2 and it also changes the philosophy from being platform specific to platform agnostic.
You'll have to rewrite significant amount of code If you're considering migration.

@intergalacticspacehighway Do you have any information on upgrading v2.x to v3.x for Vue Native? Is Native Base v3.x still supporting Vue Native?

@jakemwood have you found new migration guide?

@jakemwood @realtril you can find it here. https://docs.nativebase.io/migration/action-sheet

@intergalacticspacehighway seems to be stuff I am looking for. Thank you!

@intergalacticspacehighway do you know, can i use     const { isOpen, onOpen, onClose } = useDisclose(); in a class
component?

@intergalacticspacehighway Do you have any information on upgrading v2.x to v3.x for Vue Native? Is Native Base v3.x still supporting Vue Native?

No, v3.x doesn't support Vue Native.

@jakemwood @realtril you can find it here. https://docs.nativebase.io/migration/migration-guide-three For component migration - https://docs.nativebase.io/migration/action-sheet

doesnt exists anymore

Links are not working anymore

here's the new link: https://docs.nativebase.io/migration/v3


[matplotlib-cpp] To display Inconsistant graph.

In my application, I want to display run time graphs. But the graphs can have a break in between i.e. data may not be available for some duration. I want to display this gap in my graph.
I want to use MATPLOTLIB library in my application which will run under Qt.
I am trying to use NUMCPP to create an array with breaks ( gaps) in my graph readings
Is it a right solution ? Or can you suggest a better option ?
While including of NUMCPP I faced different problems like mismatch of BOOST version & C++ Standards
So finally, I am still not able to build the solution
Kindly suggest an option / solution
Regards
Varsha

Can you compare with the results of using pre-built binaries released upstream?
If it still exists, please report it upstream.

We don't have enough information to solve this issue, unfortunately; if you have any more information to help us solve this, please reopen!


can i control my smart home devices with this module?

can i controll my  smart home devices with this module?
if yes.. then how can i do it?
if no. then is there any possibilities to do it?

I think you can
I have not tried it, but you link your Alexa to:
https://alexa.amazon.co.uk/spa/index.html
Then it has a tab called "Smart Home"

https://alexa.amazon.com/spa/index.html
In the US. Thanks!!


Create a ResinOS Docker image

HI!
I don't understand how to create the Docker image starting from the resinOS image downloaded from the website. I have tried with "docker import", including the .img file in a tar.gz archive, but doesn't work.
Thank you!

@albertopiovanAleph The docker image is created in the build system along with the raw disk image and is essentially the content of the root partition in the raw image you download for the dashboard. In our deployment pipeline, we publish the raw disk image to be accessible from the dashboard and the correspondent docker images in docker hub (https://hub.docker.com/r/resin/resinos/).

Thank you!

@agherzan Shouldn't we have a link to the docker download on the balenaOS page?

I think we should @brownjohnf . I don't think we advertise anywhere these images besides the instructions on generic armv8 device type.


OM presentation of gradients

The current OM representation of gradients does combine opacity and color gradients which are separate in PS. Also, the current representation does not even have midpoints. Maybe we should use the representation that Generator provides and create the final result in the svgWriter. Gradients in Ai are a subset of gradients in PS. Therefore I think this is the way to go forward.
What do you think @jhatwich @DmitryBaranovskiy ?

So, that means that if number of colour stops is different to number of opacity stops it will put intermediate values for opacity on stops?

We currently add missing color stops/opacity values yes.

I want to preserve PS's/Generator's gradient representation and resolved midpoints for opacity and color gradients before concatenating them into one set of color stops. Again, this would be compatible to what Illustrator does as well.

@dirkschulze suggestion seems good to me.  I think keeping the definition compatible with Ai will be a theme for 2015!


Existing Stackdriver tracing docs propagation info is confusing

Bug description
The existing Stackdriver tracing directions were confusing to me https://istio.io/docs/tasks/observability/distributed-tracing/overview/#trace-context-propagation

Additionally, tracing integrations based on OpenCensus (e.g. Stackdriver) propagate the following headers:
x-cloud-trace-context
traceparent
grpc-trace-bin

What actually happens is that Envoy will propagate any of the headers found. In this case, we have configured it in the order:
 "incoming_trace_context": ["CLOUD_TRACE_CONTEXT", "TRACE_CONTEXT", "GRPC_TRACE_BIN", "B3"],
 "outgoing_trace_context": ["CLOUD_TRACE_CONTEXT", "TRACE_CONTEXT", "GRPC_TRACE_BIN", "B3"],

See the bootstrap configuration and envoy's extraction and injection logic.
A user only needs to to propagate one of these, istio will propagate all of them when Stackdriver is enabled.
I suggest changing the wording from:

To do this, an application needs to collect and propagate the following headers from the incoming request to any outgoing requests:

x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context
Additionally, tracing integrations based on OpenCensus (e.g. Stackdriver) propagate the following headers:

x-cloud-trace-context
traceparent
grpc-trace-bin

To:

To do this for Zipkin, Jaeger, and Lightstep, collect and propagate the following headers from any incoming request to any outgoing requests:

x-request-id
x-b3-traceid
x-b3-spanid
x-b3-parentspanid
x-b3-sampled
x-b3-flags
x-ot-span-context
Additionally, tracing integrations based on OpenCensus (e.g. Stackdriver) propagate the following headers:

For Stackdriver, propagate the above headers or just x-request-id and any one of the following headers:
x-cloud-trace-context
traceparent
grpc-trace-bin

wdyt? I can make the PR to the docs soon (waiting for CLA verification).
Expected behavior
I understand trace propagation behavior for Stackdriver after reading the docs.
Steps to reproduce the bug
Read the distributed tracing docs
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
Current.
How was Istio installed?
N/A
Environment where bug was observed (cloud vendor, OS, etc)
N/A

@brianwolfe : How does Istio know which one user is going to propagate? That's why Istio is propagating all the trace contexts..


mailspring: GLib-GIO-ERROR: Settings schema 'org.gtk.Settings.FileChooser' is not installed

Description
Mailspring crashes when attempting to open any file dialog, such as saving an attachment.
Steps to reproduce

Launch mailspring
From the menu bar select Edit > Install Theme...

Expected behavior
A "Choose Directory" file dialog should open
Actual Behaviour
Mailspring crashes with the following output:
(mailspring:11833): GLib-GIO-ERROR **: 11:14:35.289: Settings schema 'org.gtk.Settings.FileChooser' is not installed
Cannot upload crash dump: cannot exec /usr/bin/wget
Failed to get crash dump id.
Report Id:
[1]    11833 trace trap (core dumped)  mailspring

Workaround
Adding to $XDG_DATA_DIRS resolves the issue:
XDG_DATA_DIRS="$XDG_DATA_DIRS:/nix/store/2h88jnwvhj0cj209vp2wpsfdbgm0gqbf-gtk+3-3.24.21/share/gsettings-schemas/gtk+3-3.24.21" mailspring

Additional context
I have added mailspring to environment.systemPackages in my system's configuration.nix file.
Notify maintainers
@toschmidt
Metadata
Results of nix-shell -p nix-info --run "nix-info -m":

system: "x86_64-linux"
host os: Linux 5.10.10, NixOS, 20.09.2787.6e7f25001fe (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(root): "nixos-20.09.2787.6e7f25001fe, home-manager, unstable-21.03pre265961.891f607d530"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: mailspring

I tried installing from unstable but to no avail.

I tried installing from unstable but to no avail.

This package is missing wrapGAppsHook in nativeBuildInputs. See the gnome section of the nixpkgs manual

This package is missing wrapGAppsHook in nativeBuildInputs. See the gnome section of the nixpkgs manual


Need to hide/show filter when pressing button using jquery

I need to hide / show filter when pressing a button using jQuery.
Tried to use $("#jsGrid").jsGrid("fieldOption", "Filtering", false) but it did not work.
Can you help ?

Solved. attribute must be "filtering" and not "Filtering"
This is the correct working code:
$("#jsGrid").jsGrid("option", "filtering", false);

Glad that figured it out.


disable logging in version 3.2.0

Hi
a lot of people dont want your logging - you changed that in different ways für different versions of easy-rules. whats the way for 3.2.0
thanks mat

Hi,
Easy Rules now uses SLF4J. Most of the logs will be turned into debug instead of info. This is planned for v3.2.

Looks like I missed this for v3.2.
I changed the default log level to debug. This will be part of the upcoming v3.3 release.


Env into Config

In many productions environments env() return null (see https://github.com/laravel/framework/issues/8191).
Use Config::get() is more secure. I have lost 2h to find reason for error "There is no column with name 'column_name' on table 'table_name'." and it was no table prefix, caused by null returned from env.
Please merge.

Hi @mgralikowski ,
I've never had this problem myself - all my environments had env() working. But I do agree that's a better way to do it, so I just merge it into master and I will release this along with a few more patches today or tomorrow.
Thanks a lot for the PR.
Cheers!

All local environments like Vagrant, Docker, Laradock has no problem with env() helper but I have two, different production servers and one works fine with env, second always return null outside config folder. The service provider made some changes on the first server few days ago, and after these works env() helpers stopped working so i recommend You avoiding env() helper ;)

Yup, agreed - better safe :-)
Cheers!


uv_timer_start behavior with timeout == 0 does not match documentation and can lead to starvation

When calling uv_timer_start from the a timer callback, while passing a timeout of 0, the timer callback is executed in the current event loop iteration, as opposed to the next loop iteration, as documented in: https://github.com/libuv/libuv/blob/5e302730cd29cfeb15d32369dd2edfd9d3c82c11/docs/src/timer.rst?plain=1#L41C1-L41C79
The current behavior can lead to starvation, such that nothing else is running besides the timer loop, and it can prevent the loop from quitting.
I think this is thorny and we can present a more reasonable behavior to the users, without significant added cost on libuv side.

Sounds like a documentation update was missed as part of https://github.com/libuv/libuv/commit/66009549067cab59d697cd8df8091a179d1a15fc

I think it's more like we don't want to process any new timer callbacks that are placed in the queue while timer callbacks are running. IMO that would be optimal, and all those queued callbacks would be run in the next iteration.
The problem here is that it would require doing something like tracking when the timer cb queue is being processed, then adding all calls to uv_timer_start to a different queue and swapping it out once all timer callbacks are complete.
Or we could just update the documentation stating that calling uv_timer_start() with 0 within the timer callback can cause it to starve. Thoughts?

Ah, right. I thought we used to do a queue-swap, so that it could iterate it without seeing new entires

We could, instead of running the timer callbacks immediately in the existing timer loop, add the timer handles to a separate ready list, and then iterate that list calling the callbacks and possibly add it again to the heap, in case of repetition.
The list head could simply be allocated on the stack, and we can reuse the timer handle node area for the list node, since the handle should not be inserted in the timer heap by this point.

Just so we're all on the same page:
static uv_timer_t a, b;
static void cb_b(uv_timer_t* h);
static void cb_a(uv_timer_t* h) { uv_timer_start(&b, cb_b, 0, 0); }
static void cb_b(uv_timer_t* h) { uv_timer_start(&a, cb_a, 0, 0); }
int main(void) {
  uv_loop_t* loop = uv_default_loop();
  uv_timer_init(loop, &a);
  uv_timer_init(loop, &b);
  uv_timer_start(&a, cb_a, 0, 0);
  uv_run(loop, UV_RUN_DEFAULT);
  return 0;
}

uv__run_timers() loops indefinitely because uv_timer_start() keeps inserting the timer at the front of the timer heap?
We could work around that with an internal queue but IMO it's all around easier to add if (timeout == 0) timeout = 1; to uv_timer_start() and update the documentation.

@bnoordhuis I think a timeout == 0 should mean "calll me back as fast as possible", within reason, but 1 millisecond is a really long time on modern systems. This would be painful on real-time applications for example.

That use case is covered by uv_idle_t handles though.
I'm undecided yet about the best approach here. I'll think about it some more.

After thinking about it some more, I'm still inclined to go with the if (timeout == 0) timeout = 1; solution. It's simply the simplest fix.
Keeping timers in a side list won't work, that breaks uv_timer_start(h, cb, 0, 0); uv_timer_stop(h); because uv_timer_stop() expects the handle to be inside a heap structure.
Maintaining and then merging a side heap is inefficient. Setting a flag on the handle that tells uv_timer_stop() the handle isn't actually part of a heap is icky; such hacks usually only lead to more bugs down the road.
I've opened #4246 with a fix + test. If anyone feels strongly a different approach is better, you're welcome to take the test and open a competing pull request.

It's undeniably a change in behavior because it broke some tests that expected zero timers run before everything else but OTOH they were all easy to fix by switching to uv_idle_start().

I am not a particular fan of rounding it up

I have posted alternative PR here, which is more of a point fix for the starting-a-expired-timer case, preserving as much of the rest of the existing behavior as possible.
No changes to existing tests.
No change in sizes, or offsets of any handles, which means this change should be safe to backport to existing releases, at least wrt to C.
Though it does change the definition of uv_timer_s, which strictly speaking is an ODR visible change wrt C++.
We could avoid this, at the cost of some ugliness, but I don't think it's worth it.


Issue with anticheat changes

Today anticheat was changed from EAC to xigincode, removing the necessity to start EAC process with the game. At the moment it seems to be throwing an error due to it not finding the .exe.

yeah I just fixed it, I'm pushing my changes right now

Release 1.1.8 should address this issue


CBRFC Real Time Data Products

DAG for Raw File Download
Geoprocessing workflow to convert to COG

Geoprocessing task: USACE/cumulus#56

Airflow DAG task: USACE/Cumulus#63


[BUG] uniform to pass array of vec

https://github.com/skeeto/igloojs/blob/master/igloo.js#L225
doesn't work if value is an array of vec.

You're right, it currently doesn't support all possible uniform types.

@skeeto small thing. anyway, wonderful work here. i very enjoy using igloo.


Custom cards bug in HA

The recently added Ping card suffers from a HA bug:
https://github.com/home-assistant/frontend/issues/21853
Resulting in error "Custom element doesn't exist".
Hopefully this bug is solved soon. Until then the ping card is removed from the main- and settingsview

Solved by implementing #190


Slow HISTORY write performance with FV3 Standalone: Add IOSERVER Support?

Dan Kokron had asked if the FV3 Standalone worked at C240. I was pretty sure it did (and it does at, say, 12x72) but I then noticed something that I'd missed in my earlier low-res testing: the HISTORY writes are quite slow (and blocking):
                                                            Inclusive        Exclusive
                                                         ================ ================
Name                                               #-cyc  T (sec)    %     T (sec)    %
                                                   ----- --------- ------ --------- ------
--Run                                                  1   591.174  99.54     0.584   0.10
----EXTDATA                                          192     0.028   0.00     0.028   0.00
----DYN                                              384    36.677   6.18    36.677   6.18
----HIST                                             192   553.885  93.26   553.885  93.26

I don't think 93% of the time of FV3 Standalone Run should be in HISTORY...
I now realize this might be because fv3.j might not have any IOSERVER support. It seems like it might have the hooks for the old-school USE_IOSERVER in AGCM.rc, but that's a bit ancient...and maybe a no-op in modern GEOS/MAPL?
(Or, perhaps, the HISTORY use in FV3 Standalone is fundamentally wrong? I can't see why it would be, but I'm not a HISTORY expert.)
I'll try and add support, but I'm not exactly sure what all is needed. My guess is:

fv3.j needs much of the same machinery for calculating nodes, etc. (this includes the fact that it has AGCM.rc internal to it
fv3.j needs the same FLAP options to enable this
???

My main question for @bena-nasa and @weiyuan-jiang are: is there anything else? I think StandAlone_FV3_Dycore.F90 has all it needs to process those options, but I want to be sure.
Or, perhaps, should we try and make StandAlone FV3 a showcase/test for using fArgParse (@tclune)? I suppose before doing that, it'd probably be a good idea to make sure we have a FLAP version as a comparator.

Yes - the old O-server mechanism is now defunct.
I can't think of anything special that would happen at coarser resolution.   Could you post some higher-res performance numbers for comparison and maybe the HISTORY.rc file so that we can look at the frequency and total size of output and such?

Actually, in rebuilding GEOS to test my first shot at adding new ioserver, I'm noticing that discover is sloooooooow in general. As in GEOS/CMake decided that my changing two scripts that don't touch anything required a full rebuild...and it's been installing the .mods now for about 5 minutes...

As for the HISTORY, it would be:
VERSION: 1
EXPID:  c240_L72_T2_12x72_1threads
EXPDSC: c240_L72_T2_12x72_1threads

COLLECTIONS:  'inst3_3d_diag'
              'inst1_2d_diag'
              ::

GRID_LABELS: PC960x481-DC
::

PC960x481-DC.GRID_TYPE: LatLon
PC960x481-DC.IM_WORLD: 960
PC960x481-DC.JM_WORLD: 481
PC960x481-DC.POLE: PC
PC960x481-DC.DATELINE: DC
PC960x481-DC.LM: 72

  inst1_2d_diag.format:    'CFIO',
  inst1_2d_diag.template:  '%y4%m2%d2_%h2%n2z.nc4',
  inst1_2d_diag.mode:      'instantaneous',
  inst1_2d_diag.grid_label: PC960x481-DC,
  inst1_2d_diag.frequency:  010000,
  inst1_2d_diag.duration:   010000,
  inst1_2d_diag.fields:     'PS'       , 'DYN'           ,
                            'PHIS'     , 'DYN'           ,
                            'DXC'      , 'DYN'           ,
                            'DYC'      , 'DYN'           ,
                            'AREA'     , 'DYN'           ,
                            ::

  inst3_3d_diag.format:    'CFIO',
  inst3_3d_diag.template:  '%y4%m2%d2_%h2%n2z.nc4',
  inst3_3d_diag.mode:      'instantaneous',
  inst3_3d_diag.frequency:  030000,
  inst3_3d_diag.duration:   030000,
  inst3_3d_diag.vscale:     100.0,
  inst3_3d_diag.vunit:      'hPa',
  inst3_3d_diag.vvars:      'log(PLE)' , 'DYN'          ,
  inst3_3d_diag.levels:      1000 975 950 925 900 875 850 825 800 775 750 725 700 650 600 550 500 450 400 350 300 250 200 150 100,
  inst3_3d_diag.grid_label: PC960x481-DC,
  inst3_3d_diag.fields:     'PS'       , 'DYN'           ,
                            'PHIS'     , 'DYN'           ,
                            'U'        , 'DYN'           ,
                            'V'        , 'DYN'           ,
                            'T'        , 'DYN'           ,
                            'AREA'     , 'DYN'           ,
                            ::

Ack. STILL installing the .mod files in install-Release. I might send a note to NCCS and ask about this...

Okay. So from timestamps it looks like it took CMake 13 minutes to install the .mod files:
drwxr-xr-x mathomp4 g0620   8 KB Tue Sep  8 09:10:22 2020  MAPL_cfio_r4/
drwxr-xr-x mathomp4 g0620   8 KB Tue Sep  8 09:10:22 2020  MAPL_cfio_r8/
...
drwxr-xr-x mathomp4 g0620 512 B  Tue Sep  8 09:23:28 2020  UMD_utils/
drwxr-xr-x mathomp4 g0620 512 B  Tue Sep  8 09:23:40 2020  sosie-2.6.4/

I've sent an email to NCCS about this.

that must have been a dsicover hiccup, seems to be running fine for me. At c180 history was aboug 5% of the time.

Okay. I'm re-running now!

Indeed discover seems better now.
That said, there must be some watershed between C180 and C240. Even with "good" discover, I'm getting History as 63% of the run without IOSERVER. But with it? Yay!
No IOSERVER:
                                                            Inclusive        Exclusive
                                                         ================ ================
Name                                               #-cyc  T (sec)    %     T (sec)    %
                                                   ----- --------- ------ --------- ------
--Run                                                  1   106.849  97.25     0.575   0.52
----EXTDATA                                          192     0.004   0.00     0.004   0.00
----DYN                                              384    37.025  33.70    37.025  33.70
----HIST                                             192    69.245  63.03    69.245  63.03

Two IOSERVER nodes:
                                                            Inclusive        Exclusive
                                                         ================ ================
Name                                               #-cyc  T (sec)    %     T (sec)    %
                                                   ----- --------- ------ --------- ------
--Run                                                  1    37.760  93.35     0.520   1.29
----EXTDATA                                          192     0.011   0.03     0.011   0.03
----DYN                                              384    36.915  91.26    36.915  91.26
----HIST                                             192     0.315   0.78     0.315   0.78

Yes, something seems to happen as you start to scale this, history seems to be scaling very badly.
 When running the full model the o-server is turned on by default at c180

My only thought is that this is the same issue faced by the old o-server.      But it should not be so pronounced.   Corresponding data with variant MPIs (and compilers) would be useful before we do too much internal analysis.

Despite NCCS saying there isn't anything happening, there must be disk issues. I just tried c240 with and without IOserver and they are both stupid:
without:
--Run                                                  1   378.164  98.49     0.627   0.16
----EXTDATA                                          192     0.031   0.01     0.031   0.01
----DYN                                              384    37.753   9.83    37.753   9.83
----HIST                                             192   339.754  88.48   339.754  88.48

with:
--Run                                                  1   277.997  99.04     0.581   0.21
----EXTDATA                                          192     0.004   0.00     0.004   0.00
----DYN                                              384    36.559  13.02    36.559  13.02
----HIST                                             192   240.853  85.81   240.853  85.81


DiegoFernandes.jsdesign version 1.0.2

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

It appears you added the Moniker field twice 3 updates 2 suggested changes), i guess you clicked commit changes twice? O.o


"The server returned an invalid or unrecognized response" when connecting to an on-prem TFS application tier behind a load balancer (HAProxy)

Agent version and platform
2.112.0 +

Windows

VSTS type and version
On-Prem TFS

2017 Update 1

What's not working?
We have 2 TFS Application Tier servers sitting behind HAProxy in a round-robin configuration. Testing of all  other functionality/integrations through the proxy has not thrown up any issues so far. When pointing a VSTS Agent to the application tier through the proxy, the agent will generate the following error after starting:
C:\Agent\Test2>run.cmd
Scanning for tool capabilities.
Connecting to the server.
2017-05-01 19:19:17Z: Listening for Jobs
2017-05-01 19:20:03Z: Agent connect error: An error occurred while sending the request.. Retrying every 15 seconds until reconnected.

Agent and Worker's diag log
You can see below the NTML challenge/response succeeds (HAProxy has in-built support for this to route the relevant requests to the same server), but after the "session is created" and the agent starts "Listening for Jobs" the following error occurs:
System.Net.Http.WinHttpException: The server returned an invalid or unrecognized response
It looks like the agent is maintaining a session (based on the the sessionId in the query string of the request that fails)? This request could potentially be routed through a different application tier node from where the session was created, which seems is not possible? Is there any workaround to this (other than putting some HAProxy configuration place to ensure a sticky session for the agent with the same server)?

[2017-05-01 19:19:17Z INFO Terminal] WRITE LINE: Connecting to the server.
[2017-05-01 19:19:17Z INFO MessageListener] Attempt to create session.
[2017-05-01 19:19:17Z INFO MessageListener] Connecting to the Agent Server...
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Request event:
{ Request = Method: GET, RequestUri: 'http://XXXX:8080/tfs/_apis/connectionData?connectOptions=1&lastChangeId=-1&lastChangeId64=-1', Version: 1.1, Content: <null>, Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Response event:
{ Response = StatusCode: 401, ReasonPhrase: 'Unauthorized', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: XXXX }
[2017-05-01 19:19:17Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\Agent\Test2\.credentials_rsaparams
[2017-05-01 19:19:17Z INFO RSAEncryptedFileKeyManager] Loading RSA key parameters from file C:\Agent\Test2\.credentials_rsaparams
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Request event:
{ Request = Method: POST, RequestUri: 'http://XXXX/tfs/_apis/oauth2/token', Version: 1.1, Content: System.Net.Http.FormUrlEncodedContent, Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Response event:
{ Response = StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Request event:
{ Request = Method: GET, RequestUri: 'http://XXXX:8080/tfs/_apis/connectionData?connectOptions=1&lastChangeId=-1&lastChangeId64=-1', Version: 1.1, Content: <null>, Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Response event:
{ Response = StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Request event:
{ Request = Method: POST, RequestUri: 'http://XXXX:8080/tfs/_apis/distributedtask/pools/2/sessions', Version: 1.1, Content: System.Net.Http.ObjectContent`1[Microsoft.TeamFoundation.DistributedTask.WebApi.TaskAgentSession], Headers: XXXX }
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Response event:
{ Response = StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: XXXX }

///---->  Logging of interest ..

[2017-05-01 19:19:17Z INFO MessageListener] Session created.
[2017-05-01 19:19:17Z INFO Terminal] WRITE LINE: 2017-05-01 19:19:17Z: Listening for Jobs
[2017-05-01 19:19:17Z INFO HttpTrace] Trace System.Net.Http.Request event:
{ Request = Method: GET, RequestUri: 'http://XXXX:8080/tfs/_apis/distributedtask/pools/2/messages?sessionId=0465211c-3f0b-4e94-8746-c403238fcf82', Version: 1.1, Content: <null>, Headers: XXXX }
[2017-05-01 19:20:02Z ERR  MessageListener] Catch exception during get next message.
[2017-05-01 19:20:03Z ERR  MessageListener] System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: The server returned an invalid or unrecognized response

<-----///

at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.WinHttpHandler.<StartRequest>d__105.MoveNext()
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.Services.Common.VssHttpRetryMessageHandler.<SendAsync>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Net.Http.HttpClient.<FinishSendAsync>d__58.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__46.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__43`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__27`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__26`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.Agent.Listener.MessageListener.<GetNextMessageAsync>d__13.MoveNext()
[2017-05-01 19:20:03Z INFO MessageListener] Retriable exception: An error occurred while sending the request.
[2017-05-01 19:20:03Z ERR  Terminal] WRITE ERROR: 2017-05-01 19:20:03Z: Agent connect error: An error occurred while sending the request.. Retrying every 15 seconds until reconnected.
[2017-05-01 19:20:03Z INFO MessageListener] Sleeping for 15 seconds before retrying.

@ppejovic the session id is stored in DB, so different ATs shouldn't affect it.
Do you config the build agent talk thought the proxy using .proxy file? can you get a Fiddler trace see what returned from your server cause agent think the response is invalid?

Thanks for the follow-up @TingluoHuang. Here's the fiddler trace, it doesn't give away much. The response consistently comes back 45s after the following request is made:
GET /tfs/_apis/distributedtask/pools/2/messages?sessionId=9306bb0f-1401-4570-98af-740b3d61dc58 HTTP/1.1
I am beginning to wonder if this is a timeout at the HAProxy level. I am investigating this line also.
HTTP/1.1 504 Fiddler - Receive Failure
Date: Tue, 02 May 2017 17:06:59 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Cache-Control: no-cache, must-revalidate
Timestamp: 10:06:59.666

[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 0 bytes.

@ppejovic  GET /tfs/_apis/distributedtask/pools/2/messages?sessionId=9306bb0f-1401-4570-98af-740b3d61dc58 HTTP/1.1 is a long pull request, it should finish every 50s.
i think your direction should be right since it got terminated every 45s.

Yes, this is tied to our HAProxy config:
        timeout client 45s
        timeout server 45s

I am thinking of configuring a 1 minute for the relevant timeout(s). Are you aware of any other long-polling requests hitting the TFS Application Tier that could expect a response longer than this?

i don't there is any other long poll from build agent side, but more sure other what other software does. :)
glad you figure it out.


[WIP]refactor: use cobra to implement the dfget client

Signed-off-by: fengzixu<EMAIL_ADDRESS>Related to: https://github.com/dragonflyoss/Dragonfly/issues/249

Ⅰ. Describe what this PR did
Using cobra to implement the dfget client
Ⅱ. Does this pull request fix one issue?

https://github.com/dragonflyoss/Dragonfly/issues/249
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
I will add ut before the sign "WIP" was removed.
Ⅳ. Describe how to verify it
I run three command:

./dfget -u 'https://raw.githubusercontent.com/dragonflyoss/Dragonfly/master/docs/images/logo/dragonfly-linear.png'     Downloading files successfully.
./dfget version Showing the version of dfget.
./dfget  Showing the message about help.

Ⅴ. Special notes for reviews
There are two problems I want to discuss with developers in the community:

When I use cobra to implement the dfget client in cmd/dfget, should I remove the /dfget/cli ? Or import /dfget/cli in cmd/dfget/root.go and use the format cli.xxx to use the function about dfget client.
Whether existing approaches which implemented the dfget client in this PR is OK ? If it is accessible, I will add ut for it and delete useless code in /dfget/cli

This PR perhaps delete some existed codes about dfget client. So, I submit a part of logic about modification. Please give me a few suggestions. I will find a good approach to refactor dfget client together you.

@Starnop Request review. Please check  Special notes for reviews

There are two problems I want to discuss with developers in the community:

When I use cobra to implement the dfget client in cmd/dfget, should I remove the /dfget/cli ? Or import /dfget/cli in cmd/dfget/root.go and use the format cli.xxx to use the function about dfget client.
Whether existing approaches which implemented the dfget client in this PR is OK ? If it is accessible, I will add ut for it and delete useless code in /dfget/cli
In my opinion, one file is enough, maybe /dfget/cli  is not necessary we completely refactor. WDYT?

For the help command, I think that we don't need to add extra help information about dfget at now. The default help command has already satisfied our requirements. In the near feature, If we want to expand it, we can add it at that time. @Starnop

LGTM.

Can we move forward this PR ? @Starnop @lowzj

LGTM


Nick: Watch saigontechnology.com

Nick requests the watch of the watch_keyword saigontechnology\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

saigontechnology\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by cocomac in Charcoal HQ


App install fails after almost randomly

Hello,
I recently formatted my computer re-installed all the android tools and then the trouble began. All the release versions of the same (flutter) project started not installing on real devices. Sometimes the tablets would say package is corrupts and other times app not installed because another app with the same applicationID was found.
Now what it has come to is that I need to uninstall the current app build from the tablets restart the tablet and then only a release version will install on real devices. I have no such issues like this on the Android Emulator.
Flutter Doc

√] Flutter (Channel stable, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.18908.1000], locale en-US)
• Flutter version 1.5.4-hotfix.2 at D:\flutter
• Framework revision 7a4c33425d (6 weeks ago), 2019-04-29 11:05:24 -0700
• Engine revision 52c7a1e849
• Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
[√] Android toolchain - develop for Android devices (Android SDK version 1129.0.0)
• Android SDK at C:\Users\Mayank\AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 1129.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[!] Android Studio (version 3.4)
• Android Studio at C:\Program Files\Android\Android Studio
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[√] VS Code (version 1.35.0)
• VS Code at C:\Users\Mayank\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.1.0
[√] Connected device (1 available)
• Lenovo TB 7304I • HKL49UGS • android-arm64 • Android 7.0 (API 24)
! Doctor found issues in 1 category.
/android/app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
compileSdkVersion 28
lintOptions {
    disable 'InvalidPackage'
}

defaultConfig {
    // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
    multiDexEnabled true
    applicationId "com.greensoft.sfa"
    minSdkVersion 24
    targetSdkVersion 28
    versionCode 2428
    versionName "2.4.28"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

signingConfigs {
release {
    keyAlias keystoreProperties['keyAlias']
    keyPassword keystoreProperties['keyPassword']
    storeFile file(keystoreProperties['storeFile'])
    storePassword keystoreProperties['storePassword']
}

}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
implementation 'com.android.support:multidex:1.0.3'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-firestore:17.1.5'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion "27.1.1"
}
}
}
}
apply plugin: 'com.google.gms.google-services'
Please help

I forgot to mention, 9/10 the app will install using ADB but not when the app is being run from the tablet's memory.

I found https://stackoverflow.com/questions/11891848/install-failed-update-incompatible-when-i-try-to-install-compiled-apk-on-device on the internet, but I don't have any particular insight into why this might happening.
Is it only on this particular tablet?


Remove version: Jackett.Jackett version 0.21.1981

404 - release deleted
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1981/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)

URL: https://github.com/Jackett/Jackett/releases/download/v0.21.1981/Jackett.Installer.Windows.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 918)


Morning Session Final Code Review

Suggestions and Project highlights

Good job @AmaduKamara and @Debas-31 👏
Amazing implementation of the design and responsiveness.
Nice code structure and documentation 🔥

Suggestions

Check alignment of the comments buttons on smaller screens.

Thank you so much, bro. We'll fix all your suggestions. You guys have been very helpful in your reviews. Thanks once again for making our app better.


How to arrange items ?

The example are arranging the views vertically only
How to arrange them as different layout ?
For example this image :

This is a question for upstream https://github.com/ocornut/imgui.

Feel free to reopen if you have more questions.


Fixed wrong JWT token structure with expiration property

JWT structure typically uses exp instead of expiresAt.
This caused the isExpired() method to fail for invalid token formats. (e.g. Bearer 1234).
If you update the project with this change you also should assure to use the new version in
https://github.com/keycloak/keycloak-nodejs-connect
UPDATE
I think this all relates to https://github.com/keycloak/keycloak-nodejs-auth-utils/issues/15
This PR does not fix the cause ... just a quick-win but maybe it also makes sense.
Cheers
Orlando

Looks good to me. Thanks for the contribution @arconsis.
Ref: https://tools.ietf.org/html/rfc7519#section-4.1.4


Update New-SmbGlobalMapping.md

updated example 1 with line break
Fixes https://github.com/MicrosoftDocs/windows-powershell-docs/issues/3060

@JohanFreelancer9 Please copy review

@tiburd
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


When only-compiling, don't die if arguments are missing

We currently die if we notice the command-line is missing arguments for our essential/necessary kernel parameters. That shouldn't happen; only preprocessor definitions are (potentially) necessary for compilation.

Only missing scalars make us die, as buffers are always taken from some file, and the path has a default.


Walletless implementation

In order to provide a better and smoother user experience for web2 users, Walletless implementation would be great on top of Aptos Connect and web3 wallet login.
Refer to Merkle Trade implementation: https://medium.com/@MerkleTrade/merkle-goes-walletless-06a44e9ffa07
However, actually even that still requires reload from some other web3 wallet or purchase through Moonpay. Other better implementation suggestion is welcomed.

This can be implemented with turnkey, we might need a backend or use Next server for the major logics.
I would love to implement this when ODHack11 begins.

Can I be assigned this please? Hi, please can I be assigned this please? I would love to be the given the opportunity to solve this issue please. I have experience in html, css, JavaScript, TypeScript and cairo.
I have gone through theTrade implementation link provided, and will continue going through it for better assimulation and understanding once I'm assigned.
Kindly assign me please, I'm available to work.

Hello, I’d love to work on this issue as I have strong experience with front-end development. Please assign this to me, and I’ll deliver an efficient and secure PR within 12-24 hours.

I would like to work on this issue

Is this issue still available?

I’d like to work on this.

Hello I'm Jeremiah a frontend developer in web3 I have contributed in previous OD Hacks i have made over 85+ contribution in past OD Hacks I intend in solving this issue with the following approach :
1: Walletless Account Abstraction I will use account abstraction to dynamically create and manage wallets for users.
I will generate smart contract wallets on Aptos that are deployed only when necessary, like during a transaction or interaction requiring a wallet. For users without wallets, I will leverage Web3Auth to create ephemeral wallets using social logins like Google or Twitter. I’ll configure relayers to handle transaction signing and gas fees invisibly, sparing users from dealing with blockchain intricacies.
2: Fiat Onramp Integration To avoid relying solely on external providers like Moonpay, I will integrate an in-app fiat-to-crypto service.
I’ll use APIs from providers like Ramp Network, Transak, or Stripe Crypto to allow users to top up their accounts directly through the app. To simplify the first interaction, I’ll set up relayers to pre-fund initial transactions for new users.
3: Temporary Wallets for Exploration I will create session-based, temporary wallets for users exploring the app:
These wallets will exist only for the duration of their session and will auto-expire if the user leaves. If users decide to stay, I will prompt them to claim full control of their wallet or migrate to a connected Web3 wallet.
4: Progressive Disclosure I will ensure Web2 users start with a familiar, Web2-like experience:
Users won’t see blockchain terms or wallet prompts unless absolutely necessary. As they engage more with the app, I will introduce them to blockchain benefits and guide them toward creating or connecting a Web3 wallet.

Steps to Implement
Frontend Changes
Walletless Onboarding: I will add a "Start Without Wallet" button to the login page alongside Aptos Connect options.
Social Logins: I will integrate Web3Auth for seamless social login-based wallet generation.
Dynamic Wallet Management: I’ll manage wallet creation and transactions using Aptos SDK and relayer APIs.
Relayer Service
I will set up a relayer to handle gas fees for new users.
Using tools like OpenZeppelin Defender or a custom-built service, I will monitor and sign transactions on behalf of walletless users.
Backend Adjustments
I will configure API endpoints to support walletless transactions and track temporary wallets.
I’ll integrate fiat-to-crypto APIs for seamless token top-ups.
Testing and Rollout
I will test all flows to ensure Web2 users can:
Interact with the app without wallets.
Purchase tokens easily and perform blockchain actions without interruptions.
Once verified, I’ll gradually roll out walletless onboarding and monitor user behavior to refine the flow.
How This Improves Merkle Trade
No Reloads: I will ensure users don’t need external wallets to reload funds. Everything will be handled in-app.
Seamless Onboarding: Wallets will be created and managed behind the scenes, making the blockchain layer invisible to Web2 users.
Flexibility: Users can switch to full Web3 wallets anytime without losing functionality.

we dont improve Merkle Trade. Just quoting them as example to see how they did it

The way I think MerkleTrade handles this is by createing a custodial wallet on behalf of the user following thier authentication into the system.
we might want to consider the security of saving these wallets, or straight use a web3/2 auth provider that supports aptos.
I can help do this, first, i would research to see if theres a service that can handle the authentication already then integrate them into the app, if not, I would implement our own system paying great attention to the security of the wallets

I think they implemented the Aptos Connect which directly creates a wallet for your google account.

I'd like to take this issue.

May I take this issue on?
I have prior experience i creating smart accounts and integrating to make the user on boarding seamless for web2 users ; especially integrated safe accounts and made transactions so i would like to work on this feature

I would really love to work on this issue

Could I try solving this?

@JoE11-y are you working on this?

Hi @huisq,
I just got back from the holidays and wanted to get some insights on the tasks.
The Aptos DApp boilerplate already includes Aptos Connect, which supports social login via Google, similar to Merkle Trade's walletless implementation. Are there any additional features from the walletless implementation you'd like to integrate?

if you tried out Merkle's walletless implemention and the generic Aptos Connect you'll see it's different. Merkle's allow users to top up the account directly. Whereas for the generic Aptos Connect you'll need to send crypto currency to the connected wallet address.


Handle malformed options in the switch method of ProductController

1. Why is this change necessary?
So that the app does not crash on a malformed value for the options request parameter.
2. What does this change do, exactly?
Handles a malformed options parameter by ignoring it.
3. Describe each step to reproduce the issue or behaviour.
As described in https://github.com/shopware/platform/issues/1631
4. Please link to the relevant issues (if any).
https://github.com/shopware/platform/issues/1631
5. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[x] I have written or adjusted the documentation according to my changes
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I'm afraid I can't sign the CLA in its current form, because it applies to all contributions to any open source GitHub project instead of being limited to Shopware projects.

1.1 "Contribution" means any intellectual creation (software and / or documentation), including any revisions or additions to existing works submitted by the Contributor to a project and in which the Contributor has the rights of use and exploitation under copyright law.

1.4 "Project" means any open source project on "GitHub".

This is not acceptable for me.
I'm making this contribution according to the terms of the license of this repository (the MIT License). Please feel free to use it on those terms (e.g. cherry pick and close this PR).

Hi @pawel-slowik! 🙂
The CLA is not as broad as you read it.
Shopware can't and won't make any agreement over third-party projects not under its ownership.
With that in mind, the CLA only applies to projects under the shopware namespace/user and is legally not able to mean anything else.
Just imagine us claiming code you contributed to someone else's project. It won't work, which is a good thing.
The plural form in the CLA was chosen to prevent you from signing the same CLA repeatedly for each shopware repository you want to contribute to.
We will not cherry-pick your commit because legally, it still would be yours and only available under the MIT, and that's one of the things the CLA was initially created for.
Back then, we wanted to change the license of Shopware from GPL to MIT and had to get permission from every person who committed code, ever.
To avoid this in the future, we created the CLA process.
I hope it's now a bit clearer why the CLA sounds so broad and the legal limitations. 😉

the CLA only applies to projects under the shopware namespace/user

I understand that this is the CLAs intent. Hovewer, this is only stated here in this comment thread and not in the text of the agreement. Actually the exact wording of the agreement explicitly contradicts this.

Just imagine us claiming code you contributed to someone else's project.

The absurdity of that situation is fully clear to me. That's why I won't accept an agreement that enforces it.

The plural form in the CLA was chosen to prevent you from signing the same CLA repeatedly for each shopware repository you want to contribute to.

The plural form is not the problem. The qualifier any open source project on GitHub is.

We will not cherry-pick your commit because legally, it still would be yours and only available under the MIT, and that's one of the things the CLA was initially created for.

Feel free to do whatever you want and are legally able to.
Ideally, I'd like the text of the CLA to be updated to reflect what you wrote above: that it only applies to Shopware owned repositories.
If that's not possible, then close the PR or whatever.

As a side note, please also take a look at this particular wording of the CLA:

Upon termination of this Agreement, Shopware shall delete or deactivate the Contributor from GitHub and shall no longer receive any Contribution from the Contributor.

Obviously, Shopware can't delete my private GitHub profile. But it could delete a company provided "work profile". This leads me to believe that the CLA is written with such a "work profile" in mind (or at least, some parts of it are). In which case, the explicitly stated any open source project criteria is understandable, because then it would apply to projects that I'm working on using the company provided profile. But that's not the case here.

I will talk to a few people and get back to you. ;)

Hey @pawel-slowik,
We've updated 1.4 and 5.2 in the CLA.
Thank you for pointing out the inconsistencies! :-)

Awesome,  thank you!

Hi @pawel-slowik,
the GitHub Bot is currently broken but I've imported this manually

Hi @pawel-slowik,
I forgot to add a refernce to this, but here is your commit. Thanks for your contribution


Make importing easier with "Copy Import Directive" menu item.

There is an outstanding request to support code completion of identifiers that are not yet imported into the current scope, but until / unless that happens it would be really convenient if there were a "Copy Import Directive" menu item (minimally on the file tab and in the Project view).
Similar to the way "Copy Path" works, it would compute the package: URI that should be used to import the selected file and put the text on the clipboard so that it could then be pasted into an editor.

IntelliJ IDEA 2019.1 + recent Dart SDK versions do support completion of identifiers that are not yet imported. So probably this request could be closed.


Performace benchmark FAILED

performance benchmarks fail for all pallets as their result is 0
HydraDX-node master $ ./scripts/check_performance.sh
HydraDX node - Simple Performance check
---------------------------------------

Prerequisites
Python version >= 3.8 ..... Python version 3.8 or higher required.
HydraDX-node master $ ./scripts/check_performance.sh
HydraDX node - Simple Performance check
---------------------------------------

Prerequisites
Python version >= 3.8 ..... OK (Python 3.8.7)
Toolchain ...... OK (nightly-2021-11-30-x86_64-unknown-linux-gnu (overridden by '/home/mrq/git/HydraDX-node/rust-toolchain'))
benchwizard >= 0.5.0 ..... OK (0.5.0)

Substrate Node Performance check ...
Compiling - this may take a while...
Running benchmarks - this may take a while...
Running 1/3 (pallet: transaction_multi_payment)
Results:

         Pallet          |   Time comparison (µs)    |  diff* (µs)   |   diff* (%)    |            |   Rerun
xyk                      |   660.00 (ref) vs 0.00    |     660.00    |     100.00     |   FAILED   |
exchange                 |   705.00 (ref) vs 0.00    |     705.00    |     100.00     |   FAILED   |
transaction_multi_payment|   183.00 (ref) vs 0.00    |     183.00    |     100.00     |   FAILED   |

Notes:
- in the diff fields you can see the difference between the reference benchmark time and the benchmark time of your machine
- if diff is positive for all three pallets, your machine covers the minimum requirements for running a HydraDX node
- if diff deviates by -10% or more for some of the pallets, your machine might not be suitable to run a node

also if you have python3.8 and python3 is linked to <3.8 it refuses to run

we wont be supporting snakenet solochain benchmarks anymore

related to https://github.com/galacticcouncil/HydraDX-docs/issues/124


Export to csv or xls  when an area is given not exporting area data for all range values

var chart = new Highcharts.Chart({
			   chart: {
				   renderTo: 'container',
		           zoomType: 'xy'
		      },
	        title: {
	            text: metricId
	        },

	        xAxis: {
	            type: 'datetime'
	        },

	        yAxis: {
	            title: {
	               align: 'high',
	                offset: 0,
	                text: '%',
	                rotation: 0,
	                y: 6
	            }
	        },

	        tooltip: {
	            crosshairs: true,
	            shared: true,
	            valueSuffix: '%'
	        },

	         legend: {
	            layout: 'horizontal',
	            align: 'left',
	            x: 50,
	            verticalAlign: 'top',
	            y: 20,
	            floating: true ,
	            itemStyle: {
	             "color": "#333333",
	             "cursor": "pointer",
	             "fontSize": "10px",
	             "fontWeight": "regular"
	            }
	        },
	        series: [{
	            name: 'CPU Utilization',
	            data: averages,
	            zIndex: 1,
	            marker: {
	                fillColor: 'white',
	                lineWidth: 2,
	                lineColor: Highcharts.getOptions().colors[0]
	            }
	        }, {
	            name: 'Band',
	            data: ranges,
	            type: 'arearange',
	            lineWidth: 0,
	            linkedTo: ':previous',
	            color: Highcharts.getOptions().colors[0],
	            fillOpacity: 0.3,
	            zIndex: 0
	        }]
	    });

Can you set up a live sample on jsFiddle? Your sample is not reproduceable because the averages and ranges variables are undefined.

Thanks for the quick response.
Here is a fiddle example ;
http://jsfiddle.net/aykutyararbas/d4c26mrf/
Please let me know if you can access or not .
Thanks,

Yes I see it. It applies to arearange series. The same probably applies to all series types with more than one data value, like bubbles, heat maps, ohlc and candlestick.


Entry not found in app

Does this occur consistently?  Yes
Repro steps:

Try to deploy a  TimerRequest function
Click on the deploy to function app

Action: azureFunctions.deploy
Error type: Error
Error Message: Entry not found in cache.
Version: 1.0.1
OS: win32
OS Release: 10.0.19041
Product: Visual Studio Code
Product Version: 1.51.1
Language: en

Call Stack
s.createError extension.js:16:58035
b.<anonymous> extension.js:393:42004
extension.js:393:36599extension.js:393:36599
extension.js:243:75486extension.js:243:75486
extension.js:243:73467extension.js:243:73467
extension.js:243:73087extension.js:243:73087
i.find extension.js:243:107619
extension.js:243:53535extension.js:243:53535
processTicksAndRejections task_queues.js:94:5

As a workaround you could try reloading your window or signing out and signing back in to your Azure Account using the command palette.
Unfortunately there's not much we can do in this extension, but this is being tracked upstream here: microsoft/vscode-azure-account#53


I would like to contribute

I solve LeetCode questions in C++. I want to contribute my solutions.
Is there anything I need to know before starting to contribute?

Well firstly, I'm glad you are contributing. Just look under the Python/Easy folder and see how the question is solved. Your solution should be in a similar pattern. Once again thanks for contributing and I'm looking forward to your contribution.


[RFE] Add ability to follow DO tasks on BIG-IQ

When using DO with BIG-IQ, it would be great to follow the DO onboarding tasks from the VS code.
Example of what the BIG-IQ shows:

I was thinking maybe under the new BIG-IQ section, having an Onboarding entry where user could see the tasks status and could handover on it to see the status.

Good idea!  Do we have any postman work flows or do I need to discover this through the UI?


Cannot load resource which has a C# script attached to it

Godot version:

8068d0217a5e74c25f83fe93fa6e077b8d0b3bf5
OS/device including version:

Linux
Issue description:

If you try to load a resource which has a C# script attached to it, the game will silently crash when played with no errors reported in the editor console.  This will happen in GDScript using load or preload, in C# using Load or Load<T>, or exporting a Resource variable and placing the resource into that slot via the editor.
Steps to reproduce:

Create a new resource
Attach a C# script to it which inherits 'Resource'
Try to load the resource in any way

NoCSRes.zip

CC @neikeq

Tried it again with 220f50e790223c7bc63fd3d2ca3327aa6dcc5d3c
Right now, it gives this error in the terminal:
ERROR: _load: No loader found for resource: res://
   At: core/io/resource_loader.cpp:192.

And in the Debugger/Errors tab:
E 0:00:00:0834   System.NullReferenceException: Object reference not set to an instance of an object
  <C Source>     :0
  <Stack Trace>  :0 @ ()
                 ResourceLoader.cs:36 @ Godot.Resource Godot.ResourceLoader.Load(System.String , System.String , Boolean )()
                 ResourceLoaderExtensions.cs:7 @ Godot.SpatialMaterial Godot.ResourceLoader.Load<Godot.SpatialMaterial >(System.String )()
                 TestNode.cs:9 @ void TestNode._Ready()()

Using the following code:
using Godot;
using System;

public class TestNode : Node
{
	public override void _Ready()
	{
		var res = ResourceLoader.Load<SpatialMaterial>("res://TestRes.tres");
		GD.Print(res);
	}
}

TestRes.tres has a C# script attached to it:
using Godot;
using System;

public class MyTestRes : SpatialMaterial
{
	[Export]
	public int MyInt { get; private set; }
	[Export]
	public string MyString { get; private set; }
}

Trying this exact same thing on any other resource without a C# script, there's no issue:
	public override void _Ready()
	{
		var res = ResourceLoader.Load<SpatialMaterial>("res://SomeMaterial.tres");
		GD.Print(res);
	}

Casting to SpatialMaterial or MyTestRes makes no difference for the resource with the C# script.  If the script is removed, it loads fine.

Can't reproduce the crash in 3.1 beta 6, it seems to load fine.


1.0

here goes nothing

Man this is so exciting

Amazing work!

Wonderful!

Hi mom

:-)

Congratulations everyone!

❤

Hurray!

Awesome!

Let's goooooooooooooo

REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
congrats

Congrats!! 🚀🎉👏

Amazing!!! Let's go! 🚀

Finally!!! 🥳🥳🥳

Awesome!

:sparkles: :heart: :crossed_fingers: :tada:

OMG YES ❤


Refactor proposal.

@matiduck @jmarlew @xHoody  see proposed adjustments.

@jmarlew the major changes are:

replacing of almost all exceptions with fallback action. This is something that I've highlighted to you earlier that try catch blocks were just to large. Also I don't think the flow of application should be controlled by exceptions.

public static void ErrorHandling(ErrorCode errorCode)
        {
            switch (errorCode)
            {
                case ErrorCode.RequiredOptionMissing:
                    logger.LogError("Could not execute command. Some required options were missing.");
                    break;
                default:
                    logger.LogError("Could not execute command due to some general error.");
                    break;
            }
            logger.LogInformation("Try `help --command <command>` to see more details.");
        }

Adjusting the usage of the library (once more - but I hope this would be the last time) to:

var services = new ServiceCollection();
            services.AddLogging(builder =>
            {
                builder.SetMinimumLevel(LogLevel.Debug);
                builder.AddConsole();
            });
            services.ConfigureCLFlow(config =>
            {
                config.Map<MoveCommand, MoveCommandHandler>()
                      .Map<HelpCommand, HelpCommandHandler>();

            });

            using( var provider = services.BuildServiceProvider())
            {
                logger = provider.GetRequiredService<ILogger<Program>>();

                return CLFlow.Create().UseServiceProvider(provider)
                                      .UseFallback(ErrorHandling)
                                      .Run(args);
            }

What it gives you is even grater flexibility.

the code is now not duplicated for the scenarios with and without DI.
you can map already existing instance of handler if you're not into DI.

var mapping = new Mapping().Map<Command1>(new MockCommand1Handler());

finally you don't have extension method on Provider - something that you mentioned during previous PRs. Instead you might just indicates that you want to use IServiceProvider:

CLFlow.Create().UseServiceProvider(provider)


whoami should display account_id

💡 Feature request
Overview and problem statement
The account_id is rather hard to find. It requires you look at the URL on dash.cloudflare.org.   At the same time, account_id is required to publish anything.
It would be nice if the whoami command displayed the account id in addition to the email.
Basic example
wrangler whoami
💁  👋  You are logged with the email<EMAIL_ADDRESS>Your account_id is 'b268fbd36acb17898f484b34d0d7'.

Additional related feature request:  If logged in via wrangler config, then account_id should be autofilled in wrangler.toml

@ashleygwilliams I'm thinking it would be ideal for wrangler config to request account_id as well so we can autopopulate wrangler.toml with this value and make https://github.com/cloudflare/wrangler/issues/607 less frequent.

@gabbifish, i believe that a single User (Global API key) can have more than one Account- so there's some logic to work out there, and we can only do this for users with a single account.

I think https://github.com/cloudflare/wrangler/issues/331 might be able to help with this, don't think it's an exact duplicate though. I think a good solution here is to have some sort of selector with wrangler init (kind of like npm check) that lets you select your account id from a list, and then your zone id from a list. Labelling this as needs design

Revisiting this: you can get a user's accounts from https://api.cloudflare.com/#accounts-list-accounts. We can print out all a user's accounts (names and ids) when they run wrangler whoami. I definitely think this could help reduce the friction caused by going back and forth between the dashboard and wrangler.

I like the approach of having this in wrangler whoami - it would make the command more useful for everybody, especially API token users


MSID: 100478 Version: 1 DOI: 10.1101/2<IP_ADDRESS>0702

MSID: 100478
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>0702
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=100478
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>0702

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/100478v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>0702
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/100478/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

We should be using the preprint v2. Moving the reviews over to that version.


feat(decide/match): Allow partial size match above ratio to eliminate nearly all false negatives

Summary
This feature solves the problem where the presence of a .nfo or subtitles prevent a cross-seed from happening. Essentially holding a multi gb torrent hostage due to a couple bytes. I ran this over 100 torrents and got an extra 150 matches ON TOP of the standard data-based risky. Essentially, this feature brings to false negatives to pretty much zero while adding ZERO false positives. It is exactly as safe as risky data-based matching.
For example, if you have a torrent with a single file ubuntu.iso and there exists a candidate with files ubuntu.iso, ubuntu.nfo, currently the match will fail and no cross-seeding happens. This feature allows the candidate to match with whatever files present as long as it's above the ratio the user specified e.g 0.99. This essentially solves #357 and #160 in a more general way as the type of file isn't the problem, just their size.
Implementation
Here is a commit with the implementation: https://github.com/cross-seed/cross-seed/commit/c9f95af
In the decide stage, the candidate file tree is compared for file size matches and is successful if the total matched size is above the ratio. If there is only a single file in the candidate, then it must be an exact size match. This is done as a last step when it would have otherwise reported file tree mismatch. I also implemented the reordering in #597 as it was necessary.
In the action stage, if it's a data based search we hardlink the files needed by matching file size. If either candidate or searchee has duplicate file sizes we save instead as we can't match the files correctly, though this should be rare. If it was a .torrent match, we just save immediately as we don't have the path to hardlink, maybe #572 allows it? I have an external script that fuzzy name search all the torrents and hardlinks that way but that may be out of scope for this project.
Now of course, however it gets to the client it will be stuck at 99.9% and the user would need to manually start the torrent to finish downloading the last few bytes. That could be implemented here but it feels wrong to have cross-seed initiate a download. This can be easily automated elsewhere.
This requires the risky match mode and minParitalMatch to be below 1. If the minPartialMatch is at 1, then the feature is disabled and works as normal. If it's below 1 then it will perform the new behavior. Since this matches multiple files, you could set it at 0.99999 to only get complete matches of torrents with multiple files in data based searching, which I believe wasn't done before. We may want to add a lower bound like 0.9 on minPartialMatch to reduce the chance of user error.

All PR's for non-major bugs should target the v6-unstable branch, just FYI.

As a note, #572 does permit what you are talking about (torrent-linking) - and potentially could be leveraged here to some extent.

For duplicate file sizes, we could check if there exists a single perfect name match. If the names match uniquely along with the file size match, then it should be safe to link.

Im not sure tbh, thats waiting  for mg to review, im at the gym gimme a few hours and ill let you know what to base off.

Considering the work-in-progress that linking currently is, and the behavior changes in v6, I think for the time being it might be best to just wait to address this.
After myself and @mmgoodnow have finalized the linking, I think we can look at this a bit more.

The duplicate file sizes solution I describe above works, but I currently only do it in the action stage so it's saved if it fails the test. This gives no issues with search but announce has given two false positives so far. I think https://github.com/cross-seed/cross-seed/issues/606#issuecomment-1984805861 should solve it. If not, we could do this check in the decide stage for just announce or even always since this would create very few false negatives.

Looking at my stats, it seems that this doubles your cross seeds over data based risky. So if you have 1,000 cross seeds currently, you would get 1,000 more from partially matching for a total of 2,000.
Once this gets implemented, I think the only thing missing is cross seeding a season when you only have the individual episodes. Which would be complicated to implement and probably not worth it.

Looking at my stats, it seems that this doubles your cross seeds over data based risky. So if you have 1,000 cross seeds currently, you would get 1,000 more from partially matching for a total of 2,000.
Once this gets implemented, I think the only thing missing is cross seeding a season when you only have the individual episodes. Which would be complicated to implement and probably not worth it.

I don't understand what you mean....are you saying that because there are nested (files in folders) files...that with data matching and it recursively going folder search first, then file, it would double your searches?
I have plans to eliminate the redundant searching already since linking in v6 will eliminate the need for recursive searching, but just haven't gotten a formal game plan on how to accomplish it most efficiently.
I'll be on Discord if you want to discuss some of these things and their implementations.

There are two ways this gives more matches:

By effectively ignoring .nfo, .srt and other small files. Previously, if the candidate has a .nfo while the searchee doesn't this would have reported a SIZE_MISMATCH since the .nfo size won't match with anything.
By matching searchees with multiple files as risky based matching was limited to single file searchees. So every FILE_TREE_MISMATCH you would get from #597 is now a match.

I haven't looked into how data matching works but I believe it creates a unique searchee for each file and folder? If so then order wouldn't matter.
I can discuss more a discord if this doesn't make sense. But only assessCandidateHelper and performAction were changed for this (including treating MATCH_FILES_PARTIAL as a match elsewhere in the codebase).

I've noticed FILE_TREE_MISMATCH stopping cross-seeding of torrents where the data is an actual match, but the file tree contained within a .torrent files mismatches.
If partial match mode covers these areas where the ordering of the file trees in the .torrent files is mostly correct, this seems like a much cleaner solution than simply killing FILE_TREE_MISMATCH like I did in my local copy https://github.com/Audionut/cross-seed/pull/1

I've noticed FILE_TREE_MISMATCH stopping cross-seeding of torrents where the data is an actual match, but the file tree contained within a .torrent files mismatches.

Partial match already covers this and more. The only FILE_TREE_MISMATCH that partial will report is:

Candidate size <= piece length (Usually for torrents less than <1MB like ebooks, recheck in qbit keeps torrents at 0%)
There are duplicate file sizes without an exact name match (We won't know what file to link, has a lot of false positives with .rar parts, never seen it miss a legitimate cross seed)

If partial match mode covers these areas where the ordering of the file trees in the .torrent files is mostly, but not entirely correct, this seems like a much cleaner solution than simply killing FILE_TREE_MISMATCH like I did in my local copy https://github.com/Audionut/cross-seed/pull/1

Neither risky or partial looks at the file tree. The naming of the files don't matter unless it case 2 I mentioned above in with partial.

@ShanaryS - I'm not trying to negate any of the upside here, merely curious.
In the case of mixed TV packs, for instance, would this potentially miss those due to the release group (let's say the pack group is called "MIXED" or "SCENE" or something) - is there any utility to adding a list of these type of pack groups to some whitelist?
I'm not sure it would be particularly useful, given the nature of packs and cross-seeding, but the thought merely occurred to me and I'm curious on your thoughts on the implications of such a scenario.

In the case of mixed TV packs, for instance, would this potentially miss those due to the release group

Yeah those would cause misses, but I don't think it would be a lot. If only a single episode is different in a 12 episode pack, then you would need fuzzy size to be at least 9%. I think it would only benefit with large 20+ episode seasons. Mixed packs are also mainly old shows or multi seasons. If it's a multi season pack, it also probably already gets check by dataDirs too.
There is no real downside to adding it aside from a few extra snatches, but I wouldn't expect any matches from partial. However it would be a good case for ensemble matching. Where individual episodes and seasons get combined to create a new searchee. I've been thinking about that but it's kinda tricky to implement.

I have some theories on how to implement it, it's just thoughts atm though. Might be worth a discussion when we decide to venture down that path.